<SEC-DOCUMENT>0001193125-21-054675.txt : 20210224
<SEC-HEADER>0001193125-21-054675.hdr.sgml : 20210224
<ACCEPTANCE-DATETIME>20210224162242
ACCESSION NUMBER:		0001193125-21-054675
CONFORMED SUBMISSION TYPE:	10-K
PUBLIC DOCUMENT COUNT:		112
CONFORMED PERIOD OF REPORT:	20201231
FILED AS OF DATE:		20210224
DATE AS OF CHANGE:		20210224

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			REPLIGEN CORP
		CENTRAL INDEX KEY:			0000730272
		STANDARD INDUSTRIAL CLASSIFICATION:	BIOLOGICAL PRODUCTS (NO DIAGNOSTIC SUBSTANCES) [2836]
		IRS NUMBER:				042729386
		STATE OF INCORPORATION:			DE
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		10-K
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	000-14656
		FILM NUMBER:		21673544

	BUSINESS ADDRESS:	
		STREET 1:		41 SEYON STREET
		STREET 2:		BUILDING 1, SUITE 100
		CITY:			WALTHAM
		STATE:			MA
		ZIP:			02453
		BUSINESS PHONE:		7814499560

	MAIL ADDRESS:	
		STREET 1:		41 SEYON STREET
		STREET 2:		BUILDING 1, SUITE 100
		CITY:			WALTHAM
		STATE:			MA
		ZIP:			02453
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-K
<SEQUENCE>1
<FILENAME>d105808d10k.htm
<DESCRIPTION>10-K
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8" ?>
<html xmlns:rgen="http://www.repligencorp.com/20201231" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:dei="http://xbrl.sec.gov/dei/2020-01-31" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:deprecated="http://www.xbrl.org/2009/arcrole/deprecated" xmlns:country="http://xbrl.sec.gov/country/2020-01-31" xmlns:currency="http://xbrl.sec.gov/currency/2020-01-31" xmlns:exch="http://xbrl.sec.gov/exch/2020-01-31" xmlns:naics="http://xbrl.sec.gov/naics/2017-01-31" xmlns:sic="http://xbrl.sec.gov/sic/2020-01-31" xmlns:stpr="http://xbrl.sec.gov/stpr/2018-01-31" xmlns:us-gaap="http://fasb.org/us-gaap/2020-01-31" xmlns:xl="http://www.xbrl.org/2003/XLink" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:srt="http://fasb.org/srt/2020-01-31" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2015-02-26" xmlns:xbrll="http://www.xbrl.org/2003/linkbase" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>10-K</title>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/>
</head>
<body style=""><div style='display: none'><ix:header><ix:hidden><ix:nonNumeric name="dei:AmendmentFlag" contextRef="P01_01_2020To12_31_2020">false</ix:nonNumeric><ix:nonNumeric name="dei:DocumentFiscalPeriodFocus" contextRef="P01_01_2020To12_31_2020">FY</ix:nonNumeric><ix:nonNumeric name="dei:EntityCentralIndexKey" contextRef="P01_01_2020To12_31_2020">0000730272</ix:nonNumeric><ix:nonNumeric name="dei:CurrentFiscalYearEndDate" contextRef="P01_01_2020To12_31_2020">--12-31</ix:nonNumeric><ix:nonNumeric name="dei:EntityAddressStateOrProvince" id="hidden18476304" contextRef="P01_01_2020To12_31_2020">MA</ix:nonNumeric><ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="hidden18476318" contextRef="P01_01_2020To12_31_2020_EquipmentMemberusgaapPropertyPlantAndEquipmentByTypeAxis_MinimumMembersrtRangeAxis">P3Y</ix:nonNumeric><ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="hidden18476319" contextRef="P01_01_2020To12_31_2020_FurnitureFixturesAndOfficeEquipmentMemberMemberusgaapPropertyPlantAndEquipmentByTypeAxis_MinimumMembersrtRangeAxis">P3Y</ix:nonNumeric><ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="hidden18476320" contextRef="P01_01_2020To12_31_2020_ComputerHardwareAndSoftwareMemberMemberusgaapPropertyPlantAndEquipmentByTypeAxis_MinimumMembersrtRangeAxis">P3Y</ix:nonNumeric><ix:footnote id="FN_66414" xml:lang="en-US">Represents the number of vested options as of December 31, 2020 plus the number of unvested options expected to vest as of December 31, 2020 based on the unvested outstanding options at December 31, 2020 adjusted for estimated forfeiture rates of 8% for awards granted to non-executive level employees and 3% for awards granted to executive level employees.</ix:footnote ><ix:footnote id="FN_66412" xml:lang="en-US">2020 revenue for filtration products includes revenue related to EMT from July 13, 2020, NMS from October 20, 2020 and ARTeSYN from December 3, 2020.</ix:footnote ><ix:footnote id="FN_66413" xml:lang="en-US">2019 revenue includes process analytics revenue related to C Technologies from June 1, 2019 through December 31, 2019.</ix:footnote ></ix:hidden><ix:references><link:schemaRef xlink:type="simple" xlink:href="rgen-20201231.xsd" /><link:linkbaseRef xlink:type="simple" xlink:href="rgen-20201231_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" /><link:linkbaseRef xlink:type="simple" xlink:href="rgen-20201231_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" /><link:linkbaseRef xlink:type="simple" xlink:href="rgen-20201231_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" /><link:linkbaseRef xlink:type="simple" xlink:href="rgen-20201231_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" /></ix:references><ix:resources><xbrli:context id="P01_01_2020To12_31_2020" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2019" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> </xbrli:entity> <xbrli:period> <xbrli:instant>2019-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2019To12_31_2019" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-01-01</xbrli:startDate> <xbrli:endDate>2019-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2018To12_31_2018" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> </xbrli:entity> <xbrli:period> <xbrli:startDate>2018-01-01</xbrli:startDate> <xbrli:endDate>2018-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_08_2020" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-08</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn07_19_2019" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> </xbrli:entity> <xbrli:period> <xbrli:instant>2019-07-19</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn05_03_2019" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> </xbrli:entity> <xbrli:period> <xbrli:instant>2019-05-03</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="P07_19_2019To07_19_2019" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-07-19</xbrli:startDate> <xbrli:endDate>2019-07-19</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P12_08_2020To12_08_2020" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-12-08</xbrli:startDate> <xbrli:endDate>2020-12-08</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P05_03_2019To05_03_2019" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-05-03</xbrli:startDate> <xbrli:endDate>2019-05-03</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P10_01_2020To12_31_2020" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-10-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2017To12_31_2017" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> </xbrli:entity> <xbrli:period> <xbrli:startDate>2017-01-01</xbrli:startDate> <xbrli:endDate>2017-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To03_31_2020" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P04_01_2020To06_30_2020" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-04-01</xbrli:startDate> <xbrli:endDate>2020-06-30</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P07_01_2020To09_30_2020" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-07-01</xbrli:startDate> <xbrli:endDate>2020-09-30</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2019To03_31_2019" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-01-01</xbrli:startDate> <xbrli:endDate>2019-03-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P04_01_2019To06_30_2019" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-04-01</xbrli:startDate> <xbrli:endDate>2019-06-30</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P07_01_2019To09_30_2019" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-07-01</xbrli:startDate> <xbrli:endDate>2019-09-30</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P10_01_2019To12_31_2019" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-10-01</xbrli:startDate> <xbrli:endDate>2019-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2018" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> </xbrli:entity> <xbrli:period> <xbrli:instant>2018-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn06_30_2020" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-06-30</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn02_19_2021" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> </xbrli:entity> <xbrli:period> <xbrli:instant>2021-02-19</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn03_27_2020" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-03-27</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2017" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> </xbrli:entity> <xbrli:period> <xbrli:instant>2017-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn09_30_2020" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-09-30</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn03_31_2020" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-03-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2019_NorthAmericaMembersrtStatementGeographicalAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis" >srt:NorthAmericaMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2019-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2019_EuropeMembersrtStatementGeographicalAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis" >srt:EuropeMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2019-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2019_APACMembersrtStatementGeographicalAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis" >rgen:APACMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2019-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2019_ZeropointthreesevenfivepercentageconvertibleseniornotesduetwentytwentyfourmemberMemberusgaapDebtInstrumentAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis" >rgen:ZeropointthreesevenfivepercentageconvertibleseniornotesduetwentytwentyfourmemberMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2019-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2019_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2019-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2019_PatentsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:PatentsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2019-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2019_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2019-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2019_TrademarksMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:TrademarksMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2019-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2019_OtherIntangibleAssetsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:OtherIntangibleAssetsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2019-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2019_TrademarksMemberusgaapIndefiniteLivedIntangibleAssetsByMajorClassAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:TrademarksMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2019-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2019_OptionToPurchaseCommonStockMemberusgaapAwardTypeAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis" >rgen:OptionToPurchaseCommonStockMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2019-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2019_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis" >us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2019-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2019_AccumulatedOtherComprehensiveIncomeMemberusgaapStatementEquityComponentsAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis" >us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2019-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2019_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis" >rgen:ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2019-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2019_FairValueInputsLevel1MemberusgaapFairValueByFairValueHierarchyLevelAxis_MoneyMarketFundsMemberusgaapCashAndCashEquivalentsAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis" >us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis" >us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2019-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_NorthAmericaMembersrtStatementGeographicalAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis" >srt:NorthAmericaMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_EuropeMembersrtStatementGeographicalAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis" >srt:EuropeMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_APACMembersrtStatementGeographicalAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis" >rgen:APACMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:ArtesynBiosolutionsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:NonMetallicSolutionsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:CTechnologiesMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:EngineeredMoldingTechnologyLlcMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_StateAndLocalJurisdictionMemberusgaapIncomeTaxAuthorityAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis" >us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_FederalAndStateMemberusgaapIncomeTaxAuthorityAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis" >rgen:FederalAndStateMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_NonExecutiveMembersrtTitleOfIndividualAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis" >rgen:NonExecutiveMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_ExecutiveOfficerMembersrtTitleOfIndividualAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis" >srt:ExecutiveOfficerMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_EmployeeStockOptionMemberusgaapAwardTypeAxis_NonExecutiveMembersrtTitleOfIndividualAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis" >us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis" >rgen:NonExecutiveMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_EmployeeStockOptionMemberusgaapAwardTypeAxis_ExecutiveOfficerMembersrtTitleOfIndividualAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis" >us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis" >srt:ExecutiveOfficerMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_MinimumMembersrtRangeAxis_PrincipalOwnerMemberusgaapRelatedPartyTransactionsByRelatedPartyAxis_SpectrumIncMembersrtOwnershipAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:OwnershipAxis" >rgen:SpectrumIncMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="srt:RangeAxis" >srt:MinimumMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis" >us-gaap:PrincipalOwnerMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_ZeropointthreesevenfivepercentageconvertibleseniornotesduetwentytwentyfourmemberMemberusgaapDebtInstrumentAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis" >rgen:ZeropointthreesevenfivepercentageconvertibleseniornotesduetwentytwentyfourmemberMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis" >rgen:ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis" >rgen:TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_DomesticCountryMemberusgaapIncomeTaxAuthorityAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis" >us-gaap:DomesticCountryMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_DomesticCountryMemberusgaapIncomeTaxAuthorityAxis_TaxYear2040MemberusgaapTaxPeriodAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis" >us-gaap:DomesticCountryMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis" >rgen:TaxYear2040Member</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_StateAndLocalJurisdictionMemberusgaapIncomeTaxAuthorityAxis_TaxYear2040MemberusgaapTaxPeriodAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis" >us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis" >rgen:TaxYear2040Member</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_TrademarksMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:TrademarksMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_OtherIntangibleAssetsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:OtherIntangibleAssetsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_PatentsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:PatentsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_TrademarksMemberusgaapIndefiniteLivedIntangibleAssetsByMajorClassAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:TrademarksMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_OptionToPurchaseCommonStockMemberusgaapAwardTypeAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis" >rgen:OptionToPurchaseCommonStockMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis" >us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:CTechnologiesMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:CTechnologiesMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis_TrademarksAndTradeNamesMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:CTechnologiesMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis_NoncompeteAgreementsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:CTechnologiesMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:EngineeredMoldingTechnologyLlcMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:EngineeredMoldingTechnologyLlcMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis_TrademarksAndTradeNamesMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:EngineeredMoldingTechnologyLlcMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis_NoncompeteAgreementsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:EngineeredMoldingTechnologyLlcMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:NonMetallicSolutionsMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:NonMetallicSolutionsMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis_TrademarksAndTradeNamesMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:NonMetallicSolutionsMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_NoncompeteAgreementsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:NonMetallicSolutionsMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:ArtesynBiosolutionsMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:ArtesynBiosolutionsMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis_TrademarksAndTradeNamesMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:ArtesynBiosolutionsMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis_NoncompeteAgreementsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:ArtesynBiosolutionsMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_NonEmployeeDirectorStockOptionMemberusgaapAwardTypeAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis" >rgen:NonEmployeeDirectorStockOptionMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_StockOptionAndIncentivePlanMemberusgaapPlanNameAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis" >rgen:StockOptionAndIncentivePlanMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis_TradeNamesMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:EngineeredMoldingTechnologyLlcMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:TradeNamesMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis_TradeNamesMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:NonMetallicSolutionsMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:TradeNamesMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis_TradeNamesMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:TradeNamesMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:ArtesynBiosolutionsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_GoodwillMemberusgaapFairValueByAssetClassAxis_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:NonMetallicSolutionsMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis" >us-gaap:GoodwillMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis_GoodwillMemberusgaapFairValueByAssetClassAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:ArtesynBiosolutionsMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis" >us-gaap:GoodwillMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis_GoodwillMemberusgaapFairValueByAssetClassAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis" >us-gaap:GoodwillMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:EngineeredMoldingTechnologyLlcMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis_GoodwillMemberusgaapFairValueByAssetClassAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis" >us-gaap:GoodwillMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:CTechnologiesMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_AccumulatedOtherComprehensiveIncomeMemberusgaapStatementEquityComponentsAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis" >us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_FairValueInputsLevel1MemberusgaapFairValueByFairValueHierarchyLevelAxis_MoneyMarketFundsMemberusgaapCashAndCashEquivalentsAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis" >us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis" >us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_SellingGeneralAndAdministrativeExpensesMemberusgaapIncomeStatementLocationAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis" >us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_TrustForBenefitOfEmployeesMembersrtTitleOfIndividualAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis" >us-gaap:TrustForBenefitOfEmployeesMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_CTechnologiesMemberusgaapRelatedPartyTransactionsByRelatedPartyAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis" >rgen:CTechnologiesMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2018To12_31_2018_CTechnologiesMemberusgaapBusinessAcquisitionAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:CTechnologiesMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2018-01-01</xbrli:startDate> <xbrli:endDate>2018-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2018To12_31_2018_CostOfSalesMemberusgaapIncomeStatementLocationAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis" >us-gaap:CostOfSalesMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2018-01-01</xbrli:startDate> <xbrli:endDate>2018-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2018To12_31_2018_ResearchAndDevelopmentExpenseMemberusgaapIncomeStatementLocationAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis" >us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2018-01-01</xbrli:startDate> <xbrli:endDate>2018-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2018To12_31_2018_SellingGeneralAndAdministrativeExpensesMemberusgaapIncomeStatementLocationAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis" >us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2018-01-01</xbrli:startDate> <xbrli:endDate>2018-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2018To12_31_2018_MinimumMembersrtRangeAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:RangeAxis" >srt:MinimumMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2018-01-01</xbrli:startDate> <xbrli:endDate>2018-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2018To12_31_2018_MaximumMembersrtRangeAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:RangeAxis" >srt:MaximumMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2018-01-01</xbrli:startDate> <xbrli:endDate>2018-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2018To12_31_2018_ForeignPlanMemberusgaapRetirementPlanSponsorLocationAxis_PensionPlansDefinedBenefitMemberusgaapRetirementPlanTypeAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis" >us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis" >us-gaap:ForeignPlanMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2018-01-01</xbrli:startDate> <xbrli:endDate>2018-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2018To12_31_2018_DefinedContribution401KPlanMemberusgaapDeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis" >rgen:DefinedContribution401KPlanMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2018-01-01</xbrli:startDate> <xbrli:endDate>2018-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2018To12_31_2018_RetainedEarningsMemberusgaapStatementEquityComponentsAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis" >us-gaap:RetainedEarningsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2018-01-01</xbrli:startDate> <xbrli:endDate>2018-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2018To12_31_2018_CommonStockMemberusgaapStatementEquityComponentsAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis" >us-gaap:CommonStockMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2018-01-01</xbrli:startDate> <xbrli:endDate>2018-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2018To12_31_2018_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis" >us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2018-01-01</xbrli:startDate> <xbrli:endDate>2018-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2018To12_31_2018_ProductMembersrtProductOrServiceAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis" >us-gaap:ProductMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2018-01-01</xbrli:startDate> <xbrli:endDate>2018-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2018To12_31_2018_RoyaltyMembersrtProductOrServiceAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis" >us-gaap:RoyaltyMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2018-01-01</xbrli:startDate> <xbrli:endDate>2018-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2018To12_31_2018_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis" >us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2018-01-01</xbrli:startDate> <xbrli:endDate>2018-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2018To12_31_2018_MilliporeSigmaMembersrtMajorCustomersAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:MajorCustomersAxis" >rgen:MilliporeSigmaMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2018-01-01</xbrli:startDate> <xbrli:endDate>2018-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2018To12_31_2018_CytivaMembersrtMajorCustomersAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:MajorCustomersAxis" >rgen:CytivaMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2018-01-01</xbrli:startDate> <xbrli:endDate>2018-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2018To12_31_2018_FiltrationProductsMembersrtProductOrServiceAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis" >rgen:FiltrationProductsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2018-01-01</xbrli:startDate> <xbrli:endDate>2018-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2018To12_31_2018_ChromatographyProductsMembersrtProductOrServiceAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis" >rgen:ChromatographyProductsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2018-01-01</xbrli:startDate> <xbrli:endDate>2018-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2018To12_31_2018_ProteinsProductsMembersrtProductOrServiceAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis" >rgen:ProteinsProductsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2018-01-01</xbrli:startDate> <xbrli:endDate>2018-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2018To12_31_2018_OtherProductsMembersrtProductOrServiceAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis" >rgen:OtherProductsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2018-01-01</xbrli:startDate> <xbrli:endDate>2018-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2018To12_31_2018_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_NorthAmericaMembersrtStatementGeographicalAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis" >srt:NorthAmericaMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis" >rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis" >us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2018-01-01</xbrli:startDate> <xbrli:endDate>2018-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2018To12_31_2018_EuropeMembersrtStatementGeographicalAxis_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis" >srt:EuropeMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis" >rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis" >us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2018-01-01</xbrli:startDate> <xbrli:endDate>2018-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2018To12_31_2018_APACOtherMembersrtStatementGeographicalAxis_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis" >rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis" >us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis" >rgen:APACOtherMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2018-01-01</xbrli:startDate> <xbrli:endDate>2018-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2018To12_31_2018_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis" >rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis" >us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2018-01-01</xbrli:startDate> <xbrli:endDate>2018-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2019To12_31_2019_CustomerConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_MilliporeSigmaMembersrtMajorCustomersAxis_SalesRevenueNetMemberusgaapConcentrationRiskByBenchmarkAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis" >us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis" >us-gaap:SalesRevenueNetMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="srt:MajorCustomersAxis" >rgen:MilliporeSigmaMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-01-01</xbrli:startDate> <xbrli:endDate>2019-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2019To12_31_2019_CustomerConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_CytivaMembersrtMajorCustomersAxis_SalesRevenueNetMemberusgaapConcentrationRiskByBenchmarkAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis" >us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis" >us-gaap:SalesRevenueNetMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="srt:MajorCustomersAxis" >rgen:CytivaMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-01-01</xbrli:startDate> <xbrli:endDate>2019-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2019To12_31_2019_CTechnologiesMemberusgaapBusinessAcquisitionAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:CTechnologiesMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-01-01</xbrli:startDate> <xbrli:endDate>2019-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2019To12_31_2019_CostOfSalesMemberusgaapIncomeStatementLocationAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis" >us-gaap:CostOfSalesMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-01-01</xbrli:startDate> <xbrli:endDate>2019-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2019To12_31_2019_ResearchAndDevelopmentExpenseMemberusgaapIncomeStatementLocationAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis" >us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-01-01</xbrli:startDate> <xbrli:endDate>2019-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2019To12_31_2019_SellingGeneralAndAdministrativeExpensesMemberusgaapIncomeStatementLocationAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis" >us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-01-01</xbrli:startDate> <xbrli:endDate>2019-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2019To12_31_2019_MinimumMembersrtRangeAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:RangeAxis" >srt:MinimumMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-01-01</xbrli:startDate> <xbrli:endDate>2019-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2019To12_31_2019_MaximumMembersrtRangeAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:RangeAxis" >srt:MaximumMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-01-01</xbrli:startDate> <xbrli:endDate>2019-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2019To12_31_2019_ForeignPlanMemberusgaapRetirementPlanSponsorLocationAxis_PensionPlansDefinedBenefitMemberusgaapRetirementPlanTypeAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis" >us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis" >us-gaap:ForeignPlanMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-01-01</xbrli:startDate> <xbrli:endDate>2019-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2019To12_31_2019_DefinedContribution401KPlanMemberusgaapDeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis" >rgen:DefinedContribution401KPlanMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-01-01</xbrli:startDate> <xbrli:endDate>2019-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2019To12_31_2019_AccumulatedTranslationAdjustmentMemberusgaapStatementEquityComponentsAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis" >us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-01-01</xbrli:startDate> <xbrli:endDate>2019-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2019To12_31_2019_RetainedEarningsMemberusgaapStatementEquityComponentsAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis" >us-gaap:RetainedEarningsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-01-01</xbrli:startDate> <xbrli:endDate>2019-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2019To12_31_2019_CommonStockMemberusgaapStatementEquityComponentsAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis" >us-gaap:CommonStockMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-01-01</xbrli:startDate> <xbrli:endDate>2019-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2019To12_31_2019_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis" >us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-01-01</xbrli:startDate> <xbrli:endDate>2019-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2019To12_31_2019_ProductMembersrtProductOrServiceAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis" >us-gaap:ProductMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-01-01</xbrli:startDate> <xbrli:endDate>2019-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2019To12_31_2019_RoyaltyMembersrtProductOrServiceAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis" >us-gaap:RoyaltyMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-01-01</xbrli:startDate> <xbrli:endDate>2019-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2019To12_31_2019_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis" >us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-01-01</xbrli:startDate> <xbrli:endDate>2019-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2019To12_31_2019_CTechnologiesIncMemberusgaapBusinessAcquisitionAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:CTechnologiesIncMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-01-01</xbrli:startDate> <xbrli:endDate>2019-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2019To12_31_2019_MilliporeSigmaMembersrtMajorCustomersAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:MajorCustomersAxis" >rgen:MilliporeSigmaMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-01-01</xbrli:startDate> <xbrli:endDate>2019-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2019To12_31_2019_CytivaMembersrtMajorCustomersAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:MajorCustomersAxis" >rgen:CytivaMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-01-01</xbrli:startDate> <xbrli:endDate>2019-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2019To12_31_2019_NGLImpactAMembersrtProductOrServiceAxis_ResearchAndDevelopmentArrangementMemberusgaapLongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis" >rgen:NGLImpactAMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis" >us-gaap:ResearchAndDevelopmentArrangementMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-01-01</xbrli:startDate> <xbrli:endDate>2019-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2019To12_31_2019_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis" >rgen:ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-01-01</xbrli:startDate> <xbrli:endDate>2019-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2019To12_31_2019_FiltrationProductsMembersrtProductOrServiceAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis" >rgen:FiltrationProductsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-01-01</xbrli:startDate> <xbrli:endDate>2019-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2019To12_31_2019_ChromatographyProductsMembersrtProductOrServiceAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis" >rgen:ChromatographyProductsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-01-01</xbrli:startDate> <xbrli:endDate>2019-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2019To12_31_2019_ProcessAnalyticsProductsMembersrtProductOrServiceAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis" >rgen:ProcessAnalyticsProductsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-01-01</xbrli:startDate> <xbrli:endDate>2019-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2019To12_31_2019_ProteinsProductsMembersrtProductOrServiceAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis" >rgen:ProteinsProductsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-01-01</xbrli:startDate> <xbrli:endDate>2019-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2019To12_31_2019_OtherProductsMembersrtProductOrServiceAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis" >rgen:OtherProductsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-01-01</xbrli:startDate> <xbrli:endDate>2019-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2019To12_31_2019_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_NorthAmericaMembersrtStatementGeographicalAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis" >srt:NorthAmericaMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis" >rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis" >us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-01-01</xbrli:startDate> <xbrli:endDate>2019-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2019To12_31_2019_EuropeMembersrtStatementGeographicalAxis_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis" >srt:EuropeMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis" >rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis" >us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-01-01</xbrli:startDate> <xbrli:endDate>2019-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2019To12_31_2019_APACOtherMembersrtStatementGeographicalAxis_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis" >rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis" >us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis" >rgen:APACOtherMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-01-01</xbrli:startDate> <xbrli:endDate>2019-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2019To12_31_2019_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis" >rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis" >us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-01-01</xbrli:startDate> <xbrli:endDate>2019-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2019To12_31_2019_CTechnologiesMemberusgaapRelatedPartyTransactionsByRelatedPartyAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis" >rgen:CTechnologiesMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-01-01</xbrli:startDate> <xbrli:endDate>2019-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2019To12_31_2019_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis" >rgen:TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-01-01</xbrli:startDate> <xbrli:endDate>2019-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2019To12_31_2019_AccountsReceivableMemberusgaapConcentrationRiskByBenchmarkAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis" >us-gaap:AccountsReceivableMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-01-01</xbrli:startDate> <xbrli:endDate>2019-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2019To12_31_2019_AccountsReceivableMemberusgaapConcentrationRiskByBenchmarkAxis_CustomerConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_CytivaMembersrtMajorCustomersAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:MajorCustomersAxis" >rgen:CytivaMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis" >us-gaap:AccountsReceivableMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis" >us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-01-01</xbrli:startDate> <xbrli:endDate>2019-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2019To12_31_2019_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-01-01</xbrli:startDate> <xbrli:endDate>2019-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2019To12_31_2019_PatentsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:PatentsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-01-01</xbrli:startDate> <xbrli:endDate>2019-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2019To12_31_2019_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-01-01</xbrli:startDate> <xbrli:endDate>2019-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2019To12_31_2019_TrademarksMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:TrademarksMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-01-01</xbrli:startDate> <xbrli:endDate>2019-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2019To12_31_2019_OtherIntangibleAssetsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:OtherIntangibleAssetsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-01-01</xbrli:startDate> <xbrli:endDate>2019-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_CustomerConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_MilliporeSigmaMembersrtMajorCustomersAxis_SalesRevenueNetMemberusgaapConcentrationRiskByBenchmarkAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis" >us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis" >us-gaap:SalesRevenueNetMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="srt:MajorCustomersAxis" >rgen:MilliporeSigmaMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:ArtesynBiosolutionsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_CostOfSalesMemberusgaapIncomeStatementLocationAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis" >us-gaap:CostOfSalesMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_ResearchAndDevelopmentExpenseMemberusgaapIncomeStatementLocationAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis" >us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_SellingGeneralAndAdministrativeExpensesMemberusgaapIncomeStatementLocationAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis" >us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_MinimumMembersrtRangeAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:RangeAxis" >srt:MinimumMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_MaximumMembersrtRangeAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:RangeAxis" >srt:MaximumMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_ForeignPlanMemberusgaapRetirementPlanSponsorLocationAxis_PensionPlansDefinedBenefitMemberusgaapRetirementPlanTypeAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis" >us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis" >us-gaap:ForeignPlanMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_DefinedContribution401KPlanMemberusgaapDeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis" >rgen:DefinedContribution401KPlanMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_SpectrumIncMemberusgaapBusinessAcquisitionAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:SpectrumIncMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:CTechnologiesMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:NonMetallicSolutionsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_LatestTaxYearMemberusgaapTaxPeriodAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis" >us-gaap:LatestTaxYearMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis" >us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_AccumulatedTranslationAdjustmentMemberusgaapStatementEquityComponentsAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis" >us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_EmployeeStockOptionMemberusgaapAwardTypeAxis_MinimumMembersrtRangeAxis_ShareBasedCompensationAwardTrancheOneMemberusgaapVestingAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:RangeAxis" >srt:MinimumMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis" >us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:VestingAxis" >us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_EmployeeStockOptionMemberusgaapAwardTypeAxis_MaximumMembersrtRangeAxis_ShareBasedCompensationAwardTrancheTwoMemberusgaapVestingAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis" >us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="srt:RangeAxis" >srt:MaximumMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:VestingAxis" >us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_RetainedEarningsMemberusgaapStatementEquityComponentsAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis" >us-gaap:RetainedEarningsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:EngineeredMoldingTechnologyLlcMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_ProductMembersrtProductOrServiceAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis" >us-gaap:ProductMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_RoyaltyMembersrtProductOrServiceAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis" >us-gaap:RoyaltyMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_CommonStockMemberusgaapStatementEquityComponentsAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis" >us-gaap:CommonStockMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis" >us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis" >rgen:ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis" >rgen:ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis" >rgen:TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_PrincipalOwnerMemberusgaapRelatedPartyTransactionsByRelatedPartyAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis" >us-gaap:PrincipalOwnerMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_ArtesynBiosolutionsHoldingsIrelandLimitedMemberusgaapBusinessAcquisitionAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:ArtesynBiosolutionsHoldingsIrelandLimitedMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis" >rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_MilliporeSigmaMembersrtMajorCustomersAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:MajorCustomersAxis" >rgen:MilliporeSigmaMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_EarliestTaxYearMemberusgaapTaxPeriodAxis_USsrtStatementGeographicalAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis" >country:US</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis" >us-gaap:EarliestTaxYearMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_LatestTaxYearMemberusgaapTaxPeriodAxis_USsrtStatementGeographicalAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis" >country:US</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis" >us-gaap:LatestTaxYearMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_EarliestTaxYearMemberusgaapTaxPeriodAxis_SEsrtStatementGeographicalAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis" >country:SE</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis" >us-gaap:EarliestTaxYearMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_LatestTaxYearMemberusgaapTaxPeriodAxis_SEsrtStatementGeographicalAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis" >country:SE</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis" >us-gaap:LatestTaxYearMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_NGLImpactAMembersrtProductOrServiceAxis_ResearchAndDevelopmentArrangementMemberusgaapLongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis" >rgen:NGLImpactAMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis" >us-gaap:ResearchAndDevelopmentArrangementMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis_TradeNamesMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:TradeNamesMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:ArtesynBiosolutionsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:ArtesynBiosolutionsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:ArtesynBiosolutionsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis_NoncompeteAgreementsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:ArtesynBiosolutionsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis_TradeNamesMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:NonMetallicSolutionsMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:TradeNamesMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:EngineeredMoldingTechnologyLlcMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:NonMetallicSolutionsMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:NonMetallicSolutionsMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_NoncompeteAgreementsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:NonMetallicSolutionsMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:EngineeredMoldingTechnologyLlcMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis_TradeNamesMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:EngineeredMoldingTechnologyLlcMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:TradeNamesMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis_NoncompeteAgreementsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:EngineeredMoldingTechnologyLlcMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_EquipmentMemberusgaapPropertyPlantAndEquipmentByTypeAxis_MaximumMembersrtRangeAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis" >us-gaap:EquipmentMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="srt:RangeAxis" >srt:MaximumMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_FurnitureFixturesAndOfficeEquipmentMemberMemberusgaapPropertyPlantAndEquipmentByTypeAxis_MaximumMembersrtRangeAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis" >rgen:FurnitureFixturesAndOfficeEquipmentMemberMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="srt:RangeAxis" >srt:MaximumMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_ComputerHardwareAndSoftwareMemberMemberusgaapPropertyPlantAndEquipmentByTypeAxis_MaximumMembersrtRangeAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis" >rgen:ComputerHardwareAndSoftwareMemberMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="srt:RangeAxis" >srt:MaximumMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_EquipmentMemberusgaapPropertyPlantAndEquipmentByTypeAxis_MinimumMembersrtRangeAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis" >us-gaap:EquipmentMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="srt:RangeAxis" >srt:MinimumMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_FurnitureFixturesAndOfficeEquipmentMemberMemberusgaapPropertyPlantAndEquipmentByTypeAxis_MinimumMembersrtRangeAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis" >rgen:FurnitureFixturesAndOfficeEquipmentMemberMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="srt:RangeAxis" >srt:MinimumMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_ComputerHardwareAndSoftwareMemberMemberusgaapPropertyPlantAndEquipmentByTypeAxis_MinimumMembersrtRangeAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis" >rgen:ComputerHardwareAndSoftwareMemberMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="srt:RangeAxis" >srt:MinimumMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_BuildingMemberusgaapPropertyPlantAndEquipmentByTypeAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis" >us-gaap:BuildingMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_LeaseholdImprovementsMemberusgaapPropertyPlantAndEquipmentByTypeAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis" >us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_FiltrationProductsMembersrtProductOrServiceAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis" >rgen:FiltrationProductsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_ChromatographyProductsMembersrtProductOrServiceAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis" >rgen:ChromatographyProductsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_ProcessAnalyticsProductsMembersrtProductOrServiceAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis" >rgen:ProcessAnalyticsProductsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_ProteinsProductsMembersrtProductOrServiceAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis" >rgen:ProteinsProductsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_OtherProductsMembersrtProductOrServiceAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis" >rgen:OtherProductsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_NorthAmericaMembersrtStatementGeographicalAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis" >srt:NorthAmericaMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis" >rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis" >us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_EuropeMembersrtStatementGeographicalAxis_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis" >srt:EuropeMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis" >rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis" >us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_APACOtherMembersrtStatementGeographicalAxis_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis" >rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis" >us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis" >rgen:APACOtherMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis" >rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis" >us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_CTechnologiesMemberusgaapRelatedPartyTransactionsByRelatedPartyAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis" >rgen:CTechnologiesMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_AccountsReceivableMemberusgaapConcentrationRiskByBenchmarkAxis_CustomerConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_CytivaMembersrtMajorCustomersAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:MajorCustomersAxis" >rgen:CytivaMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis" >us-gaap:AccountsReceivableMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis" >us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_TrustForBenefitOfEmployeesMembersrtTitleOfIndividualAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis" >us-gaap:TrustForBenefitOfEmployeesMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis_TrustForBenefitOfEmployeesMembersrtTitleOfIndividualAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis" >us-gaap:TrustForBenefitOfEmployeesMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:CTechnologiesMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_TrademarksMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:TrademarksMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_OtherIntangibleAssetsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:OtherIntangibleAssetsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2020To12_31_2020_PatentsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis" >us-gaap:PatentsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-01-01</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2018_OptionToPurchaseCommonStockMemberusgaapAwardTypeAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis" >rgen:OptionToPurchaseCommonStockMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2018-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2018_StockOptionAndIncentivePlanMemberusgaapPlanNameAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis" >rgen:StockOptionAndIncentivePlanMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2018-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2018_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis" >us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2018-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2018_RetainedEarningsMemberusgaapStatementEquityComponentsAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis" >us-gaap:RetainedEarningsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2018-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2018_AccumulatedOtherComprehensiveIncomeMemberusgaapStatementEquityComponentsAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis" >us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2018-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn07_31_2019_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis" >rgen:ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2019-07-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2017To12_31_2017_CustomerConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_MilliporeSigmaMembersrtMajorCustomersAxis_SalesRevenueNetMemberusgaapConcentrationRiskByBenchmarkAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis" >us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis" >us-gaap:SalesRevenueNetMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="srt:MajorCustomersAxis" >rgen:MilliporeSigmaMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2017-01-01</xbrli:startDate> <xbrli:endDate>2017-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P01_01_2017To12_31_2017_CustomerConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_CytivaMembersrtMajorCustomersAxis_SalesRevenueNetMemberusgaapConcentrationRiskByBenchmarkAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis" >us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis" >us-gaap:SalesRevenueNetMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="srt:MajorCustomersAxis" >rgen:CytivaMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2017-01-01</xbrli:startDate> <xbrli:endDate>2017-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P10_27_2020To10_27_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:ArtesynBiosolutionsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-10-27</xbrli:startDate> <xbrli:endDate>2020-10-27</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn07_13_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:EngineeredMoldingTechnologyLlcMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-07-13</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="P05_31_2019To12_31_2019_CTechnologiesMemberusgaapBusinessAcquisitionAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis" >rgen:CTechnologiesMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-05-31</xbrli:startDate> <xbrli:endDate>2019-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn07_07_2020_MarlboroughMassachusettsMemberusgaapPropertySubjectToOrAvailableForOperatingLeaseAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:PropertySubjectToOrAvailableForOperatingLeaseAxis" >rgen:MarlboroughMassachusettsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-07-07</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="P07_07_2020To12_31_2020_MarlboroughMassachusettsMemberusgaapPropertySubjectToOrAvailableForOperatingLeaseAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:PropertySubjectToOrAvailableForOperatingLeaseAxis" >rgen:MarlboroughMassachusettsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-07-07</xbrli:startDate> <xbrli:endDate>2020-12-31</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn01_01_2018_AccountingStandardsUpdate201606MemberusgaapAdjustmentsForNewAccountingPronouncementsAxis_OtherAssetsMemberusgaapBalanceSheetLocationAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis" >us-gaap:OtherAssetsMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis" >us-gaap:AccountingStandardsUpdate201606Member</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2018-01-01</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn01_01_2018_AccountingStandardsUpdate201606MemberusgaapAdjustmentsForNewAccountingPronouncementsAxis_DeferredTaxLiablitiesMemberusgaapBalanceSheetLocationAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis" >rgen:DeferredTaxLiablitiesMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis" >us-gaap:AccountingStandardsUpdate201606Member</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2018-01-01</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn01_01_2018_AccountingStandardsUpdate201606MemberusgaapAdjustmentsForNewAccountingPronouncementsAxis_AccumulatedDeficitMemberusgaapBalanceSheetLocationAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis" >rgen:AccumulatedDeficitMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis" >us-gaap:AccountingStandardsUpdate201606Member</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2018-01-01</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="P12_08_2020To12_08_2020_CommonStockMemberusgaapStatementEquityComponentsAxis_UnderwriterMembersrtTitleOfIndividualAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis" >rgen:UnderwriterMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis" >us-gaap:CommonStockMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-12-08</xbrli:startDate> <xbrli:endDate>2020-12-08</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P07_19_2019To07_19_2019_CommonStockMemberusgaapStatementEquityComponentsAxis_UnderwriterMembersrtTitleOfIndividualAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis" >rgen:UnderwriterMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis" >us-gaap:CommonStockMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-07-19</xbrli:startDate> <xbrli:endDate>2019-07-19</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P07_19_2019To07_19_2019_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis" >rgen:ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-07-19</xbrli:startDate> <xbrli:endDate>2019-07-19</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P07_19_2019To07_19_2019_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis" >rgen:TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-07-19</xbrli:startDate> <xbrli:endDate>2019-07-19</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn07_19_2019_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis" >rgen:ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2019-07-19</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="P05_03_2019To05_03_2019_CommonStockMemberusgaapStatementEquityComponentsAxis_UnderwriterMembersrtTitleOfIndividualAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis" >rgen:UnderwriterMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis" >us-gaap:CommonStockMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-05-03</xbrli:startDate> <xbrli:endDate>2019-05-03</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn07_16_2019_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis" >rgen:TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2019-07-16</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="P07_22_2019To07_22_2019_CommonStockMemberusgaapStatementEquityComponentsAxis_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis" >rgen:TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis" >us-gaap:CommonStockMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-07-22</xbrli:startDate> <xbrli:endDate>2019-07-22</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P07_22_2019To07_22_2019_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis" >rgen:TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-07-22</xbrli:startDate> <xbrli:endDate>2019-07-22</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn07_22_2019_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis" >rgen:TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2019-07-22</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="P08_24_2019To09_23_2019_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis" >rgen:TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-08-24</xbrli:startDate> <xbrli:endDate>2019-09-23</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P08_24_2019To09_23_2019_CommonStockMemberusgaapStatementEquityComponentsAxis_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis" >rgen:TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMember</xbrldi:explicitMember> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis" >us-gaap:CommonStockMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2019-08-24</xbrli:startDate> <xbrli:endDate>2019-09-23</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn09_23_2019_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis" >rgen:TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2019-09-23</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2017_CommonStockMemberusgaapStatementEquityComponentsAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis" >us-gaap:CommonStockMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2017-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2017_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis" >us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2017-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2017_AccumulatedOtherComprehensiveIncomeMemberusgaapStatementEquityComponentsAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis" >us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2017-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2017_RetainedEarningsMemberusgaapStatementEquityComponentsAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis" >us-gaap:RetainedEarningsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2017-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2018_CommonStockMemberusgaapStatementEquityComponentsAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis" >us-gaap:CommonStockMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2018-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2018_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis" >us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2018-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2018_AccumulatedTranslationAdjustmentMemberusgaapStatementEquityComponentsAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis" >us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2018-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2019_AccumulatedTranslationAdjustmentMemberusgaapStatementEquityComponentsAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis" >us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2019-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2019_CommonStockMemberusgaapStatementEquityComponentsAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis" >us-gaap:CommonStockMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2019-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2019_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis" >us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2019-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2019_RetainedEarningsMemberusgaapStatementEquityComponentsAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis" >us-gaap:RetainedEarningsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2019-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_AccumulatedTranslationAdjustmentMemberusgaapStatementEquityComponentsAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis" >us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_CommonStockMemberusgaapStatementEquityComponentsAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis" >us-gaap:CommonStockMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis" >us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:context id="PAsOn12_31_2020_RetainedEarningsMemberusgaapStatementEquityComponentsAxis" > <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000730272</xbrli:identifier> <xbrli:segment> <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis" >us-gaap:RetainedEarningsMember</xbrldi:explicitMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:instant>2020-12-31</xbrli:instant> </xbrli:period> </xbrli:context><xbrli:unit id="Unit_USD" > <xbrli:measure>iso4217:USD</xbrli:measure> </xbrli:unit><xbrli:unit id="Unit_pure" > <xbrli:measure>xbrli:pure</xbrli:measure> </xbrli:unit><xbrli:unit id="Unit_shares" > <xbrli:measure>xbrli:shares</xbrli:measure> </xbrli:unit><xbrli:unit id="Unit_Year" > <xbrli:measure>utr:Year</xbrli:measure> </xbrli:unit><xbrli:unit id="Unit_l" > <xbrli:measure>utr:l</xbrli:measure> </xbrli:unit><xbrli:unit id="Unit_sqft" > <xbrli:measure>utr:sqft</xbrli:measure> </xbrli:unit><xbrli:unit id="Unit_USD_per_Share" > <xbrli:divide> <xbrli:unitNumerator> <xbrli:measure>iso4217:USD</xbrli:measure> </xbrli:unitNumerator> <xbrli:unitDenominator> <xbrli:measure>xbrli:shares</xbrli:measure> </xbrli:unitDenominator> </xbrli:divide> </xbrli:unit><xbrli:unit id="Unit_Day" > <xbrli:measure>utr:Day</xbrli:measure> </xbrli:unit><ix:relationship fromRefs="Fact_18475833" toRefs="FN_66414"/><ix:relationship fromRefs="Fact_18475834" toRefs="FN_66414"/><ix:relationship fromRefs="Fact_18475835" toRefs="FN_66414"/><ix:relationship fromRefs="Fact_18476001" toRefs="FN_66412"/><ix:relationship fromRefs="Fact_18476002" toRefs="FN_66413"/><ix:relationship fromRefs="Fact_18476004" toRefs="FN_66412"/><ix:relationship fromRefs="Fact_18476005" toRefs="FN_66413"/><ix:relationship fromRefs="Fact_18476007" toRefs="FN_66412"/><ix:relationship fromRefs="Fact_18476008" toRefs="FN_66413"/><ix:relationship fromRefs="Fact_18476009" toRefs="FN_66412"/><ix:relationship fromRefs="Fact_18476010" toRefs="FN_66413"/><ix:relationship fromRefs="Fact_18476012" toRefs="FN_66412"/><ix:relationship fromRefs="Fact_18476013" toRefs="FN_66413"/><ix:relationship fromRefs="Fact_18476015" toRefs="FN_66412"/><ix:relationship fromRefs="Fact_18476016" toRefs="FN_66413"/></ix:resources></ix:header></div><div> <div style="font-size: 13.28px; margin-top: 0pt; margin-bottom: 1.67em; line-height: 12pt;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="line-height: 1pt; margin-top: 0pt; margin-bottom: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="line-height: 3pt; margin-top: 0pt; margin-bottom: 2pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 17pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 17pt; letter-spacing: 0px; top: 0px;;display:inline;">UNITED STATES </div></div></div> <div style="text-align: center; font-family: ARIAL; font-size: 17pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 17pt; letter-spacing: 0px; top: 0px;;display:inline;">SECURITIES AND EXCHANGE COMMISSION </div></div></div> <div style="text-align: center; font-family: ARIAL; font-size: 11pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 11pt; letter-spacing: 0px; top: 0px;;display:inline;">Washington, D.C. 20549 </div></div></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center;"> <div style="margin: 0pt auto 2pt; width: 21%; text-align: center; line-height: 6pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </div> <div style="text-align: center; font-family: ARIAL; font-size: 17pt; margin-top: 4pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 17pt; letter-spacing: 0px; top: 0px;;display:inline;">FORM <ix:nonNumeric name="dei:DocumentType" contextRef="P01_01_2020To12_31_2020">10-K</ix:nonNumeric> </div></div></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center;"> <div style="margin: 0pt auto 2pt; width: 21%; text-align: center; line-height: 6pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </div> <div style="font-size: 18pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 18pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 11pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%; vertical-align: top;;text-align:left;"><div style="font-family: &quot;Times New Roman&quot;; letter-spacing: 0px; top: 0px;;display:inline;"><ix:nonNumeric name="dei:DocumentAnnualReport" contextRef="P01_01_2020To12_31_2020" format="ixt:booleantrue">&#9746;</ix:nonNumeric></div></td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 11pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 11pt; letter-spacing: 0px; top: 0px;;display:inline;">ANNUAL REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934 </div></div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="text-align: center; font-family: ARIAL; font-size: 9pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">For the fiscal year ended<div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div><ix:nonNumeric name="dei:DocumentPeriodEndDate" contextRef="P01_01_2020To12_31_2020" format="ixt:datemonthdayyearen">December 31, <ix:nonNumeric name="dei:DocumentFiscalYearFocus" contextRef="P01_01_2020To12_31_2020">2020</ix:nonNumeric></ix:nonNumeric> </div></div></div> <div style="text-align: center; font-family: ARIAL; font-size: 9pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">OR </div></div></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 11pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%; vertical-align: top;;text-align:left;"><div style="font-family: &quot;Times New Roman&quot;; letter-spacing: 0px; top: 0px;;display:inline;"><ix:nonNumeric name="dei:DocumentTransitionReport" contextRef="P01_01_2020To12_31_2020" format="ixt:booleanfalse">&#9744;</ix:nonNumeric></div></td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 11pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 11pt; letter-spacing: 0px; top: 0px;;display:inline;">TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934 </div></div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="text-align: center; font-family: ARIAL; font-size: 9pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">For the transition period from&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; to&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </div></div></div> <div style="text-align: center; font-family: ARIAL; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Commission File Number <ix:nonNumeric name="dei:EntityFileNumber" contextRef="P01_01_2020To12_31_2020">000-14656</ix:nonNumeric> </div></div></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center;"> <div style="margin: 0pt auto 2pt; width: 21%; text-align: center; line-height: 6pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </div> <div style="text-align: center; font-family: ARIAL; font-size: 24pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 24pt; letter-spacing: 0px; top: 0px;;display:inline;"><ix:nonNumeric name="dei:EntityRegistrantName" contextRef="P01_01_2020To12_31_2020">REPLIGEN CORP</ix:nonNumeric>ORATION </div></div></div> <div style="text-align: center; font-family: ARIAL; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">(Exact name of registrant as specified in its charter) </div></div></div> <div style="text-align: center;"> <div style="margin: 0pt auto 2pt; width: 21%; text-align: center; line-height: 6pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 8pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 50%;"></td>
<td style="width: 1%; vertical-align: bottom;"></td>
<td style="width: 48%;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 9pt; page-break-inside: avoid;">
<td style="vertical-align: top;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonNumeric name="dei:EntityIncorporationStateCountryCode" contextRef="P01_01_2020To12_31_2020" format="ixt-sec:stateprovnameen">Delaware</ix:nonNumeric></div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: top;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonNumeric name="dei:EntityTaxIdentificationNumber" contextRef="P01_01_2020To12_31_2020">04-2729386</ix:nonNumeric></div></div></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: top;;text-align:center;"> <div style="text-align: center; font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">(State or other jurisdiction of</div></div></div> <div style="text-align: center; font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 1pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">incorporation or organization)</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: top;;text-align:center;"> <div style="text-align: center; font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">(I.R.S. Employer</div></div></div> <div style="text-align: center; font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 1pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Identification No.)</div></div></div> </td> </tr>
<tr style="font-size: 1pt;">
<td style="height: 3pt; font-family: ARIAL;"></td>
<td colspan="2" style="height: 3pt; font-family: ARIAL;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 9pt; page-break-inside: avoid;">
<td style="vertical-align: top;;text-align:center;"> <div style="text-align: center; font-family: ARIAL; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;"><ix:nonNumeric name="dei:EntityAddressAddressLine1" contextRef="P01_01_2020To12_31_2020">41 Seyon Street, Bldg. 1, Suite 100</ix:nonNumeric></div></div></div> <div style="text-align: center; font-family: ARIAL; font-size: 9pt; margin-top: 0pt; margin-bottom: 1pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;"><ix:nonNumeric name="dei:EntityAddressCityOrTown" contextRef="P01_01_2020To12_31_2020">Waltham</ix:nonNumeric>,&#160;<span style="-sec-ix-hidden:hidden18476304">MA</span></div></div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonNumeric name="dei:EntityAddressPostalZipCode" contextRef="P01_01_2020To12_31_2020">02453</ix:nonNumeric></div></div></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: top;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Address of principal executive offices)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: top;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Zip Code)</div></div></td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="text-align: center; font-family: ARIAL; font-size: 9pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Registrant&#8217;s telephone number, including area code: (<ix:nonNumeric name="dei:CityAreaCode" contextRef="P01_01_2020To12_31_2020">781</ix:nonNumeric>)&#160;<ix:nonNumeric name="dei:LocalPhoneNumber" contextRef="P01_01_2020To12_31_2020">250-0111</ix:nonNumeric> </div></div></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center;"> <div style="margin: 0pt auto 2pt; width: 21%; text-align: center; line-height: 6pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </div> <div style="text-align: center; font-family: ARIAL; font-size: 9pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Securities registered pursuant to Section&#160;12(b) of the Act: </div></div></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 8pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 35%; font-family: ARIAL;"></td>
<td style="width: 2%; vertical-align: bottom; font-family: ARIAL;"></td>
<td style="width: 32%; font-family: ARIAL;"></td>
<td style="width: 1%; vertical-align: bottom; font-family: ARIAL;"></td>
<td style="width: 29%; font-family: ARIAL;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid; white-space: nowrap;;text-align:center;"> <div style="text-align: center; font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 1pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Title of each class</div></div></div> </td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"> <div style="text-align: center; font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Trading</div></div></div> <div style="text-align: center; font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 1pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Symbol(s)</div></div></div> </td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"> <div style="text-align: center; font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 1pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Name of each exchange<br/> on&#160;which registered</div></div></div> </td> </tr>
<tr style="font-family: ARIAL; font-size: 9pt; page-break-inside: avoid;">
<td style="vertical-align: top;;text-align:center;"><ix:nonNumeric name="dei:Security12bTitle" contextRef="P01_01_2020To12_31_2020">Common Stock</ix:nonNumeric>, par value $0.01 per share</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;;text-align:center;"><ix:nonNumeric name="dei:TradingSymbol" contextRef="P01_01_2020To12_31_2020">RGEN</ix:nonNumeric></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;;text-align:center;"><ix:nonNumeric name="dei:SecurityExchangeName" contextRef="P01_01_2020To12_31_2020" format="ixt-sec:exchnameen">The Nasdaq Global Select Market</ix:nonNumeric></td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="text-align: center; font-family: ARIAL; font-size: 9pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Securities registered pursuant to Section&#160;12(g) of the Act: None </div></div></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center;"> <div style="margin: 0pt auto 2pt; width: 21%; text-align: center; line-height: 6pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </div> <div style="text-indent: 4%; font-family: ARIAL; font-size: 8pt; margin-top: 6pt; margin-bottom: 0pt;">Indicate by check mark if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act.&#160;<ix:nonNumeric name="dei:EntityWellKnownSeasonedIssuer" contextRef="P01_01_2020To12_31_2020">Yes</ix:nonNumeric>&#160;&#160;<div style="font-family: &quot;Times New Roman&quot;; letter-spacing: 0px; top: 0px;;display:inline;">&#9746;</div>&#160;&#160;&#160;&#160;No&#160;&#160;<div style="font-family: &quot;Times New Roman&quot;; letter-spacing: 0px; top: 0px;;display:inline;">&#9744;</div>. </div> <div style="text-indent: 4%; font-family: ARIAL; font-size: 8pt; margin-top: 6pt; margin-bottom: 0pt;">Indicate by check mark if the registrant is not required to file reports pursuant to Section&#160;13 or Section&#160;15(d) of the Act.&#160;Yes&#160;&#160;<div style="font-family: &quot;Times New Roman&quot;; letter-spacing: 0px; top: 0px;;display:inline;">&#9744;</div>&#160;&#160;<div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div>&#160;<ix:nonNumeric name="dei:EntityVoluntaryFilers" contextRef="P01_01_2020To12_31_2020">No</ix:nonNumeric>&#160;&#160;<div style="font-family: &quot;Times New Roman&quot;; letter-spacing: 0px; top: 0px;;display:inline;">&#9746;</div>. </div> <div style="text-indent: 4%; font-family: ARIAL; font-size: 8pt; margin-top: 6pt; margin-bottom: 0pt;">Indicate by checkmark whether the registrant (1)&#160;has filed all reports required to be filed by Section&#160;13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the registrant was required to file such reports), and (2)&#160;has been subject to such filing requirements for the past 90 days.&#160;<ix:nonNumeric name="dei:EntityCurrentReportingStatus" contextRef="P01_01_2020To12_31_2020">Yes</ix:nonNumeric>&#160;&#160;<div style="font-family: &quot;Times New Roman&quot;; letter-spacing: 0px; top: 0px;;display:inline;">&#9746;</div>&#160;&#160;&#160;&#160;No&#160;&#160;<div style="font-family: &quot;Times New Roman&quot;; letter-spacing: 0px; top: 0px;;display:inline;">&#9744;</div>. </div> <div style="text-indent: 4%; font-family: ARIAL; font-size: 8pt; margin-top: 6pt; margin-bottom: 0pt;">Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T (&#167;232.405 of this chapter) during the preceding 12&#160;months (or for such shorter period that the registrant was required to submit such files).&#160;<ix:nonNumeric name="dei:EntityInteractiveDataCurrent" contextRef="P01_01_2020To12_31_2020">Yes</ix:nonNumeric>&#160;&#160;<div style="font-family: &quot;Times New Roman&quot;; letter-spacing: 0px; top: 0px;;display:inline;">&#9746;</div>&#160;&#160;&#160;&#160;No&#160;&#160;<div style="font-family: &quot;Times New Roman&quot;; letter-spacing: 0px; top: 0px;;display:inline;">&#9744;</div>. </div> <div style="text-indent: 4%; font-family: ARIAL; font-size: 8pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company or an emerging growth company. See the definitions of &#8220;large accelerated filer,&#8221; &#8220;accelerated filer,&#8221; &#8220;smaller reporting company&#8221; and &#8220;emerging growth company&#8221; in Rule 12b-2 of the Exchange Act. </div></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 9pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 18%; font-family: &quot;Times New Roman&quot;;"></td>
<td style="width: 1%; vertical-align: bottom; font-family: &quot;Times New Roman&quot;;"></td>
<td style="width: 55%; font-family: &quot;Times New Roman&quot;;"></td>
<td style="width: 1%; vertical-align: bottom; font-family: &quot;Times New Roman&quot;;"></td>
<td style="width: 22%; font-family: &quot;Times New Roman&quot;;"></td>
<td style="width: 1%; vertical-align: bottom; font-family: &quot;Times New Roman&quot;;"></td>
<td style="width: 2%; font-family: &quot;Times New Roman&quot;;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 9pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><ix:nonNumeric name="dei:EntityFilerCategory" contextRef="P01_01_2020To12_31_2020" format="ixt-sec:entityfilercategoryen">Large accelerated filer</ix:nonNumeric></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="font-family: &quot;Times New Roman&quot;; letter-spacing: 0px; top: 0px;;display:inline;">&#9746;</div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">Accelerated&#160;filer</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="font-family: &quot;Times New Roman&quot;; letter-spacing: 0px; top: 0px;;display:inline;">&#9744;</div></td> </tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt; font-family: &quot;Times New Roman&quot;;"></td>
<td colspan="2" style="height: 6pt; font-family: &quot;Times New Roman&quot;;"></td>
<td colspan="2" style="height: 6pt; font-family: &quot;Times New Roman&quot;;"></td>
<td colspan="2" style="height: 6pt; font-family: &quot;Times New Roman&quot;;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 9pt; page-break-inside: avoid;">
<td style="vertical-align: top;">Non-accelerated filer</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="font-family: &quot;Times New Roman&quot;; letter-spacing: 0px; top: 0px;;display:inline;">&#9744;</div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">Smaller&#160;reporting&#160;company</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="font-family: &quot;Times New Roman&quot;; letter-spacing: 0px; top: 0px;;display:inline;"><ix:nonNumeric name="dei:EntitySmallBusiness" contextRef="P01_01_2020To12_31_2020" format="ixt:booleanfalse">&#9744;</ix:nonNumeric></div></td> </tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt; font-family: &quot;Times New Roman&quot;;"></td>
<td colspan="2" style="height: 6pt; font-family: &quot;Times New Roman&quot;;"></td>
<td colspan="2" style="height: 6pt; font-family: &quot;Times New Roman&quot;;"></td>
<td colspan="2" style="height: 6pt; font-family: &quot;Times New Roman&quot;;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 9pt; page-break-inside: avoid;">
<td style="vertical-align: top; font-family: &quot;Times New Roman&quot;;"></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;;"></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">Emerging&#160;growth&#160;company</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="font-family: &quot;Times New Roman&quot;; letter-spacing: 0px; top: 0px;;display:inline;"><ix:nonNumeric name="dei:EntityEmergingGrowthCompany" contextRef="P01_01_2020To12_31_2020" format="ixt:booleanfalse">&#9744;</ix:nonNumeric></div></td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="text-indent: 4%; font-family: ARIAL; font-size: 8pt; margin-top: 6pt; margin-bottom: 0pt;">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&#160;13(a) of the Exchange Act.&#160;Yes&#160;&#160;<div style="font-family: &quot;Times New Roman&quot;; letter-spacing: 0px; top: 0px;;display:inline;">&#9744;</div>&#160;&#160;&#160;&#160;No&#160;&#160;<div style="font-family: &quot;Times New Roman&quot;; letter-spacing: 0px; top: 0px;;display:inline;">&#9744;</div>. </div> <div style="text-indent: 4%; font-family: ARIAL; font-size: 8pt; margin-top: 6pt; margin-bottom: 0pt;">Indicate by check mark whether the registrant has filed a report on and attestation to its management&#8217;s assessment of the effectiveness of its internal control over financial reporting under Section&#160;404(b) of the Sarbanes-Oxley Act (15 U.S.C. 7262(b)) by the registered public accounting firm that prepared or issued its audit report.&#160;<div style="font-family: &quot;Times New Roman&quot;; letter-spacing: 0px; top: 0px;;display:inline;"><ix:nonNumeric name="dei:IcfrAuditorAttestationFlag" contextRef="P01_01_2020To12_31_2020" format="ixt:booleanfalse">&#9744;</ix:nonNumeric></div> </div> <div style="text-indent: 4%; font-family: ARIAL; font-size: 8pt; margin-top: 6pt; margin-bottom: 0pt;">Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Act).&#160;Yes&#160;&#160;<div style="font-family: &quot;Times New Roman&quot;; letter-spacing: 0px; top: 0px;;display:inline;">&#9744;</div>&#160;&#160;&#160;&#160;No&#160;&#160;<div style="font-family: &quot;Times New Roman&quot;; letter-spacing: 0px; top: 0px;;display:inline;"><ix:nonNumeric name="dei:EntityShellCompany" contextRef="P01_01_2020To12_31_2020" format="ixt:booleanfalse">&#9746;</ix:nonNumeric></div>. </div> <div style="text-indent: 4%; font-family: ARIAL; font-size: 8pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">The aggregate market value of the voting and non-voting common equity held by non-affiliates as of June&#160;30, 2020, the last business day of the registrant&#8217;s most recently completed second fiscal quarter, was $<ix:nonFraction name="dei:EntityPublicFloat" contextRef="PAsOn06_30_2020" unitRef="Unit_USD" decimals="0" scale="0" format="ixt:numdotdecimal">5,711,511,345</ix:nonFraction>. </div></div> <div style="text-indent: 4%; font-family: ARIAL; font-size: 8pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">The number of shares of the registrant&#8217;s common stock outstanding as of February 19, 2021 was <ix:nonFraction name="dei:EntityCommonStockSharesOutstanding" contextRef="PAsOn02_19_2021" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:numdotdecimal">54,771,343</ix:nonFraction>. </div></div> <div style="text-align: center; font-family: ARIAL; font-size: 8pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Documents Incorporated By Reference </div></div></div> <div style="text-indent: 4%; font-family: ARIAL; font-size: 8pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">The registrant intends to file a proxy statement pursuant to Regulation 14A within 120 days of the end of the fiscal year ended December&#160;31, 2020. Portions of such proxy statement are incorporated by reference into Part&#160;III of this Annual Report on Form 10-K. </div></div></div> <div style="font-size: 3pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 3pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="line-height: 1pt; margin-top: 0pt; margin-bottom: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="line-height: 3pt; margin-top: 0pt; margin-bottom: 2pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div id="toc" style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Table of Contents </div></div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 8%;"></td>
<td style="width: 2%; vertical-align: bottom;"></td>
<td style="width: 85%;"></td>
<td style="width: 2%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">PAGE</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><a href="#toc105808_1">Forward-looking Statements </a></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt; font-family: ARIAL;"></td>
<td colspan="2" style="height: 6pt; font-family: ARIAL;"></td>
<td colspan="4" style="height: 6pt; font-family: ARIAL;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">PART&#160;I</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Item&#160;1.</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><a href="#toc105808_3">Business</a></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">2</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Item&#160;1A.</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><a href="#toc105808_4">Risk Factors</a></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">14</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Item&#160;1B.</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><a href="#toc105808_5">Unresolved Staff Comments</a></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">36</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Item&#160;2.</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><a href="#toc105808_6">Properties</a></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">36</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Item&#160;3.</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><a href="#toc105808_7">Legal Proceedings</a></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">36</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Item&#160;4.</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><a href="#toc105808_8">Mine Safety Disclosures</a></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">36</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt; font-family: ARIAL;"></td>
<td colspan="2" style="height: 6pt; font-family: ARIAL;"></td>
<td colspan="4" style="height: 6pt; font-family: ARIAL;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">PART&#160;II</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Item&#160;5.</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><a href="#toc105808_10">Market for Registrant&#8217;s Common Equity, Related Stockholder Matters and Issuer Purchases of Equity Securities</a></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">37</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Item&#160;6.</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><a href="#toc105808_11">Reserved</a></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">38</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Item&#160;7.</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><a href="#toc105808_12">Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations</a></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">39</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Item&#160;7A.</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><a href="#toc105808_13">Quantitative and Qualitative Disclosures About Market Risk</a></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">57</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Item&#160;8.</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><a href="#toc105808_14">Financial Statements and Supplementary Data</a></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">57</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Item&#160;9.</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><a href="#toc105808_15">Changes in and Disagreements with Accountants on Accounting and Financial Disclosure</a></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">58</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Item&#160;9A.</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><a href="#toc105808_16">Controls and Procedures</a></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">58</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Item&#160;9B.</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><a href="#toc105808_17">Other Information</a></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">62</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1pt;">
<td colspan="3" style="height: 6pt; font-family: ARIAL;"></td>
<td colspan="4" style="height: 6pt; font-family: ARIAL;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td colspan="3" style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"><a href="#toc105808_18">PART&#160;III </a></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">63</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt; font-family: ARIAL;"></td>
<td colspan="2" style="height: 6pt; font-family: ARIAL;"></td>
<td colspan="4" style="height: 6pt; font-family: ARIAL;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">PART&#160;IV</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td> </tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt; font-family: ARIAL;"></td>
<td colspan="2" style="height: 6pt; font-family: ARIAL;"></td>
<td colspan="4" style="height: 6pt; font-family: ARIAL;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Item&#160;15.</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><a href="#toc105808_20">Exhibits and Financial Statement Schedules</a></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">64</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt; font-family: ARIAL;"></td>
<td colspan="2" style="height: 6pt; font-family: ARIAL;"></td>
<td colspan="4" style="height: 6pt; font-family: ARIAL;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Item&#160;16.</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><a href="#toc105808_21">10-K Summary</a></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">66</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1pt;">
<td colspan="3" style="height: 6pt; font-family: ARIAL;"></td>
<td colspan="4" style="height: 6pt; font-family: ARIAL;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td colspan="3" style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"><a href="#toc105808_22">SIGNATURES </a></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">67</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Summary of the Material Risks Associated with Our Business </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Our business is subject to numerous risks and uncertainties that you should be aware of in evaluating our business. These risks include, but are not limited to, the following: </div></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 5%;">&#160;</td>
<td style="width: 3%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Our product revenue may be negatively impacted by a number of factors, including without limitation, competition in the bioprocessing market, our historical reliance on a limited number of large customers, our ability to develop or acquire additional bioprocessing products in the future, our ability to manufacture our bioprocessing products sufficiently and timely, and our ability to effectively penetrate the bioprocessing products market. </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 5%;">&#160;</td>
<td style="width: 3%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We rely on a limited number of suppliers or, for certain of our products, one supplier, and we may not be able to find replacements or immediately transition to alternative suppliers, which could have a material adverse effect on our financial condition, results of operations and reputation. </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 5%;">&#160;</td>
<td style="width: 3%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We may not be able to achieve sufficient market acceptance for our bioprocessing products, and our results of operations and competitive position could suffer. </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 5%;">&#160;</td>
<td style="width: 3%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">If our products do not perform as expected or the reliability of the technology on which our products are based is questioned, we could experience lost revenue, delayed or reduced market acceptance, increased cost and damage to our reputation. </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 5%;">&#160;</td>
<td style="width: 3%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">If we are unable to manufacture our products in sufficient quantities and in a timely manner, our operating results will be harmed, our ability to generate revenue could be diminished and our gross margin may be negatively impacted. </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 5%;">&#160;</td>
<td style="width: 3%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Acquisitions we have completed, including our recent acquisitions of ARTeSYN Biosolutions Holdings Ireland Limited, Non-Metallic Solutions, Inc. or Engineered Molding Technology LLC, or may complete in the future, may expose us to risks that could adversely affect our business, and we may not achieve the anticipated benefits of acquisitions of businesses or technologies. </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 5%;">&#160;</td>
<td style="width: 3%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Our results of operations could be negatively affected by potential fluctuations in foreign currency exchange rates. </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 5%;">&#160;</td>
<td style="width: 3%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">If we are unable to hire and retain skilled personnel, including technical, sales and marketing personnel, then we will have trouble developing and marketing our products. </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 5%;">&#160;</td>
<td style="width: 3%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">If we are unable to obtain, maintain and protect our intellectual property rights related to our products, we may not be able to compete effectively or succeed commercially. </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 5%;">&#160;</td>
<td style="width: 3%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The business interruptions resulting from the COVID-19 outbreak or similar public health crises may disrupt the development, manufacturing and commercial sales of our products and adversely impact our business. </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> </div> <div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div id="toc105808_1" style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">FORWARD-LOOKING STATEMENTS </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">This Annual Report on Form 10-K (&#8220;Form 10-K&#8221;) contains forward-looking statements which are made pursuant to the safe harbor provisions of Section&#160;27A of the Securities Act of 1933, as amended, and Section&#160;21E of the Securities Exchange Act of 1934, as amended (the &#8220;Exchange Act&#8221;). The forward-looking statements in this Form 10-K do not constitute guarantees of future performance. Investors are cautioned that express or implied statements in this Form 10-K that are not strictly historical statements, including, without limitation, statements regarding current or future financial performance, potential impairment of future earnings, management&#8217;s strategy, plans and objectives for future operations or acquisitions, product development and sales, research and development, selling, general and administrative expenditures, intellectual property and adequacy of capital resources and financing plans constitute forward-looking statements. Such forward-looking statements are subject to a number of risks and uncertainties that could cause actual results to differ materially from those anticipated, including, without limitation, the risks identified under the caption &#8220;Risk Factors&#8221; and other risks detailed in this Form 10-K and our other filings with the Securities and Exchange Commission. We assume no obligation to update any forward-looking information contained in this Form 10-K, except as required by law. </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">1 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">PART I </div></div></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td id="toc105808_3" style="width: 11%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">ITEM&#160;1.</div></div></td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">BUSINESS </div></div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">The following discussion of our business contains forward-looking statements that involve risks and uncertainties. When used in this report, the words &#8220;intend,&#8221; &#8220;anticipate,&#8221; &#8220;believe,&#8221; &#8220;estimate,&#8221; &#8220;plan&#8221; and &#8220;expect&#8221; and similar expressions as they relate to us are included to identify forward-looking statements. Our actual results could differ materially from those anticipated in these forward-looking statements and are a result of certain factors, including those set forth under &#8220;Risk Factors&#8221; and elsewhere in this Annual Report on Form&#160;10-K (&#8220;Form 10-K&#8221;). </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">References throughout this Form 10-K to &#8220;Repligen Corporation&#8221;, &#8220;Repligen&#8221;, &#8220;we&#8221;, &#8220;us&#8221;, &#8220;our&#8221;, or the &#8220;Company&#8221; refer to Repligen Corporation and its subsidiaries, taken as a whole, unless the context otherwise indicates. </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Overview </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Repligen Corporation is a global life sciences company that develops and commercializes highly innovative bioprocessing technologies and systems that increase efficiencies and flexibility in the process of manufacturing biological drugs. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">As the overall market for biologics continues to grow and expand, our primary customers &#8211; global biopharmaceutical companies and contract development and manufacturing organizations (&#8220;CDMOs&#8221;) &#8211; face critical production cost, capacity, quality and time pressures. Built to address these concerns, our products are helping to set new standards for the way biologics are manufactured. We are committed to inspiring advances in bioprocessing as a trusted partner in the production of critical biologic drugs &#8211; including monoclonal antibodies (&#8220;mAbs&#8221;), recombinant proteins, vaccines and gene therapies &#8211; that are improving human health worldwide. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We currently operate as one bioprocessing business, with a comprehensive suite of products to serve both upstream and downstream processes in biological drug manufacturing. Building on over 35 years of industry expertise, we have developed a broad and diversified product portfolio that reflects our passion for innovation and the customer-first culture that drives our entire organization. We continue to capitalize on opportunities to maximize the value of our product platform through both organic growth initiatives (internal innovation and commercial leverage) and targeted acquisitions. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Our corporate headquarters are located in Waltham, Massachusetts, with additional administrative and manufacturing operations worldwide. The majority of our 15 key manufacturing sites are located in the United States (California, Massachusetts, New Jersey and New York); and outside the United States, we have sites in Estonia, Germany, Ireland, the Netherlands and Sweden. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">COVID-19 Considerations </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">In March 2020, the World Health Organization declared the COVID-19 outbreak to be a pandemic. During 2020, our revenues were positively affected by the COVID-19 pandemic. However, the extent to which the COVID-19 pandemic affects our future financial results and operations will depend on future developments which are highly uncertain and cannot be predicted, including the recurrence, severity and/or duration of the ongoing pandemic, and current or future domestic and international actions to contain and treat COVID-19. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">We are following public and private sector policies and initiatives to reduce the transmission of <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">COVID-19,</div> such as the imposition of travel restrictions and the promotion of social distancing and work-from-home arrangements. We are taking a variety of measures to ensure the availability and functioning </div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">of our critical infrastructure, to promote the safety and security of our employees and to support the communities in which we operate. These measures include increasing our inventory, requiring remote working arrangements for employees who are not integral to physically making and shipping our products or who do not need specialized equipment to perform their work, restricting on-site visits by non-employees and investing in personal protective equipment. Beginning on April&#160;2, 2020, temperature screening was required upon entering our facilities and face masks were required to be worn by all employees and contractors. On December&#160;16, 2020, we expanded this monitoring at select sites by commencing mandatory, weekly on-site qPCR testing of employees for COVID-19. Currently we require this testing at our California, Massachusetts, New Jersey and New York sites using a third-party service provider. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">For further discussion of the risks relating to COVID-19, see <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;The COVID-19 pandemic, or similar public health crises, could have a material adverse impact on our business, financial condition and results of operations, including our product sales, and our stock price&#8221;</div></div> in Item&#160;1A. &#8220;Risk Factors,&#8221; below. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Our Products </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Our bioprocessing business is comprised of four main franchises: Filtration; Chromatography; Process Analytics; and Proteins. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Since 2012, we have significantly expanded and diversified the product lines offered under these franchises, introducing multiple first-to-market differentiated technologies to our customers. We have achieved this expansion through innovations and strategic acquisitions of complementary assets or businesses. Our growth strategy continues to expand our geographic scope, our customer base and applications of our technologies. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">To support our sales growth goals for these products, we make ongoing investments in our commercial organization, our research and development (&#8220;R&amp;D&#8221;) team and our manufacturing capacity. We regularly evaluate and invest in these areas as needed to ensure timely deliveries and to stay ahead of increased customer demand for our products. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">A majority of our revenue is derived from consumable and/or single-campaign (&#8220;single-use&#8221;) product sales, as compared to associated equipment. The customization, scalability and plug-and-play convenience of these products, and in many cases the closed nature of our technologies, make them ideal for use in biologics manufacturing processes where contamination risk is a critical concern of our customers. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="text-decoration: underline; letter-spacing: 0px; top: 0px;;display:inline;">Filtration </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">XCell ATF<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> Cell Retention Systems </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Our Filtration products offer a number of advantages to manufacturers of biologic drugs and are used in process development and process scale (clinical and commercial) production. Our XCell Alternating Tangential Flow (&#8220;ATF&#8221;) systems are used in upstream perfusion (continuous) and N-1 (intensified fed-batch or hybrid perfusion) cell culture processing. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">XCell ATF is a cell retention technology. The system is comprised of an advanced hollow fiber (&#8220;HF&#8221;) filtration device, a low shear pump and a controller. The XCell ATF system is connected to a bioreactor and enables the cell culture to be run continuously, with cells being retained in the bioreactor, fresh nutrients (cell culture media) being fed into the reactor continuously and clarified biological product and cell waste being removed (harvested) continuously. The cells are maintained in a consistent nutrient-rich environment and can reach cell densities two- and three-times higher than those achieved by standard </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">3 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">fed-batch culture. As a result, product yield is increased, which improves facility utilization and can reduce the size of a bioreactor required to manufacture a given volume of biologic drug product. XCell ATF systems are available in a wide range of sizes that can easily scale from laboratory use through full production with bioreactors as large as 5,000 liters. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Through internal innovation, we developed and launched single-use formats of the original stainless steel XCell ATF devices to address increasing industry demand for single-use sterile systems with &#8220;plug-and-play&#8221; technology. The XCell ATF device is now available to customers in both its original configuration (steel housing and single-use filters) in all sizes (2, 4, 6 and 10), and/or as a single-use device (disposable housing/filter combination) in most sizes (2, 6, and 10). The availability of XCell ATF technology in a single-use format reduces implementation time by eliminating the time intensive workflow associated with autoclaving and enables our customers to accelerate evaluations of the product with a lower initial overall cost of ownership. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">In September 2018, we entered into a collaboration agreement with industry leader Sartorius Stedim Biotech (&#8220;SSB&#8221;) to integrate our XCell ATF controller technology into SSB&#8217;s BIOSTAT<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> STR large-scale, single-use bioreactors, to create novel perfusion-enabled bioreactors. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">TangenX<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> Flat Sheet Cassettes </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Our TangenX&#8482; product line (&#8220;TangenX&#8221;) balances our upstream XCell ATF systems (hollow fiber) with a portfolio of flat-sheet tangential flow filtration (&#8220;TFF&#8221;) cassettes used in downstream biologic drug concentration and formulation processes. The TangenX product portfolio includes our single-use SIUS<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> brand, providing customers with a high-performance, cost saving alternative to reusable TFF cassettes. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">TFF is a rapid and efficient method for the concentration and formulation of biomolecules that is widely used in many applications in biopharmaceutical development and manufacturing. SIUS cassettes feature a high performing membrane and unique cartridge construction that enables a lower price point. Each disposable cassette is delivered pre-sanitized and ready to be equilibrated and used for tangential flow, ultrafiltration and diafiltration applications. Use of SIUS TFF cassettes eliminates non-value-added steps (cleaning, testing between uses, storage and flushing) that are required with reusable TFF products, providing cost and time savings. The cassettes are interchangeable with filter hardware from multiple manufacturers, simplifying customer trial and adoption of SIUS products. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">In 2020, we introduced SIUS<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> Gamma, which we engineered to harness the performance and efficiencies of TangenX<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> SIUS<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> membranes and cassettes, while also providing the convenience of a fully assembled, closed and irradiated system. The device is delivered as a package including the cassette, manifold, clamps, tubing and connectors. The customizable SIUS Gamma device is ideal for adenovirus (&#8220;AAV&#8221;) gene therapy processes where large volumes need to be concentrated prior to chromatography. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Spectrum<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> Hollow Fibers </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Our filtration business is strengthened by a leading portfolio of Spectrum<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> HF filtration solutions, including fully integrated KrosFlo<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> TFF<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> Systems with Konduit sensing and ProConnex<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> Flow Path single-use assemblies. KrosFlo family of TFF systems for product concentration is fully scalable from 2 milliliters to 5,000 liters &#8211; from lab-scale to commercial manufacturing. Designed for purification and formulation applications, KrosFlo Systems enable robust downstream ultrafiltration and microfiltration. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We also gained the Spectra/Por<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> portfolio of laboratory and process dialysis products and in 2019, we launched the SpectraFlo&#8482; Dynamic Dialysis Systems. Also, in 2019 we introduced the KrosFlo<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> TFDF&#8482; (Tangential Flow Depth Filtration) Systems, which we believe have the potential to disrupt and displace </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">4 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">traditional harvest clarification operations. The KrosFlo TFDF system includes control hardware, novel high throughput tubular depth filters and ProConnex<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> TFDF<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> flow paths. When used for cell culture clarification, single-use KrosFlo TFDF technology delivers unprecedented high flux (&gt;1,000 LMH), high capacity, low turbidity, and minimal dilution, making the technology a high-performance alternative to traditional centrifugation and depth filtration approaches to harvest clarification. TFDF technology also provides benefits such as low hold-up volume, high recovery, small footprint, simple set up and disposal, scalability and reduced process time. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Spectrum<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> product line of HF filters is used in bench-tops through commercial-scale processes, primarily for the filtration, purification and concentration of biologics and diagnostic products. Our KrosFlo filtration systems and equipment offer both standard and customized solutions to bioprocessing customers, with particular strength in consumable and single-use offerings. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The growth of our filtration business has allowed us to substantially increase our direct sales presence in Europe and Asia and diversify our end markets to include all biologic classes, including mAb, vaccines, recombinant proteins and gene therapies. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Other Filtration </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Over time, we have broadened the application of our Konduit monitor, which automates concentration and buffer exchange, to include use with both HF TFF systems. We also self-manufacture HF filters that are used in our XCell ATF, KrosFlo TFF and KrosFlo TFDF systems. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">With our acquisition of Engineered Molding Technology LLC (&#8220;EMT&#8221;) on July&#160;13, 2020, we added EMT&#8217;s silicone-based, single-use components and manifolds to our filtration franchise. These products are key components in single-use filtration and chromatography systems and will help expand our line of single-use ProConnex flow paths, streamline our supply chain for ATF and provide more flexibility as we scale and expand our single-use and systems portfolios. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">With our acquisition of the ARTeSYN Biosolutions Holdings Ireland Limited (&#8220;ARTeSYN&#8221;) business on December&#160;3, 2020, we expanded our filtration systems offering, and added additional single-use components and flow path assemblies for fluid management, providing greater flexibility and market opportunity as we scale and expand our systems portfolio. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="text-decoration: underline; letter-spacing: 0px; top: 0px;;display:inline;">Chromatography </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Our Chromatography franchise includes a number of products used in downstream purification, development, manufacturing and quality control of biological drugs. The main driver of growth in this portfolio is our OPUS<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> pre-packed column (&#8220;PPC&#8221;) product line. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">In addition to OPUS, with our acquisition of ARTeSYN, we are adding chromatography systems to our offerings, as well as single-use components and flow path assemblies for fluid management, providing greater flexibility and market opportunity as we scale and expand our systems portfolio. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Additional chromatography products include our affinity capture resins, such as CaptivA<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> Protein A resins, that are used in a small number of commercial drug processes and our ELISA test kits, used by quality control departments to detect and measure the presence of leached Protein A and/or growth factor in the final product. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">OPUS Pre-Packed Columns </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Our Chromatography franchise features a wide range of OPUS columns, which we deliver to our customers sealed and pre-packed with their choice of resin. These are single-use or campaign-use </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">5 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> </div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">disposable columns that replace the use of customer-packed glass columns for downstream purification. By designing OPUS columns to be a technologically advanced and flexible option for the purification of biologics from process development through clinical and commercial-scale manufacturing, Repligen has become a leader in the PPC market. Our biomanufacturing customers value the significant cost savings that OPUS columns can deliver by reducing set up time, labor, equipment and facility costs &#8211; in addition to delivering product consistency and &#8220;plug-and-play&#8221; convenience. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We launched our first production scale OPUS columns in 2012 and have since added larger diameter options that scale up to use with 2,000 liter bioreactors. Our OPUS 80R column is the largest available PPC on the market for use in late-stage clinical or commercial purification processes. We offer unique features such as a resin recovery port on our larger columns, which allows our customers to remove and reuse the recovered resin in other applications. We believe the OPUS 5-80R product line is the most flexible product line available in the market, serving the purification needs of customers manufacturing mAbs and other biologics such as vaccines and gene therapies. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">In addition to our larger scale OPUS columns, our portfolio includes our smaller-scale OPUS columns, including our RoboColumn<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div>, MiniChrom&#8482; and ValiChrom<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> columns used for process development (&#8220;PD&#8221;) and validation. These columns are used in high-throughput PD screening, viral clearance validation studies and scale down validation of chromatography processes. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We maintain customer-facing centers in both the United States and Europe for our OPUS column customers, and offer a premier ability to pack any of hundreds of chromatography capture resins available, as per our customers&#8217; choice. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="text-decoration: underline; letter-spacing: 0px; top: 0px;;display:inline;">Process Analytics </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Our Process Analytics products complement and support our Filtration, Chromatography and Proteins franchises as they allow end-users to make at-line or in-line absorbance measurements allowing for the determination of protein concentration in filtration, chromatography formulation and fill-finish applications. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">SoloVPE<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> Device </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Our SoloVPE Slope Spectroscopy<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> system is the industry standard for offline and at-line absorbance measurements for protein concentration determination in process development, manufacturing and quality control settings. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">FlowVPE<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> Device </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Our FlowVPE Slope Spectroscopy system enhances the power of Slope Spectroscopy and provides in-line protein concentration measurement for filtration, chromatography and fill-finish applications. A key benefit of this in-line solution is the ability to monitor a manufacturing process in real time. We are developing a next-generation FlowVPE to incorporate GMP-compliant software for production-scale biologics manufacturing. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Use of VPE Slope Spectroscopy systems delivers multiple process benefits for our biopharmaceutical manufacturing customers, compared to traditional UV-Vis approaches. Key benefits include: the elimination of manual dilutions and sample transfers from process development/manufacturing to labs, rapid time to results (minutes versus hours), improved precision, built-in data quality for improved reporting and validation, and ease of use. </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">6 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="text-decoration: underline; letter-spacing: 0px; top: 0px;;display:inline;">Proteins </div><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="background: none;;font-weight:bold;display:inline;"><div style="font-style: normal; background: none; text-decoration: none; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;"> </div></div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Our Proteins franchise is represented by our Protein A affinity ligands, which are a critical component of Protein A chromatography resins used in downstream purification of virtually all mAb-based drugs on the market or in development, and cell culture growth factor products, which are a key component of cell culture media used in upstream bioprocessing to increase cell density and improve product yield. Our recent addition to the Proteins franchise is a novel spike protein affinity ligand, which has the potential to be utilized in the purification of COVID-19 vaccines. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Affinity Ligands </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We are a leading provider of Protein A affinity ligands to life sciences companies. Protein A ligands are an essential &#8220;binding&#8221; component of Protein A affinity chromatography resins used in the purification of virtually all mAb-based drugs on the market or in development. We manufacture multiple forms of Protein A ligands under long-term supply agreements with major life sciences companies including Cytiva (formerly GE Healthcare and now a member of the Danaher Life Sciences platform), MilliporeSigma and Purolite Life Sciences (&#8220;Purolite&#8221;), who in turn sell their Protein A chromatography resins to end users (mAb manufacturers). We have two manufacturing sites supporting overall global demand for our Protein A ligands: one in Lund, Sweden and another in Waltham, Massachusetts. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Protein A chromatography resins are considered the industry standard for purification of antibody-based therapeutics due to the ability of the Protein A ligand to very selectively bind to or &#8220;capture&#8221; antibodies from crude protein mixtures. Protein A resins are packed into the first chromatography column of typically three columns used in a mAb purification process. As a result of Protein A&#8217;s high affinity for antibodies, the mAb product is highly purified and concentrated within this first capture step before moving to polishing steps. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">In June 2018, we entered into an agreement with Navigo Proteins GmbH (&#8220;Navigo&#8221;) for the exclusive co-development of multiple affinity ligands for which Repligen holds commercialization rights. We manufacture and exclusively supply the first of these ligands, NGL-Impact<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> A, to Purolite, for use in their Jetted A50 Protein A resin product. We have a long-term supply agreement with Purolite for NGL-Impact and potential additional affinity ligands that may advance from our Navigo collaboration. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">In October 2020, we announced the successful development (with Navigo) of a spike protein ligand, and our plans to manufacture and commercialize the associated chromatography resin as a Repligen branded product beginning in early 2021. The spike protein is a characterizing feature of SARS-CoV-2, the virus that causes COVID-19; it is the primary antigen being evaluated in clinical trials to induce an immune response as a COVID-19 vaccine. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Navigo Proteins and Purolite agreements are supportive of our strategy to secure and reinforce our Proteins franchise. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Growth Factors </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Most biopharmaceuticals are produced through an upstream mammalian cell culture process. In order to stimulate increased cell growth and maximize overall yield from a bioreactor, manufacturers often add growth factors, such as insulin, to their cell culture media. Our cell culture growth factor additives include LONG<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> R<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">3 </div>IGF 1 (&#8220;LR3&#8221;), our insulin-like growth factor that has been shown to be up to 100 times more biologically potent than insulin (the industry standard), thereby increasing recombinant protein production in cell culture fermentation applications. LR3 will be sold through a distribution partnership with MilliporeSigma until we take over the direct selling of our growth factor portfolio in 2021. </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">7 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Corporate Information </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">We are a Delaware corporation with global headquarters in Waltham, Massachusetts. We were incorporated in 1981 and became a publicly traded company in 1986. Our common stock is listed on The Nasdaq Global Market under the symbol &#8220;RGEN&#8221;. We have over 1,100 employees and operate globally with offices and manufacturing sites located at multiple locations in the United States, Europe and Asia. Our principal executive offices are located at 41 Seyon Street, Waltham, Massachusetts&#160;02453, our website is <div style="text-decoration: underline; letter-spacing: 0px; top: 0px;;display:inline;">www.repligen.com</div> and our telephone number is (781)&#160;250-0111. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2020 Acquisitions </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">ARTeSYN Biosolutions Holdings Ireland Limited </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">On October&#160;27, 2020, we entered into an Equity and Asset Purchase Agreement with ARTeSYN, a company organized under the laws of Ireland, Third Creek Holdings, LLC, a Nevada limited liability company, Alphinity, LLC, a Nevada limited liability company (&#8220;Alphinity&#8221;, and together with Third Creek Holdings, LLC the &#8220;Sellers&#8221;), and Michael Gagne, solely in his capacity as the representative of the Sellers, pursuant to which we acquired (i)&#160;all of the outstanding equity securities of ARTeSYN and (ii)&#160;certain assets from Alphinity related to the business of ARTeSYN (collectively, the &#8220;ARTeSYN Acquisition&#8221;) for approximately $200 million, comprised of approximately $130 million in cash to the Sellers and approximately $70 million in our common stock to Third Creek. The transaction closed on December&#160;3, 2020. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">ARTeSYN, headquartered in Waterford, Ireland, is a biosystems innovator that has had success with its single-use chromatography and filtration systems, which are considered the benchmark in downstream bioprocessing due to their performance, automation and low hold-up volumes. ARTeSYN offers state of the art single-use systems for chromatography, filtration, continuous manufacturing and media/buffer prep workflows and has integrated unique flow path assemblies utilizing EMT&#8217;s silicone extrusion and molding technology to deliver highly differentiated, low hold-up volume systems that minimize product loss during processing. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Non-Metallic Solutions, Inc. </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">On October&#160;15, 2020, we entered into a Stock Purchase Agreement with Non-Metallic Solutions, Inc., a Massachusetts corporation (&#8220;NMS&#8221;), and each of William Mallone&#233; and Derek Masser, the legal and beneficial owners of NMS, to purchase NMS, which transaction subsequently closed on October&#160;20, 2020. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">NMS, headquartered in Auburn, Massachusetts, is a manufacturer of fabricated plastics, custom containers, and related assemblies and components used in the manufacturing of biologic drugs. NMS&#8217;s fluid management products complement and expand Repligen&#8217;s single-use product offerings. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Engineered Molding Technology LLC </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">On June&#160;26, 2020, we entered into a Membership Interest Purchase Agreement with EMT and each of Michael Pandori and Todd Etesse, the legal and beneficial owners of EMT to purchase EMT, which transaction subsequently closed on July&#160;13, 2020. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">EMT, headquartered in Clifton Park, New York, is an innovator and manufacturer of single-use silicone assemblies and components used in the manufacturing of biologic drugs. EMT&#8217;s standard and custom molded and over-molded connectors and silicone tubing products are key fluid management components in single-use filtration and chromatography systems. EMT&#8217;s products complement and expand our single-use product offerings. </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">8 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2019 Acquisition </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">C Technologies, Inc. </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">On May&#160;31, 2019, we acquired C Technologies Inc. (&#8220;C Technologies&#8221;), pursuant to the terms of a Stock Purchase Agreement, by and among Repligen, C Technologies and Craig Harrison, an individual and sole stockholder of C Technologies (such acquisition, the &#8220;C Technologies Acquisition&#8221;). </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">C Technologies sells instruments, consumables and accessories that are designed to allow bioprocessing technicians to measure the protein concentration of a liquid sample using C Technologies&#8217; Slope Spectroscopy<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> method, which eliminates the need for manual sample dilution. C Technologies&#8217; lead product, the SoloVPE<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> Device, was launched in 2008 for off-line and at-line protein concentration measurements conducted in quality control, process development and manufacturing labs in the production of biological therapeutics. C Technologies&#8217; FlowVPE<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> Device, an extension of the SoloVPE technology, was designed to allow end users to make in-line protein concentration measurements in filtration, chromatography and fill-finish applications, designed to allow for real-time process monitoring. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">The previous C Technologies Acquisition, combined with the 2020 acquisitions of ARTeSYN, NMS and EMT, further establishes us as a premier player in single-use systems and associated integrated flow path assemblies. For more information on these acquisitions, see Note 3, <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Acquisitions,&#8221;</div></div> to our consolidated financial statements included in Part II, Item&#160;8 of this report. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Our Market Opportunity </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Bioprocessing Addressable Market </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The global addressable market for bioprocessing products is estimated to be over $12 billion of which we estimate Repligen&#8217;s addressable market to be approximately $3.7 billion at year end 2020. This market includes products used to manufacture therapeutic antibodies, recombinant proteins and vaccines, as well as gene therapies. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Monoclonal Antibody Market </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Antibody-based biologics alone accounted for over $130&#160;billion of global biopharma revenue in 2019. Industry sources project the mAbs market to grow in the range of approximately 7% to 12% annually through 2022, driven by new approvals and expanded clinical uses for marketed antibodies as well as the emergence of biosimilar versions of originator mAbs. As of December&#160;31, 2020, over 120 mAbs were approved by the U.S. Food and Drug Administration (&#8220;FDA&#8221;) to treat a diverse range of diseases. R&amp;D remains robust, with more than 600 mAb clinical trials ongoing to address a wide range of medical conditions. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">In addition to investments in the discovery and development of novel biologic drugs, there has been substantial investment in follow-on products (biosimilars) by generic and specialty pharmaceutical as well as large biopharmaceutical companies. Development of follow-on products accelerated as the first major mAbs came off patent in the European Union and United States. Due to the high cost of biologic drugs, many countries in developing and emerging markets have been aggressively investing in biomanufacturing capabilities to supply lower cost biosimilars for the local markets. For both originator and follow-on biologics manufacturing, Repligen products are well-positioned to enable greater manufacturing flexibility, production yields and lower costs through improved process efficiencies. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Cell and Gene Therapy Market </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Cell and gene therapies (&#8220;C&amp;GT&#8221;) have emerged in the past few years to become a rapidly growing area of biological drug development, with over 1,100 clinical trials underway at year-end 2020 </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">9 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">according to industry sources. Statements by the FDA are supported by industry reports that estimate annual revenue growth of 20% to 30% for the C&amp;GT market over the next five years. This scientifically advanced therapeutic approach has unique manufacturing challenges that many of our products can help address. We believe we are well positioned to participate in gene therapy production, particularly in the manufacture of plasmids and viral vectors. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Our Strategy </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We are focused on the development, production and commercialization of differentiated, technology-leading solutions or products that address specific pressure points in the biologics manufacturing process and deliver substantial value to our customers. Our products are designed to increase our customers&#8217; product yield, and we are committed to supporting our customers with strong customer service and applications expertise. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We intend to build on our recent history of developing market-leading solutions and delivering strong financial performance through the following strategies: </div></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Continued innovation</div></div>. We plan to capitalize on our internal technological expertise to develop products that address unmet needs in upstream and downstream bioprocessing. We intend to invest further in our Proteins franchise while developing platform and derivative products to support our Filtration, Chromatography and Process Analytics franchises. We plan to strengthen our existing product lines with complementary products and technologies that are designed to allow us to provide customers with a more efficient manufacturing process on one or more measures including flexibility, convenience, time savings, cost reduction and product yield. </div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Platforming our products. </div></div>A key strategy for accelerating market adoption of our products is delivery of enabling technologies that become the standard, or &#8220;platform,&#8221; technology in markets where we compete. We focus our efforts on winning early-stage technology evaluations through direct interaction with the key biomanufacturing decision makers in process development labs. This strategy is designed to establish early adoption of our enabling technologies at key accounts, with opportunity for customers to scale up as the molecule advances to later stages of development and potential commercialization. We believe this approach can accelerate the implementation of our products as platform products, thereby strengthening our competitive advantage and contributing to long-term growth. </div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Targeted acquisitions</div></div>. We intend to continue to selectively pursue acquisitions of innovative technologies and products. We intend to leverage our balance sheet to acquire technologies and products that improve our overall financial performance by improving our competitiveness in filtration, chromatography or process analytics or by moving us into adjacent markets with common commercial call points. </div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Geographical expansion</div></div>. We intend to expand our global commercial presence by continuing to selectively build out our global sales, marketing, field applications and services infrastructure. </div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Operational efficiency</div></div>. We seek to expand operating margins through capacity utilization and process optimization strategies designed to increase our manufacturing yields. We plan to invest in systems to support our global operations, optimizing resources across our global footprint to maximize productivity. </div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Research and Development </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Our research activities are focused on developing new high-value bioprocessing products across all of our franchises. We strive to continue to introduce truly differentiated products that address specific pain points in the biologics manufacturing process. Our commitment to innovation is core to the Repligen culture and our success as a company, with approximately 5% to 7% of revenue focused on new product development and market expansion for existing products. </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">10 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Sales and Marketing </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Our sales and marketing strategy supports our objective of strengthening our position as a leading provider of products and services, addressing upstream, downstream and quality control needs of bioprocessing customers in the biopharmaceutical industry. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Our Commercial Team </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">To support our sales goals for our direct-to-consumer products, we have invested in our commercial organization. Since 2014, we have significantly expanded our global commercial organization from less than 10, to a commercial team of 180 employees as of December&#160;31, 2020. This includes 140 people in field positions (sales, field applications and field service), and 40 people in internal positions (marketing and customer service). Geographically, 112 members of our commercial team are located in North America, 28 in Europe and 40 in Asia-Pacific regions. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Our bioprocess account managers are supported in each region by bioprocess sales specialists with expertise in Filtration, Chromatography or Process Analytics, and by technically trained field applications specialists and field service providers, who can work closely with customers on product demonstrations, implementation and support. We believe that this model helps drive further adoption at our key accounts and also open up new sales opportunities within each region. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Ligand Supply Agreements </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">For our Proteins franchise, we are committed to be a partner of choice for our customers with distributor and supply agreements in place with large life sciences companies such as Cytiva (formerly GE Healthcare), MilliporeSigma and Purolite. The Cytiva Protein A supply agreement relating to our Waltham, Massachusetts facility runs, pursuant to its terms, through 2021. During 2020, Cytiva moved a portion of its ligand manufacturing in-house. Our Protein A supply agreement with MilliporeSigma runs, pursuant to its terms, through 2023, and in 2018 we amended our Protein A supply agreement with Purolite that runs, pursuant to its terms, to August 2026 with an option for renewal through 2028. Our dual manufacturing capability provides strong business continuity and reduces overall supply risk for our ligand customers. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Significant Customers and Geographic Reporting </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Customers for our bioprocessing products include major life sciences companies, contract manufacturing organizations, biopharmaceutical companies, diagnostics companies and laboratory researchers. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following table represents the Company&#8217;s total revenue by geographic area (based on the location of the customer): </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 84%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 63%;"></td>
<td style="width: 9%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 8%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 8%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For&#160;the&#160;Years&#160;Ended&#160;December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2018</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Revenue by customers&#8217; geographic locations:</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">North America</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">48</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">51</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">48</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Europe</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">38</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">37</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">40</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">APAC/Other</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">14</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">12</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">12</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total revenue</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">100</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">100</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">100</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">MilliporeSigma, one of our biggest customers, accounted for 11%, 13% and 15% of total revenues in the years ended December&#160;31, 2020, 2019 and 2018, respectively. Another customer, Cytiva (formerly GE Healthcare) accounted for 12% and 15% of total revenues in the years ended December&#160;31, 2019 and 2018, respectively. </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">11 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Human Capital </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We view our employees and our culture as key to our success. We aspire to create healthier futures and accelerate business results by identifying, attracting, developing, motivating and retaining the best and brightest talent across all dimensions of diversity to perform to their full potential. As of December&#160;31, 2020, we employed 1,128 full-time and part-time employees, an increase of 367 since December&#160;31, 2019. The total includes 181 employees in our commercial organization (140 field and 41 internal), 124 in engineering and R&amp;D, 447 in manufacturing, 129 in quality, 77 in supply chain roles, 34 in product management and 136 in administrative functions. Each of our employees has signed a confidentiality agreement. None of our U.S. employees are covered by collective bargaining agreements. We have one collective bargaining agreement with two unions that covers our 74 employees in Sweden, comprising approximately 7% of our total workforce. We renewed this collective bargaining agreement in November 2020, and it expires at the end of March&#160;2023. Our focus on fostering diversity, inclusion, equity and belonging is critical to our global talent strategy and pivotal to building a culture that embraces individual characteristics, values diversity, minimizes barriers, and enhances feelings of security and support across the workplace. We consider our employee relations to be good. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Intellectual Property </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We are committed to protecting our intellectual property through a combination of patent, copyright, trade secret and trademark laws, as well as confidentiality agreements. As further described below, we own or have exclusive rights to a number of U.S. patents and U.S. pending patent applications as well as corresponding foreign patents and patent applications. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Filtration </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">For our Filtration franchise, we are focusing on ATF, TFDF and TFF HF systems, and filters and flow paths. We continually seek to improve upon these technologies and have multiple new patent filings including those covering pumps and controllers, methods of harvesting, single-use products, and filters. Our patent for ATF and associated methods to use such a device in perfusion, acquired from Refine, expired in 2020, and we are proactively developing technology in an effort to mitigate any effects resulting from the expiration of this patent. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We currently have 78 patents granted (which expire over the next 20 years) and 186 pending patent applications in countries that include Australia, Canada, China, France, Germany, India, Japan, Korea, Sweden, United Kingdom and the United States. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Our policy is to require each of our employees, consultants, business partners, potential collaborators and major customers to execute confidentiality agreements upon the commencement of an employment, consulting, business relationship, or product related audit with us. These agreements provide that all confidential information developed or made known to the other party during the course of the relationship with us is to be kept confidential and not disclosed to third parties except in specific circumstances. In the case of employees and consultants, the agreements generally provide that all inventions conceived by the individual in the course of rendering services to Repligen shall be our exclusive property and must be assigned to Repligen. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Chromatography </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Our issued patents cover certain unique methods and features of our OPUS PPC, including methods of making and loading these chromatography columns as well as the column structure. We continually seek to improve upon this technology and have multiple new patent filings, including those covering gamma irradiation sterilization, packing methods, and methods of removing air using specialized tubing and valve systems. </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">12 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Process Analytics </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Through our 2019 acquisition of C Technologies, we hold issued patents to Slope Spectroscopy instruments and related methods.&#160;These include patents to an &#8220;Interactive Variable Pathlength Device&#8221; that are set to expire in the United States beginning in April 2028.&#160;We also hold granted patents to methods of making Slope Spectroscopy standards and methods for using an interactive variable pathlength device. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Proteins </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We currently hold a patent for &#8220;Nucleic Acids Encoding Recombinant Protein A,&#8221; which claims sequences that encode a truncated recombinant protein A but are otherwise identical to the natural protein A, which has long been commercialized for bioprocessing applications. This patent will remain in effect until June 2028. We also have two pending patents covering affinity ligands through our collaboration with Navigo. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Trademarks </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We vigilantly protect our products and services&#8217; branding by maintaining trademark registrations globally for the Repligen trademark and our key product brands. We have a comprehensive branding policy that includes trademark usage guidelines to ensure Repligen trademarks are used in a manner that provides the maximum protection. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We prioritize our &#8220;housemark&#8221; trademarks, (i.e., Repligen, Spectrum, TangenX and ARTeSYN), and ensure they are sufficiently protected and registered in key countries or regions globally, such as the United States, Canada, Europe and China. We also have product trademarks, including OPUS, XCell ATF, TFDF, KrosFlo, SIUS, ProConnex, Spectra/Por, NGL-Impact, SoloVPE, FlowVPE and XO, that provide valuable company recognition and goodwill with our customers. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Our ability to compete effectively in the marketplace is dependent in part on our ability to protect our intellectual property rights, which includes protecting the trademarks we use in connection with our products and services. We rely on several registered and unregistered trademarks to protect our brand.</div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Licensing Agreements </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We have entered into multiple licensing and collaboration relationships with third-party business partners in an effort to fully exploit our technology and advance our bioprocessing business strategy. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Competition </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Our bioprocessing products compete on the basis of value proposition, performance, quality, cost effectiveness, and application suitability with numerous established technologies. Additional products using new technologies that may be competitive with our products may also be introduced. Many of the companies selling or developing competitive products, which in some cases include Cytiva (formerly GE Healthcare) and MilliporeSigma (the life sciences business of Merck KGaA), two of our largest customers, have greater financial and human resources, R&amp;D, manufacturing and marketing experience than we do. They may undertake their own development of products that are substantially similar to or compete with our products and they may succeed in developing products that are more effective or less costly than any that we may develop. These competitors may also prove to be more successful in their production, marketing and commercialization activities. We cannot be certain that the research, development and commercialization efforts of our competitors will not render any of our existing or potential products obsolete. </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">13 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Manufacturing </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">A majority of our 15 key manufacturing sites are located in the United States (California, Massachusetts, New Jersey and New York). Outside the United States, we have manufacturing sites in Estonia, Germany, Ireland, the Netherlands and Sweden. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The proteins products we provide are manufactured at our sites in Waltham, Massachusetts and Lund, Sweden. Native Protein A ligands and our growth factor products are manufactured in Lund, while recombinant Protein A ligands are manufactured in both Waltham and Lund. Our primary chromatography assembly and manufacturing sites are located in Waltham and Ravensburg, Germany, with additional chromatography manufacturing suites being added in Breda, the Netherlands in 2021. Our primary filtration manufacturing sites are located in Marlborough, Massachusetts and Rancho Dominguez, California. In Marlborough, the focus is on XCell ATF and flat sheet TFF products, while in Rancho Dominguez the focus is on Spectrum hollow fiber, TFDF and ProConnex products. Our process analytics products are manufactured in Bridgewater, New Jersey. Our operating room products are manufactured in Irving, Texas. With our three acquisitions in 2020, we gained manufacturing sites in Clifton Park, New York (EMT) and Auburn, Massachusetts (NMS) for fluid management consumables. ARTeSYN&#8217;s primary manufacturing sites for fluid management products and systems are located in Waterford, Ireland and Harju maakond, Estonia, with additional sites in California. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We utilize our own facilities in Waltham, Massachusetts and Lund, Sweden as well as third-party contract manufacturing organizations to carry out certain fermentation and recovery operations, while the purification, immobilization, packaging and quality control testing of our bioprocessing products are conducted at our facilities. Our facilities located in Waltham, Massachusetts; Lund, Sweden; Ravensburg, Germany; Bridgewater, New Jersey; Clifton Park, New York; and Rancho Dominguez, California are ISO 9001:2015 certified and maintain formal quality systems to maintain process control, traceability, and product conformance. Additionally, our facility in Irving, Texas is ISO 13485:2012 certified. We practice continuous improvement initiatives based on routine internal audits as well as external feedback and audits performed by our partners and customers. In addition, we maintain a business continuity management system that focuses on key areas such as contingency planning, security stocks and off-site storage of raw materials and finished goods to ensure continuous supply of our products. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Available Information </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">We maintain a website with the address <div style="text-decoration: underline; letter-spacing: 0px; top: 0px;;display:inline;">www.repligen.com</div>. We are not including the information contained on our website as a part of, or incorporating it by reference into, this Annual Report on Form&#160;10-K (&#8220;Form 10-K&#8221;). We make available free of charge through our website our Form 10-Ks, Quarterly Reports on Form 10-Q and Current Reports on Form 8-K, and amendments to these reports, as soon as reasonably practicable after we electronically file such materials with, or furnish such materials to, the Securities and Exchange Commission (&#8220;SEC&#8221;). Our Code of Business Conduct and Ethics is also available free of charge through our website. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">Our filings with the SEC may be accessed through the SEC&#8217;s Electronic Data Gathering, Analysis and Retrieval (&#8220;EDGAR&#8221;) system at <div style="text-decoration: underline; letter-spacing: 0px; top: 0px;;display:inline;">www.sec.gov</div>. </div> <div style="font-size: 18pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 18pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td id="toc105808_4" style="width: 11%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">ITEM&#160;1A.</div></div></td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">RISK FACTORS </div></div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Investors should carefully consider the risk factors described below before making an investment decision. </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">If any of the events described in the following risk factors occur, our business, financial condition or results of operations could be materially harmed. In that case, the trading price of our common stock </div></div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">14 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">could decline and investors may lose all or part of their investment. Additional risks and uncertainties that we are unaware of or that we currently deem immaterial may also become important factors that affect Repligen. </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">This Annual Report on Form 10-K (&#8220;Form 10-K&#8221;) contains forward looking statements that involve risks and uncertainties. Our actual results could differ materially from those anticipated in these forward-looking statements as a result of certain factors, including the risks faced by us described below and elsewhere in this Form&#160;10-K. </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Risks Related to Our Business </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="text-decoration: underline; letter-spacing: 0px; top: 0px;;display:inline;">Risks Related to Competition, Sales and Marketing </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">We compete with life sciences, pharmaceutical and biotechnology companies who are capable of developing new approaches that could make our products and technology obsolete. </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The bioprocessing market is intensely competitive, subject to rapid change and significantly affected by new product introductions and other market activities of industry participants. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We compete with several medium and small companies in each of our product categories as well as several large companies, including Danaher Corporation (Pall Corporation and Cytiva (formerly GE Healthcare)), Thermo Fisher Scientific Inc., MilliporeSigma and Sartorius. Many of our competitors are large, well-capitalized companies that may have greater financial, manufacturing, marketing, research and development resources than we have, as well as stronger name recognition, longer operating histories and benefits derived from greater economies of scale. As a consequence, they are able to spend more aggressively on product development, marketing, sales and other product initiatives than we can. Many of these competitors have: </div></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">significantly greater name recognition; </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">larger and more established distribution networks; </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">additional lines of products and the ability to bundle products to offer higher discounts or other incentives to gain a competitive advantage; </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">greater experience in conducting research and development, manufacturing, clinical trials, marketing, obtaining regulatory approval and entering into collaborations or other strategic partnership arrangements; and </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">greater financial and human resources for product development, sales and marketing and patent litigation. </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">These factors, among others, may enable our competitors to market their products at lower prices or on terms more advantageous to customers than what we can offer. Competition may result in price reduction, reduced gross margins and loss of market share, any of which could have a material adverse effect on our business, financial condition and results of operations. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Our current and future competitors, including certain of our customers, may at any time develop additional products that compete with our products. If any company develops products that compete with or are superior to our products, our revenue may decline. Additionally, new approaches by these competitors may make our products and technologies obsolete or noncompetitive. </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">15 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">As we evolve from a company dependent on others to commercialize our products to a company selling directly to end users, we may encounter difficulties in expanding our product portfolio and our commercial marketing capabilities. </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Prior to 2016, we generated most of our revenues through sales of bioprocessing products to a limited number of life sciences companies, such as Cytiva (formerly GE Healthcare), MilliporeSigma and other individual distributors. However, due in part to our recent strategic acquisitions, an increasing amount of our revenue is attributable to our commercialization of bioprocessing products that we sell directly to end-users, including biopharmaceutical companies and contract manufacturing organizations. This has required and will continue to require us to invest additional resources in our sales and marketing capabilities. We may not be able to attract and retain additional sales and marketing professionals, and the cost of building the sales and marketing function may not generate our anticipated revenue growth. In addition, our sales and marketing efforts may be unsuccessful. Our failure to manage these risks may have a negative impact on our financial condition, or results of operations and may cause our stock price to decline. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">If we are unable to continue to hire and retain skilled personnel, then we will have trouble developing and marketing our products. </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Our success depends largely upon the continued service of our management and scientific staff and our ability to attract, retain and motivate highly skilled technical, scientific, management and marketing personnel. We also face significant competition in the hiring and retention of such personnel from other companies, research and academic institutions, government and other organizations who have superior funding and resources. The loss of key personnel or our inability to hire and retain skilled personnel could materially adversely affect our product development efforts and our business. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Despite our increasingly diversified client base, we have historically depended on a limited number of customers for a high percentage of our revenues. </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The loss of, or a significant reduction in orders from, any of our large customers, including following any termination or failure to renew a long-term supply contract, would significantly reduce our revenues and harm our results of operations. If a large customer purchases fewer of our products, defers orders or fails to place additional orders with us for any reason, including for business continuity purposes, our revenue could decline, and our operating results may not meet market expectations. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">In addition, if our customers order our products, but fail to pay on time or at all, our liquidity and operating results could be materially and adversely affected. Furthermore, if any of our current or future products compete with those of any of our largest customers, these customers may place fewer orders with us or cease placing orders with us, which would negatively affect our revenues and operating results. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Certain of our products are used by customers in the production of gene therapies, which represent a relatively new and still-developing mode of treatment. Unforeseen adverse events, negative clinical outcomes, or increased regulatory scrutiny of gene therapy and its financial cost may damage public perception of the safety, utility, or efficacy of gene therapies and may harm our customers&#8217; ability to conduct their business. Such events may negatively impact our revenues and have an adverse effect on our performance. </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Gene therapy remains a relatively new and developing treatment method, with only a few gene therapies approved to date by regulatory authorities. Public perception may be influenced by claims that gene therapy is unsafe or ineffective, and gene therapy may not gain the acceptance of the public or the medical community. In addition, ethical, social, legal, and financial concerns about gene therapy and </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">16 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">genetic testing could result in additional regulations or limitations or even prohibitions on certain gene therapies or gene-therapy-related products. More restrictive regulations or negative public perception could reduce certain of our customers&#8217; use of our products, which could negatively affect our revenue and performance. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">In response to the COVID-19 pandemic, certain of our products are used by customers in the production of COVID-19 vaccines and therapeutics, some of which have not yet received regulatory approval. Unforeseen adverse events, regulatory interventions, or the emergence of new variants of the virus rendering current vaccines and therapeutics ineffective, and the development of next generation vaccines and therapeutics that do not incorporate our products may negatively impact our revenues and have an adverse effect on our performance. </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Certain of our products are being used by our customers in the development and manufacture of novel COVID-19 vaccines and therapies. Certain of these therapies continue to be under development, while others have received regulatory approval in the applicable jurisdictions for distribution. Negative outcomes in clinical trials and unforeseen adverse events in patients may result in increased regulatory scrutiny or reduced public trust of such therapies and could reduce certain of our customers&#8217; use of our products. Such events would have a negative impact on our revenues. In addition, if failure to obtain certain regulatory approvals or increased competition in the production of COVID-19 vaccines and therapies causes our customers to discontinue the use of our products in the development of such therapies, our product revenues may decline, which would negatively impact our financial performance. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="text-decoration: underline; letter-spacing: 0px; top: 0px;;display:inline;">Risks Related to the COVID-19 Pandemic </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">The COVID-19 pandemic, or similar public health crises, could have a material adverse impact on our business, financial condition and results of operations, including our product sales, and our stock price. </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Since December 2019, an outbreak of a novel strain of a virus named SARS-CoV-2, or coronavirus, which causes COVID-19, has since spread to countries in which we or our customers and suppliers operate, including the United States. The COVID-19 pandemic is evolving, and to date, has led to the implementation of various responses, including government-imposed quarantines, extended business closures, travel restrictions and other public health safety measures, as well as reported adverse impacts on healthcare resources, facilities and providers, in Massachusetts, across the United States and in other countries. The COVID-19 outbreak continues to rapidly evolve. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">In response to the COVID-19 pandemic and in accordance with direction from state and local government authorities, we have restricted and may continue to restrict access to our facilities mostly to personnel and third parties who must perform critical activities that must be completed on-site, limited the number of such personnel that can be present at our facilities at any one time, and requested that most of our personnel work remotely. In the event that governmental authorities were to further modify current restrictions, our employees conducting research and development or manufacturing activities may not be able to access our manufacturing space. Certain of our third-party suppliers have also temporarily closed facilities and have experienced work stoppages due to the spread of COVID-19. Such closures and stoppages may lead to interruptions in our manufacturing activities and our product supply and could have a material adverse effect on our business and our results of operation and financial condition. Our revenues and other operating results depend in large part on our ability to manufacture and assemble our products in sufficient quantities and in a timely manner. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">In addition, the trading prices for our common stock and other biopharmaceutical companies have been highly volatile as a result of COVID-19. As a result, we may face difficulties raising capital through sales of our common stock or such sales may be on unfavorable terms. </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">17 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We operate on a global basis with offices or activities in Japan, South Korea, China, India, Europe and North America, and global health crises, such as COVID-19, could result in a widespread economic downturn in the industries in which we and our customers operate. The extent to which the outbreak impacts our business and the businesses of our customers will depend on future developments, which remain highly uncertain and cannot be predicted with confidence, such as the continued geographic spread of the disease, the duration of the outbreak, and actions taken in the United States and elsewhere to contain the outbreak and treat the disease, such as social distancing and quarantines, business closures or business disruptions. Some factors from the COVID-19 pandemic that could delay or otherwise adversely affect the completion of our customers&#8217; preclinical activities and clinical trials, as well as the healthcare industry generally, include: </div></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">the potential diversion of resources in the healthcare system away from routine patient treatment, drug development and clinical trials to focus on pandemic concerns, which could result in reduced demand for our products or our customer&#8217;s products and could significantly impact our operating results; </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">limitations on travel that could interrupt our customers&#8217; key preclinical activities and trial activities, such as clinical trial site initiations and monitoring, domestic and international travel by customer employees, contractors or patients to clinical trial sites, including any government-imposed travel restrictions or quarantines that will impact the ability or willingness of patients, employees or contractors to travel to a customer&#8217;s research, manufacturing and clinical trial sites or secure visas or entry permissions, any of which could delay or adversely impact the conduct or progress of such customer&#8217;s prospective clinical trials; </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">interruption or delays in the operations of the FDA and comparable foreign regulatory agencies, which may impact review, inspection, clearance and approval timelines; </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">interruption in global shipping affecting the transport of our products and other supplies used in our customer&#8217;s prospective clinical trials due to staffing shortages, production slowdowns or stoppages and disruptions in delivery systems; </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">limitations on business operations by local, state, or the federal government that could impact our customers&#8217; ability to conduct preclinical or clinical activities; </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">business disruptions caused by potential workplace, laboratory and office closures and an increased reliance on employees working from home, disruptions to or delays in ongoing laboratory experiments and operations, staffing shortages, travel limitations, or communication or mass transit disruptions, any of which could adversely impact our business operations or delay necessary interactions with local regulators, ethics committees, manufacturing sites and other important agencies and contractors; </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">business disruptions or cybersecurity risks associated with a substantial portion of our workforce working from home for extended periods of time; and </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">the impact on the valuation of our marketable securities and other financial assets due to market volatility. </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Risks Related to Product Development and Acquisitions </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">If we are unable to expand our product portfolio, our ability to generate revenue could be adversely affected. </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We are increasingly seeking to develop and commercialize our portfolio of products. Our future financial performance will depend, in part, on our ability to successfully develop and acquire additional bioprocessing products. There is no guarantee that we will be able to successfully acquire or develop additional bioprocessing products, and the Company&#8217;s financial performance will likely suffer if we are unable to do so. </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">18 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Our acquisitions expose us to risks that could adversely affect our business, and we may not achieve the anticipated benefits of acquisitions of businesses or technologies. </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">As a part of our growth strategy, we may make selected acquisitions of complementary products and/or businesses, such as our recent acquisitions of ARTeSYN Biosolutions Holdings Ireland Limited, Non-Metallic Solutions, Inc. or Engineered Molding Technology LLC. Any acquisition involves numerous risks and operational, financial, and managerial challenges, including the following, any of which could adversely affect our business, financial condition, or results of operations: </div></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">difficulties in integrating new operations, technologies, products, and personnel; </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">problems maintaining uniform procedures, controls and policies with respect to our financial accounting systems; </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">lack of synergies or the inability to realize expected synergies and cost-savings; </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">difficulties in managing geographically dispersed operations, including risks associated with entering foreign markets in which we have no or limited prior experience; </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">underperformance of any acquired technology, product, or business relative to our expectations and the price we paid; </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">negative near-term impacts on financial results after an acquisition, including acquisition-related earnings charges; </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">the potential loss of key employees, customers, and strategic partners of acquired companies; </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">claims by terminated employees and shareholders of acquired companies or other third parties related to the transaction; </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">the assumption or incurrence of additional debt obligations or expenses, or use of substantial portions of our cash; </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">the issuance of equity securities to finance or as consideration for any acquisitions that dilute the ownership of our stockholders; </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">the issuance of equity securities to finance or as consideration for any acquisitions may not be an option if the price of our common stock is low or volatile which could preclude us from completing any such acquisitions; </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">any collaboration, strategic alliance and licensing arrangement may require us to relinquish valuable rights to our technologies or product candidates, or grant licenses on terms that are not favorable to us; </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">diversion of management&#8217;s attention and company resources from existing operations of the business; </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">inconsistencies in standards, controls, procedures, and policies; </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">the impairment of intangible assets as a result of technological advancements, or worse-than-expected performance of acquired companies; </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">assumption of, or exposure to, historical liabilities of the acquired business, including unknown contingent or similar liabilities that are difficult to identify or accurately quantify; and </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">risks associated with acquiring intellectual property, including potential disputes regarding acquired companies&#8217; intellectual property. </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">In addition, the successful integration of acquired businesses requires significant efforts and expense across all operational areas, including sales and marketing, research and development, manufacturing, finance, legal, and information technologies. There can be no assurance that any of the acquisitions we </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">19 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">may make will be successful or will be, or will remain, profitable. Our failure to successfully address the foregoing risks may prevent us from achieving the anticipated benefits from any acquisition in a reasonable time frame, or at all. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">If intangible assets and goodwill that we recorded in connection with our acquisitions become impaired, we may have to take significant charges against earnings. </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">In connection with the accounting for our completed acquisitions, we recorded a significant amount of intangible assets, including developed technology and customer relationships relating to the acquired product lines, and goodwill. Under accounting principles generally accepted in the United States (&#8220;GAAP&#8221;), we must assess, at least annually and potentially more frequently, whether the value of intangible assets and goodwill has been impaired. Intangible assets and goodwill will be assessed for impairment in the event of an impairment indicator. Any reduction or impairment of the value of intangible assets and goodwill will result in a charge against earnings, which could materially adversely affect our results of operations and shareholders&#8217; equity in future periods. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Risks Related to Manufacturing and Supply </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">If we are unable to manufacture our products in sufficient quantities and in a timely manner, our operating results will be harmed, our ability to generate revenue could be diminished and our gross margin may be negatively impacted. </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Our revenues and other operating results will depend in large part on our ability to manufacture and assemble our products in sufficient quantities and in a timely manner. Any interruptions we experience in the manufacturing or shipping of our products could delay our ability to recognize revenues in a particular quarter. Manufacturing problems can and do arise, and as demand for our products increases, any such problems could have an increasingly significant impact on our operating results. While we have not generally experienced problems with, or delays in, our production capabilities that resulted in delays in our ability to ship finished products, there can be no assurance that we will not encounter such problems in the future. We may not be able to quickly ship products and recognize anticipated revenues for a given period if we experience significant delays in the manufacturing process. In addition, we must maintain sufficient production capacity in order to meet anticipated customer demand, which carries fixed costs that we may not be able to offset if orders slow, which would adversely affect our operating margins. If we are unable to manufacture our products consistently, in sufficient quantities, and on a timely basis, our bioprocessing revenue, gross margins and our other operating results will be materially and adversely affected. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">We rely on a limited number of suppliers or, for certain of our products, one supplier, and we may not be able to find replacements or immediately transition to alternative suppliers, which could have a material adverse effect on our financial condition, results of operations and reputation. </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">There are only a limited number of suppliers of materials for certain of our products. An interruption in operations of the business related to these products could occur if we encounter delays or difficulties in securing the required materials, or if we cannot then obtain an acceptable substitute. Any such interruption could significantly affect the business related to these products and our financial condition, results of operations and reputation. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">For example, we believe that only a small number of suppliers are currently qualified to supply materials for the XCell Alternating Tangential Filtration (&#8220;ATF&#8221;)<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#8482;</div> systems. The use of materials furnished by these replacement suppliers would require us to alter our operations related to the XCell ATF systems. Transitioning to a new supplier for our products would be time-consuming and expensive, may result in interruptions in our operations, could affect the performance specifications of our product lines or could require that we revalidate the materials. There can be no assurance that we will be able to secure </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">20 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> </div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">alternative materials and bring such materials online and revalidate them without experiencing interruptions in our workflow. If we should encounter delays or difficulties in securing, reconfiguring or revalidating the materials required for our products, our business related to these products and our financial condition, results of operations and reputation could be adversely affected. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Risks Related to Our Financial Position and Need for Additional Capital </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Servicing our debt will require a significant amount of cash, and we may not have sufficient cash flow from our business to make payments on our debt. </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">In 2019, we incurred significant indebtedness in the amount of $287.5&#160;million in aggregate principal with additional accrued interest under our 0.375% Convertible Senior Notes due 2024 (the &#8220;2019 Notes&#8221;). Our ability to make scheduled payments of the principal of, to pay interest on, or to refinance our indebtedness, including the 2019 Notes, depends on our future performance, which is subject to economic, financial, competitive and other factors that may be beyond our control. Our business may not generate cash flow from operations in the future sufficient to service our debt and make necessary capital expenditures. If we are unable to generate such cash flow, we may be required to adopt one or more alternatives, such as selling assets, restructuring debt or obtaining additional equity capital on terms that may be onerous or highly dilutive. Our ability to refinance our indebtedness will depend on the capital markets and our financial condition at such time. In addition, in the event of a fundamental change or a default under the 2019 Notes, the holders and/or the trustee under the indentures governing the 2019 Notes may accelerate the payment obligations or trigger the holders&#8217; repurchase rights under the 2019 Notes. We may not be able to engage in any of these activities or engage in these activities on desirable terms, which could result in a default on our debt obligations, including the 2019 Notes. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">If a make-whole fundamental change, such as an acquisition of our company, occurs prior to the maturity of the 2019 Notes, under certain circumstances, the conversion rate for the 2019 Notes will increase such that additional shares of our common stock will be issued upon conversion of the 2019 Notes in connection with such make-whole fundamental change. The increase in the conversion rate will be determined based on the date on which the make-whole fundamental change occurs or becomes effective and the price paid (or deemed paid) per share of our common stock in such transaction. Upon conversion of the 2019 Notes, unless we elect to deliver solely shares of our common stock to settle such conversion (other than paying cash in lieu of delivering any fractional share), we will be required to make cash payments in respect of the 2019 Notes being converted. We may not have enough available cash or be able to obtain financing at the time we are required to make repurchases of 2019 Notes surrendered therefor or notes being converted. Our failure to repurchase 2019 Notes at a time when the repurchase is required by the indenture or to pay any cash payable on future conversions of the 2019 Notes as required by the indenture would constitute a default under the indenture. If the repayment of the related indebtedness were to be accelerated after any applicable notice or grace periods, we may not have sufficient funds to repay the indebtedness and repurchase the 2019 Notes or make cash payments upon conversions thereof. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">In addition, our significant indebtedness, combined with our other financial obligations and contractual commitments, could have other important consequences. For example, it could: </div></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">make us more vulnerable to adverse changes in general U.S. and worldwide economic, industry and competitive conditions and adverse changes in government regulation; </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">limit our flexibility in planning for, or reacting to, changes in our business and our industry; </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">place us at a disadvantage compared to our competitors who have less debt; and </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">limit our ability to borrow additional amounts for working capital and other general corporate purposes, including to fund possible acquisitions of, or investments in, complementary businesses, products, services and technologies. </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">21 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Any of these factors could materially and adversely affect our business, financial condition and results of operations. In addition, if we incur additional indebtedness, the risks related to our business and our ability to service or repay our indebtedness would increase. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Future strategic transactions or acquisitions may require us to seek additional financing, which we may not be able to secure on favorable terms, if at all. </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We plan to continue a strategy of growth and development for our bioprocessing business, and we actively evaluate various strategic transactions on an ongoing basis, including licensing or acquiring complementary products, technologies or businesses that would complement our existing portfolio of development programs. In order to complete such strategic transactions, we may need to seek additional financing to fund these investments and acquisitions. Should we need to do so, we may not be able to secure such financing, or obtain such financing on favorable terms because of the volatile nature of the biotechnology marketplace. In addition, future acquisitions may require the issuance or sale of additional equity or debt securities, which may result in additional dilution to our stockholders. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Our exposure to political, economic and other risks that arise from operating a multinational business has and may continue to increase. </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We operate on a global basis with offices or activities in Japan, South Korea, China, India, Europe and North America. Our operations and sales outside of the United States have increased as a result of our strategic acquisitions and the continued expansion of our commercial organization. Risks related to these increased foreign operations include: </div></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">fluctuations in foreign currency exchange rates, which may affect the costs incurred in international operations and could harm our results of operations and financial condition; </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">changes in general economic and political conditions in countries where we operate, particularly as a result of ongoing economic instability within foreign jurisdictions; </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">the occurrence of a trade war, or other governmental action related to tariffs or trade agreements; </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">being subject to complex and restrictive employment and labor laws and regulations, as well as union and works council restrictions; </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">changes in tax laws or rulings in the United States or other foreign jurisdictions that may have an adverse impact on our effective tax rate; </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">being subject to burdensome foreign laws and regulations, including regulations that may place an increased tax burden on our operations; </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">being subject to longer payment cycles from customers and experiencing greater difficulties in timely accounts receivable collections; and </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">required compliance with a variety of foreign laws and regulations, such as data privacy requirements, real estate and property laws, anti-competition regulations, import and trade restrictions, export requirements, U.S. laws such as the Foreign Corrupt Practices Act of 1977 and the U.S. Department of Commerce&#8217;s Export Administration Regulations, and other U.S. federal laws and regulations established by the Office of Foreign Assets Control, local laws such as the U.K. Bribery Act of 2010 or other local laws that prohibit corrupt payments to governmental officials or certain payments or remunerations to customers. </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Our business success depends in part on our ability to anticipate and effectively manage these and other related factors. We cannot assure you that these and other related factors will not materially adversely affect our international operations or business as a whole. </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">22 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">In addition, a deterioration in diplomatic relations between the United States and any country where we conduct business could adversely affect our future operations and lead to a decline in profitability. In 2018 and 2019, the United States imposed tariffs on goods imported from China and certain other countries, which has resulted in retaliatory tariffs by China and other countries. Additional tariffs or further retaliatory trade measures taken by China or other countries in response, could affect the demand for our products and services, impact the competitive position of our products, prevent us from being able to sell products in certain countries or otherwise adversely impact our results of operations. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">We may be unable to efficiently manage our growth as a larger and more geographically diverse organization. </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Our strategic acquisitions, the continued expansion of our commercial sales operations, and our organic growth have increased the scope and complexity of our business. As a result, we will face challenges inherent in efficiently managing a more complex business with an increased number of employees over large geographic distances, including the need to implement appropriate systems, policies, benefits and compliance programs. Our inability to manage successfully the geographically more diverse (including from a cultural perspective) and substantially larger combined organization could materially adversely affect our operating results and, as a result, the market price of our common stock. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Our results of operations could be negatively affected by potential fluctuations in foreign currency exchange rates. </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We conduct a large portion of our business in international markets. For the fiscal year ended December&#160;31, 2020, 30% of our revenues and 7% of our costs and expenses were denominated in foreign currencies, primarily the Swedish krona, the British pound sterling, and the Euro. We are exposed to the risk of an increase or decrease in the value of the foreign currencies relative to the U.S.&#160;Dollar, which could increase the value of our expenses and decrease the value of our revenue when measured in U.S.&#160;Dollars. As a result, our results of operation may be influenced by the effects of future exchange rate fluctuations and such effects may have an adverse impact on our common stock price. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Natural disasters, geopolitical unrest, war, terrorism, public health issues or other catastrophic events could disrupt the supply, delivery or demand of products, which could negatively affect our operations and performance. </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We are subject to the risk of disruption by earthquakes, floods and other natural disasters, fire, power shortages, geopolitical unrest, war, terrorist attacks and other hostile acts, public health issues, epidemics or pandemics and other events beyond our control and the control of the third parties on which we depend. Any of these catastrophic events, whether in the United States or abroad, may have a strong negative impact on the global economy, our employees, facilities, partners, suppliers, distributors or customers, and could decrease demand for our products, create delays and inefficiencies in our supply chain and make it difficult or impossible for us to deliver products to our customers. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">For example, in December 2019 an outbreak of a novel strain of coronavirus originated in Wuhan, China, and has since spread to a number of other countries in which we or our suppliers operate, including the United States. This outbreak has resulted in the extended shutdown of certain businesses in the Wuhan region, which may in turn result in disruptions to our and our customer&#8217;s supply chain and business operations. These could include disruptions from the temporary closure of third-party supplier and manufacturer facilities, interruptions in product supply, or restrictions on the export or shipment of our products. Global health concerns, such as coronavirus, could also result in social, economic, and labor instability in the countries in which we or our customers and suppliers operate. These uncertainties could have a material adverse effect on our business and our results of operation and financial condition. </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">23 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">In addition, a catastrophic event that results in the destruction or disruption of our data centers or our critical business or information technology systems would severely affect our ability to conduct normal business operations and, as a result, our operating results would be adversely affected. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Legal, political and economic uncertainty surrounding the withdrawal of the United Kingdom from the European Union is a source of instability and uncertainty. </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">On June&#160;23, 2016, the United Kingdom (&#8220;U.K.&#8221;) held a referendum in which a majority of voters approved an exit from the European Union (&#8220;EU&#8221;). The U.K. formally left the EU on January&#160;31, 2020 in a process commonly referred to as &#8220;Brexit&#8221;. Under a withdrawal agreement (the &#8220;Withdrawal Agreement&#8221;) between the EU and the U.K., the United Kingdom was subject to a transition period until December&#160;31, 2020 (the &#8220;Transition Period&#8221;), during which EU rules continued to apply. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The U.K. and EU have signed an EU-UK Trade and Cooperation Agreement, which became provisionally applicable on January&#160;1, 2021 and will become formally applicable once ratified by both the U.K. and the EU. This agreement provides details on how some aspects of the U.K. and EU&#8217;s relationship regarding medicinal products will operate, particularly in relation to Good Manufacturing Practice, however there are still many uncertainties. Many of the regulations that now apply in the U.K. following the transition period (including financial laws and regulations, tax, intellectual property rights, data protection laws, supply chain logistics, environmental, health and safety laws and regulations, medicine approval and regulations, immigration laws and employment laws), will likely be amended in future as the U.K. determines its new approach, which may result in significant divergence from EU regulations. This lack of clarity on future U.K. laws and regulations and their interaction with the EU laws and regulations increases our regulatory burden of operating in and doing business with both the U.K. and the EU. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">These developments, or the perception that any of them could occur, have had, and may continue to have, a significant adverse effect on global economic conditions and the stability of global financial markets, and could significantly reduce global market liquidity and limit the ability of key market participants to operate in certain financial markets. In particular, it could also lead to a period of considerable uncertainty in relation to the U.K. financial and banking markets, as well as on the regulatory process in Europe. Asset valuations, currency exchange rates and credit ratings may also be subject to increased market volatility. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">If the U.K. and the EU are unable to negotiate acceptable trading and customs terms or if other EU Member States pursue withdrawal, barrier-free access between the U.K. and other EU Member States or among the European Economic Area (&#8220;E.E.A.&#8221;) overall could be diminished or eliminated. The long-term effects of&#160;Brexit&#160;will depend on any agreements (or lack thereof) between the U.K. and the EU and, in particular, any arrangements for the U.K. to retain access to EU markets after the Transition Period. Such a withdrawal from the EU is unprecedented, and it is unclear how the restrictions on the U.K.&#8217;s access to the European single market for goods, capital, services and labor within the EU, or single market, and the wider commercial, legal and regulatory environment, could impact our U.K. operations. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We may also face new regulatory costs and challenges that could have an adverse effect on our operations and development programs. For example, the U.K. could lose the benefits of global trade agreements negotiated by the EU on behalf of its members, which may result in increased trade barriers that could make our doing business in the EU and the E.E.A. more difficult. There may continue to be economic uncertainty surrounding the consequences of&#160;Brexit, which could adversely affect our financial condition, results of operations, cash flows and market price of our common stock. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Negotiations between the U.K. and the EU are expected to continue in relation to the customs and trading relationship between the U.K. and the EU following the expiry of the Transition Period. The uncertainty concerning the U.K.&#8217;s legal, political and economic relationship with the EU may be a source </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">24 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">of instability in the international markets, create significant currency fluctuations, and/or otherwise adversely affect trading agreements or similar cross-border co-operation arrangements (whether economic, tax, fiscal, legal, regulatory or otherwise). </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Risks Related to Ownership of Our Common Stock </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="text-decoration: underline; letter-spacing: 0px; top: 0px;;display:inline;">Risks Related to Investment in Our Securities </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Our operating results may fluctuate significantly, our customers&#8217; future purchases are difficult to predict and any failure to meet financial expectations may result in a decline in our stock price. </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Our quarterly operating results may fluctuate in the future as a result of many factors such as the impact of seasonal spending patterns, changes in overall spending levels in the life sciences industry, the inability of some of our customers to consummate anticipated purchases of our products due to changes in end-user demand, and other unpredictable factors that may affect ordering patterns. Because our revenue and operating results are difficult to predict, we believe that our past results of operations are not necessarily a good indicator of our future performance. Additionally, if revenue declines in a quarter, whether due to a delay in recognizing expected revenue, adverse economic conditions or otherwise, our results of operations will be harmed because many of our expenses are relatively fixed. In particular, a large portion of our manufacturing costs, our research and development, sales and marketing and general and administrative expenses are not significantly affected by variations in revenue. Further, our gross margins are dependent on product mix. A shift in sales mix away from our higher-margin products to lower margin products will adversely affect our gross margins. If our quarterly operating results fail to meet investor expectations, the price of our common stock may decline. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Securities or industry analysts may not publish favorable research or reports about our business or may publish no information, which could cause our stock price or trading volume to decline. </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The trading market for our common stock is influenced by the research and reports that industry or securities analysts publish about us and our business. We do not have any control over these analysts and we cannot provide any assurance that analysts will cover us or provide favorable coverage. If any of the analysts who cover us issue an adverse opinion regarding our stock price, our business or stock price would likely decline. If one or more of these analysts cease coverage of our company or fail to regularly publish reports covering us, we could lose visibility in the market, which in turn could cause our stock price or trading volume to decline. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Our stock price could be volatile, which could cause shareholders to lose part or all of their investment. </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The market price of our common stock, like that of the common stock of many other companies with similar market capitalizations, is highly volatile. In addition, the stock market has experienced extreme price and volume fluctuations. This volatility has significantly affected the market prices of securities of many life sciences, biotechnology and pharmaceutical companies for reasons frequently unrelated to or disproportionate to the operating performance of the specific companies. These broad market fluctuations may adversely affect the market price of our common stock. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">If we fail to maintain an effective system of internal controls, we may not be able to accurately report financial results or prevent fraud. If we identify a material weakness in our internal control over financial reporting, our ability to meet our reporting obligations and the trading price of our stock could be negatively affected. </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Effective internal controls are necessary to provide reliable financial reports and to assist in the effective prevention of fraud. Any inability to provide reliable financial reports or prevent fraud could harm our </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">25 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">business. We regularly review and update our internal controls, disclosure controls and procedures, and corporate governance policies. In addition, we are required under the Sarbanes-Oxley Act of 2002 to report annually on our internal control over financial reporting. Any system of internal controls, however well designed and operated, is based in part on certain assumptions and can provide only reasonable, not absolute, assurances that the objectives of the system are met. If we, or our independent registered public accounting firm, determine that our internal controls over financial reporting are not effective, discover areas that need improvement in the future or discover a material weakness, these shortcomings could have an adverse effect on our business and financial results, and the price of our common stock could be negatively affected. A material weakness is a deficiency, or a combination of deficiencies, in internal control over financial reporting, such that there is a reasonable possibility that a material misstatement of our annual or interim financial statements will not be prevented or detected on a timely basis. Accordingly, a material weakness increases the risk that the financial information we report contains material errors. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">If we cannot conclude that we have effective internal control over our financial reporting, or if our independent registered public accounting firm is unable to provide an unqualified opinion regarding the effectiveness of our internal control over financial reporting, investors could lose confidence in the reliability of our financial statements, which could lead to a decline in our stock price. Failure to comply with reporting requirements could also subject us to sanctions and/or investigations by the SEC, The Nasdaq Stock Market or other regulatory authorities. We have previously implemented several significant ERP modules and expect to implement additional ERP modules in the future. The implementation of the ERP system represents a change in our internal control over financial reporting. Although we continue to monitor and assess our internal controls in the new ERP system environment as changes are made and new modules are implemented, and we have taken additional steps to modify and enhance the design and effectiveness of our internal control over financial reporting, there is a risk that deficiencies may occur that could aggregate to a material weakness. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">If we fail to remedy any deficiencies or maintain the adequacy of our internal controls, we could be subject to regulatory scrutiny, civil or criminal penalties or shareholder litigation. In addition, failure to maintain adequate internal controls could result in financial statements that do not accurately reflect our operating results or financial condition. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="text-decoration: underline; letter-spacing: 0px; top: 0px;;display:inline;">Risks Related to Our Charter and Bylaws </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Anti-takeover provisions in our charter documents, certain of our contracts with third parties, and under Delaware law could make an acquisition of us, even one that may be beneficial to our stockholders, more difficult and may prevent attempts by our stockholders to replace or remove our current management. </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Provisions in our certificate of incorporation and by-laws may delay or prevent an acquisition of us or a change in our management. These provisions include the ability of our board of directors to issue preferred stock without stockholder approval. In addition, because we are incorporated in Delaware, we are governed by the provisions of Section&#160;203 of the Delaware General Corporation Law, which limits the ability of stockholders owning in excess of 15% of our outstanding voting stock to merge or combine with us. Although we believe these provisions collectively provide for an opportunity to obtain greater value for stockholders by requiring potential acquirers to negotiate with our board of directors, they would apply even if an offer rejected by our board was considered beneficial by some stockholders. Additionally, certain of our contracts with third parties allow for termination upon specified change of control transactions. Anti-takeover provisions may frustrate or prevent any attempts by our stockholders to replace or remove our current management by making it more difficult for stockholders to replace members of our board of directors, which is responsible for appointing the members of our management, and anti-takeover or change of control contract termination rights may frustrate or prevent any attempts by a third-party to acquire or attempt to acquire the Company. </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">26 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="text-decoration: underline; letter-spacing: 0px; top: 0px;;display:inline;">Risks Related to Tax Matters </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">The enactment of legislation implementing changes in taxation of international business activities, the adoption of other corporate tax reform policies, or changes in tax legislation or policies, or interpretations thereof, could materially impact our financial position and results of operations.</div></div></div></div><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="background: none;;font-weight:bold;display:inline;"><div style="font-style: normal; background: none; text-decoration: none; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;"> </div></div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Corporate tax reform, base-erosion efforts and tax transparency continue to be high priorities in many tax jurisdictions where we have business operations. As a result, policies regarding corporate income and other taxes in numerous jurisdictions are under heightened scrutiny and tax reform legislation is being proposed or enacted in a number of jurisdictions. For example, the Tax Cuts and Jobs Act (the &#8220;2017 Tax Reform Act&#8221;), adopting broad U.S. corporate income tax reform will, among other things, reduce the U.S. corporate income tax rate, but will impose base-erosion prevention measures on earnings of non-U.S. subsidiaries of U.S. entities as well as the transition tax on mandatory deemed repatriation of accumulated non-U.S. earnings of U.S. controlled foreign corporations. There is no assurance that our actual income tax liability will not be materially different than what is reflected in our income tax provisions and accruals. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">In addition, many countries are beginning to implement legislation and other guidance to align their international tax rules with the Organisation for Economic Co-operation and Development&#8217;s Base Erosion and Profit Shifting recommendations and action plan that aim to standardize and modernize global corporate tax policy, including changes to cross-border tax, transfer pricing documentation rules, and nexus-based tax incentive practices. Because of the heightened scrutiny of corporate taxation policies, prior decisions by tax authorities regarding treatments and positions of corporate income taxes could be subject to enforcement activities, and legislative investigation and inquiry, which could also result in changes in tax policies or prior tax rulings. Any such changes in policies or rulings may also result in the taxes we previously paid being subject to change. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Due to the large scale of our international business activities, any substantial changes in international corporate tax policies, enforcement activities or legislative initiatives may materially adversely affect our business, the amount of taxes we are required to pay and our financial condition and results of operations generally. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Our ability to use net operating loss and tax credit carryforwards and certain built-in losses to reduce future tax payments is limited by provisions of the Internal Revenue Code, and it is possible that certain transactions or a combination of certain transactions may result in material additional limitations on our ability to use our net operating loss and tax credit carryforwards.</div></div></div></div><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="background: none;;font-weight:bold;display:inline;"><div style="font-style: normal; background: none; text-decoration: none; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;"> </div></div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Section&#160;382 and 383 of the Internal Revenue Code of 1986, as amended, contain rules that limit the ability of a company that undergoes an ownership change, which is generally any change in ownership of more than 50% of its stock over a three-year period, to utilize its net operating loss and tax credit carryforwards and certain built-in losses recognized in years after the ownership change. These rules generally operate by focusing on ownership changes involving stockholders owning directly or indirectly 5% or more of the stock of a company and any change in ownership arising from a new issuance of stock by the company. Generally, if an ownership change occurs, the yearly taxable income limitation on the use of net operating loss and tax credit carryforwards and certain built-in losses is equal to the product of the applicable long-term, tax-exempt rate and the value of the company&#8217;s stock immediately before the ownership change. We may be unable to offset our taxable income with losses, or our tax liability with credits, before such losses and credits expire and therefore would incur larger federal income tax liability. While our most recent Section&#160;382 analysis did not show any current exposure, future transactions or combinations of future transactions may result in a change in control under Section&#160;382 in the future. Federal net operating losses generated after December&#160;31, 2017 are not subject to expiration and generally may not be carried back to prior taxable years except that, under the </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">27 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Coronavirus Aid, Relief, and Economic Security Act, net operating losses generated in 2018, 2019 and 2020 may be carried back five taxable years. Additionally, for taxable years beginning after December&#160;31, 2020, the deductibility of such deferral net operating losses is limited to 80% of our taxable income in any future taxable year. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Risks Related to Government Regulation </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="text-decoration: underline; letter-spacing: 0px; top: 0px;;display:inline;">Risks Related to Regulations and Compliance </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">We are subject to export and import control laws and regulations that could impair our ability to compete in international markets or subject us to liability if we violate such laws and regulations. </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We are subject to U.S. export controls and sanctions regulations that restrict the shipment or provision of certain products and services to certain countries, governments, and persons. While we take precautions to prevent our products and services from being exported in violation of these laws, we cannot guarantee that the precautions we take will prevent violations of export control and sanctions laws. We believe that, in the past, we and our subsidiaries may have exported certain products without a required export license in apparent violation of U.S. export control laws. As a result, we have submitted to the U.S. Department of Commerce&#8217;s Bureau of Industry and Security various notices of&#160;voluntary self-disclosure&#160;concerning potential violations. If we are found to be in violation of U.S. sanctions or export control laws, it could result in substantial fines and penalties for us and for the individuals working for us. We may also be adversely affected through other penalties, reputational harm, loss of access to certain markets, or otherwise. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Complying with export control and sanctions regulations may be time-consuming and may result in the delay or loss of sales opportunities or impose other costs. Any change in export or import regulations, economic sanctions or related legislation, or change in the countries, governments, persons or technologies targeted by such regulations, could result in our decreased ability to export or sell certain products to existing or potential customers in affected jurisdictions. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Our business is subject to a number of environmental risks. </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Our manufacturing business involves the controlled use of hazardous materials and chemicals and is therefore subject to numerous environmental and safety laws and regulations and periodic inspections for possible violations of these laws and regulations. In addition to these hazardous materials and chemicals, our facility in Sweden also uses Staphylococcus aureus and toxins produced by Staphylococcus aureus in some of its manufacturing processes. Staphylococcus aureus and the toxins it produces, particularly enterotoxins, can cause severe illness in humans. The costs of compliance with environmental and safety laws and regulations are significant. Any violations, even if inadvertent or accidental, of current or future environmental and safety laws or regulations and the cost of compliance with any resulting order or fine could adversely affect our operations. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Health care reform measures could adversely affect our business. </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The efforts of governmental and third-party payors to contain or reduce the costs of health care may adversely affect the business and financial condition of pharmaceutical and biotechnology companies, including ours. Specifically, in both the United States and some foreign jurisdictions, there have been a number of legislative and regulatory proposals to change the health care system in ways that could affect our ability to sell our products profitably. For example, in March 2010, the Patient Protection and Affordable Care Act, as amended by the Health Care and Education Reconciliation Act of 2010 (together, the &#8220;ACA&#8221;), was passed, which substantially changes the way health care is financed by both governmental and private insurers and significantly impacts the U.S. life sciences industry. The ACA and other federal and state proposals and health care reforms could limit the prices that can be charged for the products we develop and may limit our commercial opportunity. In the United States, the </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">28 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Medicare&#160;Prescription Drug, Improvement, and Modernization Act of 2003, also called the Medicare Modernization Act (the &#8220;MMA&#8221;) changed the way Medicare covers and pays for pharmaceutical products. These cost reduction initiatives and other provisions of this legislation could ultimately decrease the coverage and price that we receive for any approved products and could seriously harm our business. While the MMA applies only to drug benefits for Medicare beneficiaries, private payors often follow Medicare coverage policy and payment limitations in setting their own reimbursement rates, and any reduction in reimbursement that results from the MMA may result in a similar reduction in payments from private payors. Efforts by the government and other third-party payors to contain or reduce the costs of health care through various means may limit our commercial opportunities and result in a decrease in the price of our common stock or limit our ability to raise capital. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Recent federal government efforts have been aimed at amending or repealing all or portions of existing health care reform legislation, including the ACA. Changes in existing health care reform measures may result in uncertainty with respect to legislation, regulation and government policy that could significantly impact our business and the life sciences industry. Since its enactment, there have been numerous judicial, administrative, executive, and legislative challenges to certain aspects of the ACA, and we expect there will be additional challenges and amendments to the ACA in the future. Various portions of the ACA are currently undergoing legal and constitutional challenges in the United States Supreme Court; the Trump Administration has issued various Executive Orders that eliminated cost sharing subsidies and various provisions that would impose a fiscal burden on states or a cost, fee, tax, penalty or regulatory burden on individuals, healthcare providers, health insurers, or manufacturers of pharmaceuticals or medical devices; and Congress has introduced several pieces of legislation aimed at significantly revising or repealing the ACA. Also, in December 2018, the Centers for Medicare&#160;&amp; Medicaid Services issued a final rule permitting further collections and payments to and from certain ACA qualified health plans and health insurance issuers under the ACA risk adjustment program. Since then, the ACA risk adjustment program payment parameters have been updated annually. It is unclear whether the ACA will be overturned, repealed, replaced, or further amended. We cannot predict what affect further changes to the ACA would have on our business. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Additionally, the federal government and individual states in the United States have also become increasingly active in passing legislation and implementing regulations designed to control pharmaceutical product pricing, including price or patient reimbursement constraints, discounts, restrictions on certain product access and marketing cost disclosure and transparency measures, and, in some cases, designed to encourage importation from other countries and bulk purchasing. We expect that additional state and federal healthcare reform measures will be adopted in the future. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">We may be exposed to liabilities under the Foreign Corrupt Practices Act, and any determination that we violated the Foreign Corrupt Practices Act could have a material adverse effect on our business. </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We are subject to the Foreign Corrupt Practice Act of 1977 (the &#8220;FCPA&#8221;) and other laws that prohibit improper payments or offers of payments to foreign governments and their officials and political parties by U.S. persons and issuers as defined by the statute for the purpose of obtaining or retaining business. We have operations and agreements with third parties and make sales in jurisdictions outside of the United States, which may experience corruption. Our activities in jurisdictions outside of the United States create the risk of unauthorized payments or offers of payments by one of our employees, consultants, sales agents or distributors, because these parties are not always subject to our control. These risks have increased following our recent acquisitions of overseas operations and facilities. It is our policy to implement safeguards to discourage these practices by our employees. However, our existing safeguards and any future improvements may prove to be less than effective, and the employees, consultants, sales agents or distributors of Repligen may engage in conduct for which we might be held responsible. Violations of the FCPA may result in severe criminal or civil sanctions, and we may be subject to other liabilities, which could negatively affect our business, operating results and financial </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">29 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">condition. In addition, the government may seek to hold us liable for successor liability FCPA violations committed by any companies in which we invest or that we acquire. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Changes in accounting standards and subjective assumptions, estimates, and judgments by management related to complex accounting matters could significantly affect our financial results or financial condition. </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Generally accepted accounting principles and related accounting pronouncements, implementation guidelines, and interpretations with regard to a wide range of matters that are relevant to our business, such as revenue recognition, asset impairment and fair value determinations, inventories, business combinations and intangible asset valuations, leases, and litigation, are highly complex and involve many subjective assumptions, estimates, and judgments. Changes in these rules or their interpretation or changes in underlying assumptions, estimates, or judgments could significantly change our reported or expected financial performance or financial condition. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="text-decoration: underline; letter-spacing: 0px; top: 0px;;display:inline;">Risks Related to Data and Privacy </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Our internal computer systems, or those of our customers, collaborators or other contractors, may be subject to cyber-attacks or security breaches, which could result in a material disruption of our product development programs. </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Despite the implementation of security measures, our internal computer systems and those of our customers, collaborators &#8220;cloud&#8221;-based platform service providers, and other contractors are vulnerable to damage from computer viruses and unauthorized access. Cyber-attacks are increasing in their frequency, sophistication and intensity, and have become increasingly difficult to detect. Cyber-attacks could include the deployment of harmful malware, ransomware,&#160;denial-of-service&#160;attacks, social engineering and other means to affect service reliability and threaten the confidentiality, integrity and availability of information. Cyber-attacks also could include phishing attempts or&#160;e-mail&#160;fraud to cause payments or information to be transmitted to an unintended recipient. A material cyber-attack or security breach could cause interruptions in our operations and could result in a material disruption of our business operations, damage to our reputation or a loss of revenues. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">In the ordinary course of our business, we collect and store sensitive data, including, among other things, personally identifiable information about our employees, intellectual property, and proprietary business information. Any cyber-attack or security breach that leads to unauthorized access, use or disclosure of personal or proprietary information could harm our reputation, cause us not to comply with federal and/or state breach notification laws and foreign law equivalents and otherwise subject us to liability under laws and regulations that protect the privacy and security of personal information. In addition, we could be subject to risks caused by misappropriation, misuse, leakage, falsification or intentional or accidental release or loss of information maintained in the information systems and networks of our company and our vendors, including personal information of our employees, and company and vendor confidential data. In addition, outside parties may attempt to penetrate our systems or those of our vendors or fraudulently induce our personnel or the personnel of our vendors to disclose sensitive information in order to gain access to our data and/or systems. Like other companies, we have on occasion experienced, and will continue to experience, data security incidents involving access to company data threats to our data and systems, including malicious codes and viruses, phishing, business email compromise attacks, or other cyber-attacks. The number and complexity of these threats continue to increase over time. If a material breach of our information technology systems or those of our vendors occurs, the market perception of the effectiveness of our security measures could be harmed and our reputation and credibility could be damaged. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We could be required to expend significant amounts of money and other resources to respond to these threats or breaches and to repair or replace information systems or networks and could suffer financial loss or the loss of valuable confidential information. In addition, we could be subject to regulatory </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">30 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> </div> <div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">actions and/or claims made by individuals and groups in private litigation involving privacy issues related to data collection and use practices and other data privacy laws and regulations, including claims for misuse or inappropriate disclosure of data, as well as unfair or deceptive practices. Although we procure, develop and maintain systems and controls designed to prevent these events from occurring, and we have a process to identify and mitigate threats, the procurement, development and maintenance of these systems, controls and processes is costly and requires ongoing monitoring and updating as technologies change and efforts to overcome security measures become increasingly sophisticated. Moreover, despite our efforts, the possibility of these events occurring cannot be eliminated entirely and there can be no assurance that any measures we take will prevent cyber-attacks or security breaches that could adversely affect our business. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Changes in laws and regulations governing the privacy and protection of data and personal information could adversely affect our business. </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We are subject to data privacy and protection laws and regulations that apply to the collection, transmission, storage and use of proprietary information and personally-identifying information, which among other things, imposes certain requirements relating to the privacy, security and transmission of certain individually identifiable information. In addition, numerous other federal and state laws, including state security breach notification laws, state health information privacy laws and federal and state consumer protection laws, govern the collection, use, disclosure and security of personal information. These laws continue to change and evolve and are increasing in breadth and impact. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">For example, California enacted the California Consumer Privacy Act (&#8220;CCPA&#8221;), which went into effect in January 2020 and became enforceable by the California Attorney General in July 2020, and which, among other things, requires companies covered by the legislation to provide new disclosures to California consumers and afford such consumers new rights with respect to their personal information, including the right to request deletion of their personal information, the right to receive the personal information on record for them, the right to know what categories of personal information generally are maintained about them, as well as the right to opt-out of certain sales of personal information. The CCPA provides for civil penalties for violations, as well as a private right of action for certain data breaches that result in the loss of personal information. This private right of action may increase the likelihood of, and risks associated with, data breach litigation. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Additionally, a new California ballot initiative, the California Privacy Rights Act (&#8220;CPRA&#8221;) was passed in November 2020. Effective starting on January&#160;1, 2023, the CPRA imposes additional obligations on companies covered by the legislation and will significantly modify the CCPA by expanding consumers&#8217; rights with respect to certain sensitive personal information, among other things. The CPRA also creates a new state agency that will be vested with authority to implement and enforce the CCPA and the CPRA. The effects of the CCPA and the CPRA are potentially significant and may require us to modify our data collection or processing practices and policies and to incur substantial costs and expenses in an effort to comply and increase our potential exposure to regulatory enforcement and/or litigation. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Certain other state laws impose similar privacy obligations and we also anticipate that more states may enact legislation similar to the CCPA, which provides consumers with new privacy rights and increases the privacy and security obligations of entities handling certain personal information of such consumers. The CCPA has prompted a number of proposals for new federal and state-level privacy legislation. Such proposed legislation, if enacted, may add additional complexity, variation in requirements, restrictions and potential legal risk, require additional investment of resources in compliance programs, impact strategies and the availability of previously useful data and could result in increased compliance costs and/or changes in business practices and policies. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The regulatory framework governing the collection, processing, storage, use and sharing of certain information is rapidly evolving and is likely to continue to be subject to uncertainty and varying </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">31 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">interpretations. It is possible that these laws may be interpreted and applied in a manner that is inconsistent with our existing data management practices or the features of our services and platform capabilities. Any failure or perceived failure by us, or any third parties with which we do business, to comply with our posted privacy policies, changing consumer expectations, evolving laws, rules and regulations, industry standards, or contractual obligations to which we or such third parties are or may become subject, may result in actions or other claims against us by governmental entities or private actors, the expenditure of substantial costs, time and other resources or the incurrence of significant fines, penalties or other liabilities. In addition, any such action, particularly to the extent we were found to be guilty of violations or otherwise liable for damages, would damage our reputation and adversely affect our business, financial condition and results of operations. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We cannot yet fully determine the impact these or future laws, rules, regulations and industry standards may have on our business or operations. Any such laws, rules, regulations and industry standards may be inconsistent among different jurisdictions, subject to differing interpretations or may conflict with our current or future practices. Additionally, our customers may be subject to different privacy laws, rules and legislation, which may mean that they require us to be bound by varying contractual requirements applicable to certain other jurisdictions. Adherence to such contractual requirements may impact our collection, use, processing, storage, sharing and disclosure of various types of information including financial information and other personal information, and may mean we become bound by, or voluntarily comply with, self-regulatory or other industry standards relating to these matters that may further change as laws, rules and regulations evolve. Complying with these requirements and changing our policies and practices may be onerous and costly, and we may not be able to respond quickly or effectively to regulatory, legislative and other developments. These changes may in turn impair our ability to offer our existing or planned features, products and services and/or increase our cost of doing business. As we expand our customer base, these requirements may vary from customer to customer, further increasing the cost of compliance and doing business. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Various foreign countries also have, or are developing, laws governing the collection, use, disclosure, security, and cross-border transmission of personal information. The legislative and regulatory landscape for privacy and data protection continues to evolve, and there has been an increasing amount of focus on privacy and data protection issues with the potential to affect our business. For example, privacy requirements in the EU govern the transfer of personal information from the European Economic Area to the United States. While we continue to address the implications of changes to the EU data privacy regulations, the area remains an evolving landscape with new regulations coming into effect and continued legal challenges and our efforts to comply with the evolving data protection rules may be unsuccessful. Failure to comply with laws regarding data protection would expose us to risk of enforcement actions taken by data protection authorities in the EU and the potential for significant penalties if we are found to be non-compliant. Similarly, failure to comply with federal and state laws in the United States regarding privacy and security of personal information could expose us to penalties under such laws. Even if we are not determined to have violated these laws, government investigations into these issues typically require the expenditure of significant resources and generate negative publicity, which could harm our business. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Risks Related to Our Products and Technology </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="text-decoration: underline; letter-spacing: 0px; top: 0px;;display:inline;">Risks Related to Our Intellectual Property </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">If we are unable to obtain or maintain our intellectual property, we may not be able to succeed commercially. </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We endeavor to obtain and maintain trade secrets and, to a lesser extent with respect to the products that currently account for a majority of our revenue, patent protection when available in order to protect our products and processes from unauthorized use and to produce a financial return consistent with the </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">32 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">significant time and expense required to bring our products to market. Our success will depend, in part, on our ability to: </div></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">preserve our trade secrets and know-how; </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">operate without infringing the proprietary rights of third parties; </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">obtain and maintain patent protection for our products and manufacturing processes; and </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">secure any necessary licenses from others on acceptable terms. </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We consider trade secrets, know-how and other forms of market protection to be among the most important elements of our proprietary position, in particular, as it relates to the products that currently account for a majority of our revenue. We also own or have exclusive rights to a number of U.S. patents and U.S. pending patent applications as well as corresponding foreign patents and patent applications. We continue to actively and selectively pursue patent protection and seek to expand our patent estate, particularly for our products currently in development, and we cannot be sure that any patent applications that we will file in the future or that any currently pending applications will issue on a timely basis, if ever. We cannot be certain that we were the first to make the inventions covered by each of our pending patent applications or that we were the first to file patent applications for such inventions. Even if patents are issued, the degree of protection afforded by such patents will depend upon the: </div></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">scope of the patent claims; </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">validity and enforceability of the claims obtained in such patents; and </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">our willingness and financial ability to enforce and/or defend them. </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The patent position of life sciences companies is often highly uncertain and usually involves complex legal and scientific questions. Patents that may be granted to us in certain foreign countries may be subject to opposition proceedings brought by third parties or result in suits by us, which may be costly and result in adverse consequences for us. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">In some cases, litigation or other proceedings may be necessary to assert claims of infringement, to enforce patents issued to us or our licensors, to protect trade secrets, know-how or other intellectual property rights we own or to determine the scope and validity of the proprietary rights of third parties. Such litigation could result in substantial costs to us and diversion of our resources. An adverse outcome in any such litigation or proceeding could have a material adverse effect on our business, financial condition and results of operations. If our competitors prepare and file patent applications in the United States that claim technology also claimed by us, we may be required to participate in interference proceedings declared by the U.S. Patent and Trademark Office to determine priority of invention, which would result in substantial costs to us. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">While one of our U.S. patents covering recombinant Protein A had its term adjusted to expire in 2028, our other U.S. patents covering recombinant Protein A have expired, and as a result, we may face increased competition, which could harm our results of operations, financial condition, cash flow and future prospects. </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Other companies could begin manufacturing and selling native or some of the commercial forms of recombinant Protein A in the United States and may directly compete with us on certain Protein A products. This may induce us to sell Protein A at lower prices and may erode our market share, which could adversely affect our results of operations, financial condition, cash flow and future prospects. </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">33 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Our freedom to develop our products may be challenged by others, and we may have to engage in litigation to determine the scope and validity of competitors&#8217; patents and proprietary rights, which, if we do not prevail, could harm our business, results of operations, financial condition, cash flow and future prospects. </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">There has been substantial litigation and other proceedings regarding the complex patent and other intellectual property rights in the life sciences industry. We have been a party to, and in the future may become a party to, patent litigation or other proceedings regarding intellectual property rights. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We may become involved in patent litigation or other intellectual property proceedings, including the following situations: </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We may initiate litigation or other proceedings against third parties to seek to invalidate the patents held by such third parties or to obtain a judgment that our products or services do not infringe on such third parties&#8217; patents. </div></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We may initiate litigation or other proceedings against third parties to seek to enforce our patents against infringement. </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">If our competitors file patent applications that claim technology also claimed by us, we may participate in interference or opposition proceedings to determine the priority of invention. </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">If third parties initiate litigation claiming that our processes or products infringe their patent or other intellectual property rights, we will need to defend against such claims. </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The cost to us of any patent litigation or other proceeding, even if resolved in our favor, could be substantial. Some of our competitors may be able to sustain the cost of such litigation or proceedings more effectively than we can because of their substantially greater financial resources. If a patent litigation or other intellectual property proceeding is resolved in a way that is unfavorable to us, we or our collaborative or strategic partners may be enjoined from manufacturing or selling our products and services without a license from the other party and be held liable for significant damages. The failure to obtain any required license on commercially acceptable terms or at all may harm our business, results of operations, financial condition, cash flow and future prospects. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Uncertainties resulting from the initiation and continuation of patent litigation or other proceedings could have a material adverse effect on our ability to compete in the marketplace. Patent litigation and other proceedings may also absorb significant management time, attention and resources. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="text-decoration: underline; letter-spacing: 0px; top: 0px;;display:inline;">Risks Related to Our Products </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">The market may not be receptive to our new bioprocessing products upon their introduction. </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We expect a portion of our future revenue growth to come from introducing new bioprocessing products, including line extensions and new features for our OPUS<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> disposable chromatography columns, our XCell ATF system, our SIUS<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> tangential flow filtration (&#8220;TFF&#8221;) cassettes, our Spectrum<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> hollow fiber modules TFF line of cassettes and our growth factors. The commercial success of all of our products will depend upon their acceptance by the life science and biopharmaceutical industries. Many of the bioprocessing products that we are developing are based upon new technologies or approaches. As a result, there can be no assurance that these new products, even if successfully developed and introduced, will be accepted by customers. If customers do not adopt our new products and technologies, our results of operations may suffer and, as a result, the market price of our common stock may decline. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Our products are subject to quality control requirements. </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Whether a product is produced by us or purchased from outside suppliers, it is subjected to quality control procedures, including the verification of porosity and with certain products, the complete </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">34 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">validation for good manufacturing practices, U.S. Food and Drug Administration, CE and ISO 2001 compliance, prior to final packaging. Quality control is performed by a staff of technicians utilizing calibrated equipment. In the event we, or our manufacturers, produce products that fail to comply with required quality standards, it may incur delays in fulfilling orders, write-downs, damage to our reputation and damages resulting from product liability claims. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">If our products do not perform as expected or the reliability of the technology on which our products are based is questioned, we could experience lost revenue, delayed or reduced market acceptance of our products, increased costs and damage to our reputation. </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Our success depends on the market&#8217;s confidence that we can provide reliable, high-quality bioprocessing products. We believe that customers in our target markets are likely to be particularly sensitive to product defects and errors. Our reputation and the public image of our products and technologies may be impaired if our products fail to perform as expected. Although our products are tested prior to shipment, defects or errors could nonetheless occur in our products. Furthermore, the Protein A that we manufacture is subsequently incorporated into products that are sold by other life sciences companies and we have no control over the manufacture and production of those products. In the future, if our products experience, or are perceived to experience, a material defect or error, this could result in loss or delay of revenues, delayed market acceptance, damaged reputation, diversion of development resources, legal claims, increased insurance costs or increased service and warranty costs, any of which could harm our business. Such defects or errors could also narrow the scope of the use of our products, which could hinder our success in the market. Even after any underlying concerns or problems are resolved, any lingering concerns in our target market regarding our technology or any manufacturing defects or performance errors in our products could continue to result in lost revenue, delayed market acceptance, damaged reputation, increased service and warranty costs and claims against us. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="text-decoration: underline; letter-spacing: 0px; top: 0px;;display:inline;">Risks Related to Litigation </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">We may become involved in litigation or other proceedings with collaborative partners, which may be time consuming, costly and could result in delays in our development and commercialization efforts. </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">In connection with the Company&#8217;s decision to focus its efforts on the growth of its core bioprocessing business, we sought development and commercialization partnerships for our remaining portfolio of clinical stage assets. Any disputes with such partners that lead to litigation or similar proceedings may result in us incurring legal expenses, as well as facing potential legal liability. Such disputes, litigation or other proceedings are also time-consuming and may cause delays in our development and commercialization efforts. If we fail to resolve these disputes quickly and with terms that are no less favorable to us than the current terms of the arrangements, our business, results of operations, financial condition, cash flow and future prospects may be harmed. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">We may become subject to litigation, which could result in substantial costs and divert management&#8217;s attention and resources from our business. </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">From time to time, we may become involved in litigation or other legal proceedings relating to claims arising from the ordinary course of business. Litigation is subject to inherent risks and uncertainties that may cause actual results to differ materially from our expectations. If we receive an adverse judgment in any litigation, we could be required to pay substantial damages. With or without merit, litigation can be complex, can extend for a protracted period of time, can be very expensive and the expense can be unpredictable. Litigation initiated by us could also result in counter-claims against us, which could increase the costs associated with the litigation and result in our payment of damages or other judgments </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">35 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> </div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">against us. In addition, litigation, and any related publicity, may divert the efforts and attention of some of our management and key personnel, which could adversely affect our business. </div></div> <div style="font-size: 18pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 18pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td id="toc105808_5" style="width: 11%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">ITEM&#160;1B.</div></div></td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">UNRESOLVED STAFF COMMENTS </div></div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">None. </div></div> <div style="font-size: 18pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 18pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td id="toc105808_6" style="width: 11%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">ITEM&#160;2.</div></div></td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">PROPERTIES </div></div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Our material office and manufacturing leases are detailed below: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 34%; font-family: ARIAL;"></td>
<td style="width: 1%; vertical-align: bottom; font-family: ARIAL;"></td>
<td style="font-family: ARIAL;"></td>
<td style="font-family: ARIAL;"></td>
<td style="font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="width: 31%; font-family: ARIAL;"></td>
<td style="width: 3%; vertical-align: bottom; font-family: ARIAL;"></td>
<td style="width: 22%; font-family: ARIAL;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; white-space: nowrap; padding-bottom: 1pt;"> <div style="font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: table-cell; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Location</div></div></div> </td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Square&#160;Feet</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"> <div style="text-align: center; font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 1pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Principal Use</div></div></div> </td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"> <div style="text-align: center; font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 1pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Lease&#160;Expiration</div></div></div> </td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Waltham, Massachusetts</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:right;">108,135</td>
<td style="vertical-align: top; white-space: nowrap;"><div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">(1)</div>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: top;">Corporate headquarters, manufacturing, research and development, marketing and administrative offices</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;;text-align:center;"> <div style="text-align: center; text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">April&#160;1, 2030</div></div> </td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Rancho Dominguez, California</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:right;">68,908</td>
<td style="vertical-align: top; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: top;">Manufacturing, research and development, marketing and administrative operations</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;;text-align:center;"> <div style="text-align: center; text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">November&#160;30,&#160;2025<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">(2)</div></div></div> </td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Marlborough, Massachusetts</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:right;">63,761</td>
<td style="vertical-align: top; white-space: nowrap;"><div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">(3)</div>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: top;">Manufacturing operations</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;;text-align:center;"> <div style="text-align: center; text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">November&#160;30, 2028</div></div> </td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Lund, Sweden</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:right;">58,405</td>
<td style="vertical-align: top; white-space: nowrap;"><div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">(4)</div>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: top;">Manufacturing and administrative operations</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;;text-align:center;"> <div style="text-align: center; text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">December&#160;31, 2026</div></div> </td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Bridgewater, New Jersey<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">(5)</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:right;">33,669</td>
<td style="vertical-align: top; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: top;">Manufacturing and administrative operations</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;;text-align:center;"> <div style="text-align: center; text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">January&#160;14, 2029</div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="width: 11%; line-height: 8pt; margin-top: 0pt; margin-bottom: 2pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%; vertical-align: top;;text-align:left;">(1)</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">In 2019, we expanded our facility in Waltham, Massachusetts by approximately 33,000 square feet to accommodate additional office space and manufacturing. </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%; vertical-align: top;;text-align:left;">(2)</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">In 2018, we expanded our facility in Rancho Dominguez, California by approximately 15,000 square feet. The lease for the expanded portion of the facility expires on November&#160;30, 2025. </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%; vertical-align: top;;text-align:left;">(3)</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">In July 2020, the Company entered into a First Amendment to the lease agreement for the Marlborough facility, expanding the space by an additional 66,939 square feet. In December 2020, the Second Amendment to the lease agreement was signed, changing the commencement date from April&#160;1, 2021 to January 1, 2021. </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%; vertical-align: top;;text-align:left;">(4)</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">In December 2020, the Company signed an extension of the existing lease at its Lund, Sweden facility, which included approximately 13,000 square feet of additional space. The lease commences in April 2021. </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%; vertical-align: top;;text-align:left;">(5)</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">On May&#160;31, 2019, we acquired C Technologies, an analytics company located in Bridgewater, New Jersey. </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">During the year ended December&#160;31, 2020, we incurred total rental costs for all facilities of $7.7&#160;million. </div></div> <div style="font-size: 18pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 18pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td id="toc105808_7" style="width: 11%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">ITEM&#160;3.</div></div></td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">LEGAL PROCEEDINGS </div></div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">From time to time, we may be subject to legal proceedings and claims in the ordinary course of business. We are not currently aware of any such proceedings or claims that we believe will have, individually or in the aggregate, a material adverse effect on our business, financial condition or results of operations. </div></div> <div style="font-size: 18pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 18pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td id="toc105808_8" style="width: 11%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">ITEM&#160;4.</div></div></td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">MINE SAFETY DISCLOSURES </div></div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Not applicable. </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">36 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">PART II </div></div></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td id="toc105808_10" style="width: 11%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">ITEM&#160;5.</div></div></td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">MARKET FOR REGISTRANT&#8217;S COMMON EQUITY, RELATED STOCKHOLDER MATTERS AND ISSUER PURCHASES OF EQUITY SECURITIES </div></div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Market Information for Common Stock </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Our common stock is traded on the Nasdaq Global Select Market under the symbol &#8220;RGEN.&#8221; </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Stockholders and Dividends </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">As of February&#160;19, 2021, there were 307&#160;stockholders of record of our common stock. We have not paid any dividends since our inception and do not intend to pay any dividends on our common stock in the foreseeable future. We anticipate that we will retain all earnings, if any, to support our operations. Any future determination as to the payment of dividends will be at the sole discretion of our Board of Directors and will depend on our financial condition, results of operations, capital requirements and other factors our Board of Directors deems relevant. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Equity Compensation Plan Information </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following table sets forth information as of December&#160;31, 2020 regarding shares of common stock that may be issued under the Company&#8217;s equity compensation plans, consisting of the Second Amended and Restated 2001 Repligen Corporation Stock Plan, the Amended and Restated 2012 Stock Option and Incentive Plan and the 2018 Stock Option and Incentive Plan. </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 8pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 35%; font-family: ARIAL;"></td>
<td style="width: 13%; vertical-align: bottom; font-family: ARIAL;"></td>
<td style="font-family: ARIAL;"></td>
<td style="font-family: ARIAL;"></td>
<td style="font-family: ARIAL;"></td>
<td style="width: 13%; vertical-align: bottom; font-family: ARIAL;"></td>
<td style="font-family: ARIAL;"></td>
<td style="font-family: ARIAL;"></td>
<td style="font-family: ARIAL;"></td>
<td style="width: 13%; vertical-align: bottom; font-family: ARIAL;"></td>
<td style="font-family: ARIAL;"></td>
<td style="font-family: ARIAL;"></td>
<td style="font-family: ARIAL;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; white-space: nowrap; padding-bottom: 1pt;"> <div style="font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: table-cell; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Plan Category</div></div></div> </td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Number&#160;of&#160;securities<br/>to&#160;be issued upon<br/>exercise of<br/>outstanding&#160;options,<br/>warrants<br/>and rights</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Weighted-<br/>average<br/>exercise&#160;price&#160;of<br/>outstanding<br/>options,&#160;warrants<br/>and&#160;rights</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Number&#160;of&#160;securities<br/>remaining&#160;available&#160;for<br/>future issuance under<br/>equity compensation<br/>plans&#160;(excluding&#160;securities<br/>reflected&#160;in column (a))</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(a)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td colspan="2" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(b)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td colspan="2" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(c)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Equity compensation plans approved by security holders</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,362,251</td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">(1)</div>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">43.88</td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">(2)</div>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">2,306,943</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="width: 11%; line-height: 8pt; margin-top: 0pt; margin-bottom: 2pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%; vertical-align: top;;text-align:left;">(1)</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Includes 696,711 shares of common stock issuable upon the exercise of outstanding options and 665,540 shares of common stock issuable upon the vesting of stock units, which include restricted stock units and performance stock units. No shares of restricted stock are outstanding. </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%; vertical-align: top;;text-align:left;">(2)</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Since stock units do not have any exercise price, such units are not included in the weighted average exercise price calculation. </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Stock Performance Graph </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">The graph below matches Repligen Corporation&#8217;s cumulative <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">5-year</div> total shareholder return on common stock with the cumulative total returns of the Nasdaq Composite index, the Nasdaq Pharmaceutical index, and the Nasdaq Biotechnology index. The graph tracks the performance of a $100 investment in our common stock and in each index (with the reinvestment of all dividends) from December&#160;31, 2015 to December&#160;31, 2020. The comparisons shown in the graph below are based upon historical data. We caution that the stock price performance shown in the graph below is not necessarily indicative of, nor is it intended to forecast, the potential future performance of our common stock. </div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">37 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">COMPARISON OF 5 YEAR CUMULATIVE TOTAL RETURN* </div></div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Among Repligen Corporation, the Nasdaq Composite Index, </div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">the Nasdaq Pharmaceutical Index and the Nasdaq Biotechnology Index </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="font-size: 0pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 0pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; margin-top: 0pt; margin-bottom: 0pt;">
<img alt="" src="g105808g19j62.jpg" style="width: 464px; height: 253px;"/><br/></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt; margin-left: 13%;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">*$100 invested on 12/31/15 in stock or index, including reinvestment of dividends. Fiscal year ending December 31. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The information contained in the performance graph shall not be deemed to be &#8220;soliciting material&#8221; or to be &#8220;filed&#8221; with the Securities and Exchange Commission, and such information shall not be incorporated by reference into any future filing under the Securities Act of 1933, as amended (the &#8220;Securities Act&#8221;) or the Securities Exchange Act of 1934, as amended (the &#8220;Exchange Act&#8221;), except to the extent that Repligen specifically incorporates it by reference into such filing. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Issuer Purchases of Equity Securities </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">In June 2008, the Board of Directors authorized a program to repurchase up to 1.25&#160;million shares of our common stock to be repurchased at the discretion of management from time to time in the open market or through privately negotiated transactions. The repurchase program has no set expiration date and may be suspended or discontinued at any time. We did not repurchase any shares of common stock during the year ended December&#160;31, 2020. In prior years, we repurchased a total of 592,827 shares, leaving 657,173 shares remaining under this authorization. </div></div> <div style="font-size: 18pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 18pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td id="toc105808_11" style="width: 11%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">ITEM&#160;6.</div></div></td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">RESERVED </div></div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">38 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;">
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td id="toc105808_12" style="width: 11%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">ITEM&#160;7.</div></div></td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">MANAGEMENT&#8217;S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS </div></div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">Information pertaining to fiscal year 2018 was included in the Company&#8217;s Annual Report on Form <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">10-K</div> (&#8220;Form <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">10-K&#8221;)</div> for the year ended December&#160;31, 2019 on pages 35 through 51 under Part II, Item 7, &#8220;Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations,&#8221; which was filed with the SEC on February&#160;26, 2020. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Repligen and its subsidiaries, collectively doing business as Repligen Corporation (&#8220;Repligen&#8221;, &#8220;we&#8221;, &#8220;our&#8221;, or &#8220;the Company&#8221;) is a global life sciences company that develops and commercializes highly innovated bioprocessing technology and systems that increase efficiencies and flexibility in the process of manufacturing biological drugs. As the overall market for biologics continues to grow and expand, our customers &#8211; primarily large biopharmaceutical companies and contract development and manufacturing organizations &#8211; face critical production cost, capacity, quality and time pressures. Built to address these concerns, our products helping set new standards for the way biologics are manufactured. We are committed to inspiring advances in bioprocessing as a trusted partner in the production of critical biologic drugs &#8211; including monoclonal antibodies (&#8220;mAbs&#8221;), recombinant proteins, vaccines and gene therapies &#8211; that are improving human health worldwide. For more information regarding our business, products and acquisitions, see above sections in Part I entitled &#8220;Overview&#8221;, &#8220;Our Products&#8221;, &#8220;2020 Acquisitions&#8221;, &#8220;2019 Acquisition&#8221; and &#8220;Our Market Opportunity&#8221;. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Critical Accounting Policies and Estimates </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">While our significant accounting policies are more fully described in the notes to our consolidated financial statements, we have identified the policies and estimates below as being critical to our business operations and the understanding of our results of operations. These policies require management&#8217;s most difficult, subjective or complex judgements, often as a result of the need to make estimates about the effect of matters that are inherently uncertain. The impact of and any associated risks related to these policies on our business operations are discussed throughout &#8220;Management&#8217;s Discussion and Analysis of Financial Condition,&#8221; including in the &#8220;Results of Operations&#8221; section, where such policies affect our reported and expected financial results. Although we believe that our estimates, assumptions, and judgements are reasonable, they are based upon information presently available. Actual results may differ significantly from these estimates under different assumptions, judgments, or conditions. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Revenue recognition </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">We generate revenue from the sale of bioprocessing products, equipment devices, and related consumables used with these equipment devices to customers in the life science and biopharmaceutical industries. Under ASC 606, &#8220;<div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Revenue from Contracts with Customers,&#8221; </div></div>revenue is recognized when, or as, obligations under the terms of a contract are satisfied, which occurs when control of the promised products or services is transferred to customers. Revenue is measured as the amount of consideration the Company expects to receive in exchange for transferring products or services to a customer (&#8220;transaction price&#8221;). To the extent the transaction price includes variable consideration, the Company estimates the amount of variable consideration that should be included in the transaction price utilizing the expected value method or the most likely amount method, depending on the facts and circumstances relative to the contract. Variable consideration is included in the transaction price if, in the Company&#8217;s judgment, it is probable that a significant future reversal of cumulative revenue under the contract will not occur. Estimates of variable consideration and determination of whether to include estimated amounts in the transaction price are based largely on an assessment of the Company&#8217;s anticipated performance and all information (historical, current and forecasted) that is reasonably available. Sales, value add, and other taxes collected on behalf of third parties are excluded from revenue. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">When determining the transaction price of a contract, an adjustment is made if payment from a customer occurs either significantly before or significantly after performance, resulting in a significant financing </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">39 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">component. Applying the practical expedient in paragraph <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">606-10-32-18,</div></div></div> the Company does not assess whether a significant financing component exists if the period between when the Company performs its obligations under the contract and when the customer pays is one year or less. None of the Company&#8217;s contracts contained a significant financing component as of December&#160;31, 2020. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Contracts with customers may contain multiple performance obligations. For such arrangements, the transaction price is allocated to each performance obligation based on the estimated relative standalone selling prices of the promised products or services underlying each performance obligation. The Company determines standalone selling prices based on the price at which the performance obligation is sold separately. If the standalone selling price is not observable through past transactions, the Company estimates the standalone selling price taking into account available information such as market conditions and internally approved pricing guidelines related to the performance obligations. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company recognizes product revenue under the terms of each customer agreement upon transfer of control to the customer, which occurs at a point in time. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Allowance for credit losses </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">We evaluate our global accounts receivable through a continuous process of assessing our portfolio on an individual customer and overall basis. This process consists of a thorough review of historical collection experience, current aging status of the customer accounts, financial condition of our customers, and whether the receivables involve retainages. We also consider the economic environment of our customers, both from a marketplace and geographic perspective, in evaluating the need for an allowance. Based on our review of these factors, we establish or adjust allowances for specific customers. Credit losses can vary substantially over time and the process involves judgment and estimation that require a number of assumptions about matters that are uncertain. Accordingly, our results of operations can be affected by adjustments to the allowance due to actual write-offs that differ from estimated amounts. See Note 6, <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Credit Losses,&#8221; </div></div>to our consolidated financial statements included in this report for more information. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Inventories </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">We value inventory at cost or, if lower, net realizable value, using the <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">first-in,</div> <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">first-out</div> method. We review our inventory at least quarterly and record a provision for excess and obsolete inventory based on our estimates of expected sales volume, production capacity and expiration dates of raw materials, <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">work-in-process</div></div> and finished products. We write down inventory that has become obsolete, inventory that has a cost basis in excess of its expected net realizable value, and inventory in excess of expected requirements to cost of product revenue. Manufacturing of bioprocessing finished goods is done to order and tested for quality specifications prior to shipment. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">A change in the estimated timing or amount of demand for our products could result in additional provisions for excess inventory quantities on hand. Any significant unanticipated changes in demand or unexpected quality failures could have a significant impact on the value of inventory and reported operating results. During all periods presented in the accompanying consolidated financial statements, there have been no material adjustments related to a revised estimate of inventory valuations. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Business combinations </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Amounts paid for acquisitions are allocated to the tangible and intangible assets acquired and liabilities assumed, if any, based on their fair values at the dates of acquisition. This purchase price allocation process requires management to make significant estimates and assumptions with respect to intangible assets and deferred revenue obligations. The fair value of identifiable intangible assets is based on </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">40 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">detailed valuations that use information and assumptions determined by management. Any excess of purchase price over the fair value of the net tangible and intangible assets acquired is allocated to goodwill. While we use our best estimates and assumptions to accurately value assets acquired and liabilities assumed at the acquisition date as well as any contingent consideration, where applicable, our estimates are inherently uncertain and subject to refinement. As a result, during the measurement period, which may be up to one year from the acquisition date, we record adjustments to the assets acquired and liabilities assumed with the corresponding offset to goodwill. Upon conclusion of the measurement period or final determination of the values of assets acquired or liabilities assumed, whichever comes first, any subsequent adjustments are recorded to our consolidated statements of comprehensive income. The fair value of contingent consideration includes estimates and judgments made by management regarding the probability that future contingent payments will be made, the extent of royalties to be earned in excess of the defined minimum royalties, etc. Management updates these estimates and the related fair value of contingent consideration at each reporting period based on the estimated probability of achieving the earnout targets and applying a discount rate that captures the risk associated with the expected contingent payments. To the extent our estimates change in the future regarding the likelihood of achieving these targets we may need to record material adjustments to our accrued contingent consideration. During the measurement period these changes in the fair value of contingent consideration are recorded to goodwill. Subsequent to the measurement period, they will be recorded in our consolidated statements of comprehensive income. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">We use the income approach to determine the fair value of certain identifiable intangible assets including customer relationships and developed technology. This approach determines fair value by estimating <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">after-tax</div> cash flows attributable to these assets over their respective useful lives and then discounting these <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">after-tax</div> cash flows back to a present value. We base our assumptions on estimates of future cash flows, expected growth rates, expected trends in technology, etc. We base the discount rates used to arrive at a present value as of the date of acquisition on the time value of money and certain industry-specific risk factors. We believe the estimated purchased customer relationships, developed technologies, trademark/tradename, patents, and in process research and development amounts so determined represent the fair value at the date of acquisition and do not exceed the amount a third-party would pay for the assets. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Intangible assets and goodwill </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Intangible assets </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Intangible assets with a definite life are amortized over their useful lives using the straight-line method and the amortization expense is recorded within cost of product revenue, research and development and selling, general and administrative expense in the consolidated statements of comprehensive income. Intangible assets and their related useful lives are reviewed at least annually to determine if any adverse conditions exist that would indicate the carrying value of these assets may not be recoverable. More frequent impairment assessments are conducted if certain conditions exist, including a change in the competitive landscape, any internal decisions to pursue new or different technology strategies, a loss of a significant customer, or a significant change in the marketplace, including changes in the prices paid for the Company&#8217;s products or changes in the size of the market for the Company&#8217;s products. If impairment indicators are present, the Company determines whether the underlying intangible asset is recoverable through estimated future undiscounted cash flows. If the asset is not found to be recoverable, it is written down to the estimated fair value of the asset based on the sum of the future discounted cash flows expected to result from the use and disposition of the asset. If the estimate of an intangible asset&#8217;s remaining useful life is changed, the remaining carrying amount of the intangible asset is amortized prospectively over the revised remaining useful life. The Company continues to believe that its definite-lived intangible assets are recoverable at December&#160;31, 2020. </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">41 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Indefinite-lived intangible assets are tested for impairment at least annually. There has been no impairment of our intangible assets for the periods presented. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Goodwill </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We test goodwill for impairment on an annual basis and between annual tests if events and circumstances indicate it is more likely than not that the fair value of a reporting unit is less than its carrying value. Events that would indicate impairment and trigger an interim impairment assessment include, but are not limited to, current economic and market conditions, including a decline in market capitalization, a significant adverse change in legal factors, business climate or operational performance of the business, and an adverse action or assessment by a regulator. Goodwill is tested for impairment as of December 31<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">st</div> of each year, or more frequently as warranted by events or changes in circumstances mentioned above. Accounting guidance also permits an optional qualitative assessment for goodwill to determine whether it is more likely than not that the carrying value of a reporting unit exceeds its fair value. If, after this qualitative assessment, we determine that it is not more likely than not that the fair value of a reporting unit is less than its carrying amount, then no further quantitative testing would be necessary. A quantitative assessment is performed if the qualitative assessment results in a more likely than not determination or if a qualitative assessment is not performed. The quantitative assessment considers whether the carrying amount of a reporting unit exceeds its fair value, in which case an impairment charge is recorded to the extent the reporting unit&#8217;s carrying value exceeds its fair value. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">As of December&#160;31, 2018, the Company concluded that it operated as two reporting units and performed the 2018 goodwill impairment test using two reporting units. In 2019, the Company reorganized its reporting structure and changed the way the Chief Operating Decision Maker (&#8220;CODM&#8221;) views the Company&#8217;s operations and allocates its resources. As a result of the change in reporting structure in 2019, the CODM reviews consolidated results to assist with decision making. Accordingly, the Company has operated as one reporting unit since this reorganization. The fair value of the reporting unit is determined using both an income approach and market approach. Our income approach model used for our reporting unit valuation is consistent with that used for our December&#160;31, 2019 goodwill impairment valuation noted above, except that cash flows from the entire business enterprise were used for the reporting unit valuation. Our market approach model estimated the fair value of the reporting unit based on market prices paid in actual precedent transactions of similar businesses and market multiples of guideline public companies. As a result of our 2019 quantitative assessment, we concluded that goodwill was not impaired as of December&#160;31, 2019. During the qualitative assessment of the Company&#8217;s one reporting unit during the 2020 goodwill impairment testing, it was determined that it was not more likely than not that its fair value was less than its carrying amount. As such, a quantitative impairment assessment was not required as of December&#160;31, 2020. If an event occurs or circumstances change that would more likely than not reduce the fair value of its reporting unit below its carrying value, the Company will evaluate its goodwill for impairment between annual tests. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Accrued liabilities </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We estimate accrued liabilities by identifying services performed on our behalf, estimating the level of service performed and determining the associated cost incurred for such service as of each balance sheet date. For example, we would accrue for professional and consulting fees incurred with law firms, audit and accounting service providers and other third-party consultants. These expenses are determined by either requesting those service providers to estimate unbilled services at each reporting date for services incurred or tracking costs incurred by service providers under fixed fee arrangements. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We have processes in place to estimate the appropriate amounts to record for accrued liabilities, which principally involve the applicable personnel reviewing the services provided. In the event that we do not </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">42 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">identify certain costs that have begun to be incurred or we under or over-estimate the level of services performed or the costs of such services, the reported expenses for that period may be too low or too high. The date on which certain services commence, the level of services performed on or before a given date, and the cost of such services often require the exercise of judgment. We make these judgments based upon the facts and circumstances known at the date of the financial statements. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">A change in the estimated cost or volume of services provided could result in additional accrued liabilities. Any significant unanticipated changes in such estimates could have a significant impact on our accrued liabilities and reported operating results. There have been no material adjustments to our accrued liabilities in any of the periods presented in the accompanying consolidated financial statements. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Debt accounting </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Our short-term debt balance is related to our 0.375% Convertible Senior Notes due 2024 (the &#8220;2019 Notes&#8221;), which were issued in July 2019, and are carried at their principal amount less unamortized debt discount. We account for our convertible notes as separate liability and equity components. We estimate the carrying amount of the liability component by estimating the fair value of a similar liability that does not have an associated conversion feature. The Company allocates transaction costs related to the issuance of convertible notes to the liability and equity components using the same proportions as the initial carrying value of the convertible notes. The carrying value of the equity component is calculated by deducting the carrying value of the liability component from the principal amount of the convertible notes as a whole. The difference represents a debt discount that is amortized to interest expense in our consolidated statement of comprehensive income over the term of the convertible notes using the effective interest rate method. We assess the equity classification of the cash conversion feature quarterly. We allocated transaction costs related to the issuance of the 2019 Notes to the liability and equity components using the same proportions as the initial carrying value of the 2019 Notes. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">During the fourth quarter of 2020, the closing price of the Company&#8217;s common stock exceeded 130% of the conversion price of the 2019 Notes for more than 20 trading days of the last 30 consecutive trading days of the quarter. As a result, the 2019 Notes are convertible at the option of the holders of the 2019 Notes during the first quarter of 2021, the quarter immediately following the quarter when the conditions are met, as stated in the terms of the 2019 Notes. Expecting to continue meeting these terms, the Company reclassified the carrying value of the 2019 Notes from long-term liabilities to current liabilities on the Company&#8217;s balance sheet as of December 31, 2020. This classification is reassessed each quarter. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Stock-based compensation </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">We use the Black-Scholes option pricing model to calculate the fair value of stock option awards on the grant date. The expected term of options granted represents the period of time for which the options are expected to be outstanding and is derived from our historical stock option exercise experience and option expiration data. For purposes of estimating the expected term, we have aggregated all individual option awards into one group, as we do not expect substantial differences in exercise behavior among our employees. The expected volatility is a measure of the amount by which our stock price is expected to fluctuate during the expected term of options granted. We determined the expected volatility based upon the historical volatility of our common stock over a period commensurate with the option&#8217;s expected term.&#160;The risk-free interest rate is the implied yield available on U.S. Treasury <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">zero-coupon</div> issues with a remaining term equal to the option&#8217;s expected term on the grant date. We have never declared or paid any cash dividends on any of our capital stock and do not expect to do so in the foreseeable future.&#160;Accordingly, we use an expected dividend yield of zero to calculate the grant-date fair value of a stock option. </div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">43 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">The fair value for stock units, which include restricted stock units and performance stock units, was calculated using the closing price of the Company&#8217;s common stock on the date of grant. We recognize compensation expense on awards that vest based on service conditions on a straight-line basis over the requisite service period based upon the number of options that are ultimately expected to vest, and accordingly, such compensation expense has been adjusted by an amount of estimated forfeitures.&#160;We recognize compensation expense on awards that vest based on performance conditions following our assessment of the probability that the performance condition will be achieved over the service period. Forfeitures represent only the unvested portion of a surrendered option. Forfeitures are estimated at the time of grant and revised, if necessary, in subsequent periods if actual forfeitures differ from those estimates.&#160;Based on an analysis of historical data, we have calculated an 8% annual forfeiture rate for <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-executive</div> level employees, a 3% annual forfeiture rate for executive level employees, and a 0% forfeiture rate for <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-employee</div> members of the Board of Directors, which we believe are reasonable assumptions to estimate forfeitures. However, the estimation of forfeitures requires significant judgment and, to the extent actual results or updated estimates differ from our current estimates, such amounts will be recorded as a cumulative adjustment in the period estimates are revised. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">For the years ended December&#160;31, 2020, 2019 and 2018, we recorded stock-based compensation expense of $17.0&#160;million, $12.8&#160;million and $10.2&#160;million, respectively, for share-based awards granted under all of the Company&#8217;s stock plans. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">As of December&#160;31, 2020, there was $46.7&#160;million of total unrecognized compensation cost related to unvested share-based awards.&#160;This cost is expected to be recognized over a weighted average remaining requisite service period of 3.55 years. We expect 1,853,028 unvested options and stock units to vest over the next five years. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Income taxes </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">Deferred taxes are determined based on the difference between the financial statement and tax basis of assets and liabilities using enacted tax rates in effect in the years in which the differences are expected to reverse. Valuation allowances are provided, if, based upon the weight of available evidence, it is more likely than not that some or all of the deferred tax assets will not be realized. We account for uncertain tax positions using a <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">&#8220;more-likely-than-not&#8221;</div> threshold for recognizing and resolving uncertain tax positions. The evaluation of uncertain tax positions is based on factors including, but not limited to, changes in tax law, the measurement of tax positions taken or expected to be taken in tax returns, the effective settlement of matters subject to audit, new audit activity and changes in facts or circumstances related to a tax position. We evaluate our tax position on a quarterly basis. We also accrue for potential interest and penalties related to unrecognized tax benefits in income tax expense. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">In addition, we are subject to the continual examination of our income tax returns by the U.S. Internal Revenue Service (&#8220;IRS&#8221;) and other domestic and foreign tax authorities. We expect future examinations to focus on our intercompany transfer pricing practices as well as other matters. We regularly assess the likelihood of outcomes resulting from these examinations to determine the adequacy of our provision for income taxes and have reserved for potential adjustments that may result from such examinations. We believe such estimates to be reasonable; however, the final determination of any of these examinations could significantly impact the amounts provided for income taxes in our consolidated financial statements. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Recent accounting standards update </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">See Note 2, <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Summary of Significant Accounting Policies &#8211; Recent Accounting Standards Updates,&#8221; </div></div>to our consolidated financial statements included in this report for more information. </div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">44 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Results of Operations </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following discussion of the financial condition and results of operations should be read in conjunction with the accompanying consolidated financial statements and the related footnotes thereto. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Revenues </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total revenues for years ended December&#160;31, 2020, 2019, and 2018 were comprised of the following: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 33%;"></td>
<td style="width: 2%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 2%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 2%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 2%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 2%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 2%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 2%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020 vs. 2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019 vs. 2018</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2018</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">$&#160;Change</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">%&#160;Change</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">$&#160;Change</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">%&#160;Change</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td colspan="26" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands, except for percentage data)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Revenue:</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Product</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">366,136</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">270,097</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">193,891</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">96,039</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">35.6</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">76,206</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">39.3</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Royalty and&#160;other</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">124</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">148</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">141</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(24</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(16.2</td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">7</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">5.0</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total revenue</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">366,260</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">270,245</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">194,032</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">96,015</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">35.5</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">76,213</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">39.3</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Product revenues </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Since 2016, we have been increasingly focused on selling our products directly to customers in the pharmaceutical industry and to our contract manufacturers. These direct sales have increased to approximately 78.0% of our product revenue during 2020. We expect that direct sales will continue to account for an increasing percentage of our product revenues, as the largest customer of our protein products diversified its supply chain in 2020. Sales of our bioprocessing products can be impacted by the timing of large-scale production orders and the regulatory approvals for such antibodies, which may result in significant quarterly fluctuations. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Product revenues were comprised of the following: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 61%;"></td>
<td style="width: 4%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 4%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 4%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:7.5px">(1)</div></div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:7.5px">(2)</div></div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2018</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Filtration products</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">174,896</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">119,534</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">90,586</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Chromatography products</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">73,551</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">64,635</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">45,326</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Process analytics products</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">33,346</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">16,405</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Proteins products</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">80,732</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">65,124</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">54,375</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Other</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">3,611</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">4,399</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">3,604</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total product revenue</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">366,136</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">270,097</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">193,891</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="width: 11%; line-height: 8pt; margin-top: 0pt; margin-bottom: 2pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%; vertical-align: top;;text-align:left;">(1)</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2020 revenue for filtration products includes revenue related to EMT from July&#160;13, 2020, NMS from October&#160;20, 2020 and ARTeSYN from December&#160;3, 2020 through December&#160;31, 2020. </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%; vertical-align: top;;text-align:left;">(2)</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2019 revenue includes process analytics revenue related to C Technologies from June&#160;1, 2019 through December&#160;31, 2019. </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Revenue from our chromatography products includes the sale of our OPUS chromatography columns, chromatography resins and ELISA test kits. Revenue from our filtration products includes the sale of our XCell ATF systems and consumables, KrosFlo filtration products, SIUS filtration products, the silicone-molded products offered by EMT, which we acquired on July&#160;13, 2020 and the products offered by NMS and ARTeSYN, which were both acquired during the fourth quarter of 2020. Revenue from protein products includes the sale of our Protein A ligands and cell culture growth factors. Revenue from our Process Analytics products includes the sale of our SoloVPE and FlowVPE systems, consumables and </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">45 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> </div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">service. Other revenue primarily consists of revenue from the sale of our operating room products to hospitals as well as freight revenue. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">For 2020, product revenue increased by $96.0&#160;million, or 35.6%, as compared to 2019. The increase is due to the continued adoption of our products by key bioprocessing customers across all our key product lines. Beginning in the second quarter of 2020, we experienced an increase in overall sales as a result of accelerated demand, which was from broad-based covering mAb, gene therapy and <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">COVID-19</div> customers working on vaccines and therapeutics. We expect there will be a continued increase in direct sales during 2021, especially from <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">COVID-19</div> customers as they <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">scale-up</div> and move vaccine and therapy drug candidates through clinical trial processes. In 2020, we also had good performance from our acquisitions executed in 2019 and through 2020. C Technologies revenue increased by $16.9&#160;million in 2020, compared to 2019, as 2020 represented twelve months of ownership of C Technologies, which was acquired in May 2019, compared to only seven months of ownership in 2019. Finally, as a result of our acquisitions of EMT, NMS and ARTeSYN in the second half of 2020, revenue from our filtration products includes $6.2&#160;million of additional revenue. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">Sales of our bioprocessing products are impacted by the timing of orders, development efforts at our customers or <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">end-users</div> and regulatory approvals for biologics that incorporate our products, which may result in significant quarterly fluctuations. Such quarterly fluctuations are expected, but they may not be predictive of future revenue or otherwise indicate a trend. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">For 2019, product revenue increased by $76.2&#160;million, or 39.3%, as compared to 2018. The increase was due to the continued adoption of our products by our key bioprocessing customers, particularly our chromatography and filtration products. Sales of our bioprocessing products were impacted by the timing of orders, development efforts targeted at our customers or <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">end-users</div> and regulatory approvals for biologics that incorporated our products, which may result in significant quarterly fluctuations. Such quarterly fluctuations were expected. Additionally, there was a $16.4&#160;million increase in the 2019 revenue compared to the 2018 revenue due to revenues generated by C Technologies, which was acquired in May 2019. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Royalty revenues </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Royalty revenues in 2020 and 2019 relate to royalties received from a third-party systems manufacturer associated with our OPUS chromatography columns. Royalty revenues are variable and are dependent on sales generated by our partner. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Costs and operating expenses </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total costs and operating expenses for years ended December&#160;31, 2020, 2019 and 2018 were comprised of the following: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 33%;"></td>
<td style="width: 2%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 2%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 2%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 2%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 2%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 2%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 2%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020 vs. 2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019 vs. 2018</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2018</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">$&#160;Change</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">%&#160;Change</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">$&#160;Change</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">%&#160;Change</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td colspan="26" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands, except for percentage data)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Cost of product revenue</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">156,634</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">119,099</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">86,531</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">37,535</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">31.5</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">32,568</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">37.6</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Research and development</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">20,182</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">19,450</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">15,821</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">732</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">3.8</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">3,629</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">22.9</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Selling, general and administrative</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">119,621</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">95,613</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">65,692</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">24,008</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">25.1</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">29,921</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">45.5</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total costs and&#160;operating expenses</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">296,437</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">234,162</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">168,044</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">62,275</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">26.6</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">66,118</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">39.3</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">46 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Cost of product revenue </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">For 2020, cost of product revenue increased $37.5&#160;million, or 31.5%, as compared to 2019, due primarily to the increase in product revenue mentioned above and costs associated with higher product volume. An increase in manufacturing headcount resulted in higher employee-related costs in 2020, compared to 2019. Additional facility costs, including personal protection equipment purchased for essential manufacturing personnel on site to protect against <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">COVID-19,</div> were also incurred during 2020 for which there were no comparable amounts in 2019. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">Gross margin was 57.2% in 2020, compared to 55.9% in 2019. The gross margin in 2020 includes $0.7&#160;million of amortization of inventory <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">step-up</div> associated with the EMT and ARTeSYN Acquisitions and the gross margin for 2019 included $1.5&#160;million of amortization of inventory <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">step-up</div> associated with the C Technologies Acquisition in May 2019. Excluding the <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">step-up</div> amortization, gross margins in 2020 and 2019 were 57.4% and 56.5%, respectively. The increase in gross margins, excluding the inventory <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">step-up</div> amortization, in 2020, as compared to 2019, is due primarily to the increase in revenue mentioned above, and favorable product mix, partially offset by an increase in manufacturing headcount subsequent to December&#160;31, 2019. Gross margins may fluctuate in future years based on expected production volume and product mix. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">For 2019, cost of product revenue increased $32.6&#160;million, or 37.6%, as compared to 2018, due primarily to the increase in revenue mentioned above. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">Gross margin was 55.9% and 55.4%, in 2019 and 2018, respectively. The gross margin in 2019 includes $1.5&#160;million of amortization of inventory <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">step-up</div> associated with C Technologies Acquisition in May 2019. The increase in gross margins is a result of higher product revenue mentioned above offset by an increase in costs associated with additional manufacturing headcount in 2019, as compared to 2018. Gross margins may fluctuate in future years based on expected production volume and product mix. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Research and development expenses </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Research and development (&#8220;R&amp;D&#8221;) expenses are related to bioprocessing products, which include personnel, supplies and other research expenses. Due to the size of the Company and the fact that these various programs share personnel and fixed costs, we do not track all of our expenses or allocate any fixed costs by program, and therefore, have not provided historical costs incurred by project. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">R&amp;D expenses increased $0.7&#160;million, or 3.8% in 2020, compared to 2019. The increase is primarily due to a $1.1&#160;million increase in C Technologies R&amp;D expenses. C Technologies was acquired on May&#160;31, 2019. Therefore, only seven months of expenses were recognized in 2019, compared to a full 12 months in 2020. The increase is partially offset by a decrease in R&amp;D spending on external projects, as certain R&amp;D process development laboratories were not fully functional for most of 2020 due to <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">COVID-19.</div> </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">R&amp;D expense also includes investments made to expand our proteins product offering through our development agreement with Navigo Proteins GmbH (&#8220;Navigo&#8221;). The Company invested $0.9&#160;million in 2020 and $1.0&#160;million in 2019 in the form of milestone payments to Navigo. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We expect our R&amp;D expenses in 2021 to modestly increase to support new product development. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">During 2019 and 2018, R&amp;D expenses were related to bioprocessing products, including personnel, supplies and product development expenses. Due to the size of the Company and the fact that these various programs share personnel and fixed costs, we do not track all of our expenses or allocate any fixed costs by program, and therefore, have not provided historical costs incurred by project. </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">47 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">R&amp;D expenses increased $3.6&#160;million in 2019, or 22.9%, as compared to 2018. The increase is primarily due to an increase in costs associated with an increase in R&amp;D headcount costs and the addition of $1.7&#160;million of R&amp;D expenses related to C Technologies, which was acquired in May 2019. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The increase in 2019 was partially offset by a $1.4&#160;million decrease in R&amp;D expense for investments made to Navigo. The Company invested $1.0&#160;million in 2019 compared to $2.4&#160;million in 2018. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Selling, general and administrative expenses </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Selling, general and administrative (&#8220;SG&amp;A&#8221;) expenses include the costs associated with selling our commercial products and costs required to support our marketing efforts, including legal, accounting, patent, shareholder services, amortization of intangible assets and other administrative functions. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">For 2020, SG&amp;A costs increased by $24.0&#160;million, or 25.1%, as compared to 2019. The increase is partially due to the continued expansion of our customer-facing activities to drive sales of our bioprocessing products, and the continued buildout of our administrative infrastructure, primarily through increased headcount, to support expected future growth. Stock-based compensation expense and other employee-related costs increased in 2020, as compared to 2019, resulting from an increase in headcount and higher share prices period over period. In addition, $4.2&#160;million of the increase in SG&amp;A costs for 2020 was related to the C Technologies operations, which was acquired in May 2019. C Technologies&#8217; SG&amp;A costs for 2020 include a full year of costs, compared to only seven months in 2019. With the acquisitions of EMT, NMS and ARTeSYN in 2020, an additional $2.2&#160;million of SG&amp;A costs were included in the consolidated results. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">For 2019, SG&amp;A costs increased by $29.9&#160;million, or 45.5%, as compared to 2018. The increase is due to the addition of $10.9&#160;million of SG&amp;A costs from the acquisition of C Technologies in May 2019, as well as the continued expansion of our customer-facing activities to drive sales of our bioprocessing products, and to the continued buildout of our administrative infrastructure, primarily through increased headcount, to support expected future growth. In addition, during 2019, transaction fees related to the C Technologies Acquisition of $4.0&#160;million were included in SG&amp;A, for which there were no comparable costs for 2018. Sales commissions were higher in 2019 due to the increase in revenue. Stock compensation expense increased as compared to 2018 resulting from the increase in headcount and higher share prices period over period. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Other expenses, net </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The table below provides detail regarding our other expenses, net: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 33%;"></td>
<td style="width: 2%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 2%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 2%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 2%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 2%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 2%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 2%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For&#160;the&#160;Years&#160;Ended&#160;December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020 vs. 2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019 vs. 2018</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;&#160;&#160;2020&#160;&#160;&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;&#160;&#160;2019&#160;&#160;&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;&#160;&#160;2018&#160;&#160;&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">$&#160;Change</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">%&#160;Change</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">$&#160;Change</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">%&#160;Change</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td colspan="26" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands, except for percentage data)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Investment income</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">1,741</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">5,324</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">1,895</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(3,583</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(67.3</td>
<td style="vertical-align: bottom; white-space: nowrap;">)%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">3,429</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">180.9</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Loss on extinguishment of debt</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(5,650</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">5,650</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(100.0</td>
<td style="vertical-align: bottom; white-space: nowrap;">)%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(5,650</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">100.0</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Interest expense</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(12,133</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(9,292</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(6,709</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(2,841</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">30.6</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(2,583</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">38.5</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Other (expenses) income</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(214</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(314</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">262</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">100</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(31.8</td>
<td style="vertical-align: bottom; white-space: nowrap;">)%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(576</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(219.8</td>
<td style="vertical-align: bottom; white-space: nowrap;">)%&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total other expenses, net</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(10,606</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(9,932</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(4,552</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(674</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">6.8</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(5,380</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">118.2</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Investment income </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Investment income includes income earned on invested cash balances. The decrease of $3.6&#160;million in 2020, as compared to 2019, was attributable to a decrease in interest rates on our invested cash </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">48 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">balances. In March 2020, in response to the outbreak of <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">COVID-19</div> and to stay ahead of disruptions and economic slowdown, the Federal Reserve reduced federal funds rates to a range of 0.0% to 0.25%, which will continue to affect our investment income in future periods. Higher average invested cash balances during 2020, as compared to 2019 due to the completion of a public offering and the issuance of our 2019 Notes during the third quarter of 2019, partially offset the decrease in interest rates mentioned above. We expect investment income to vary based on changes in the amount of funds invested and fluctuation of interest rates. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Loss on extinguishment of debt </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We had no loss on extinguishment of debt in 2020. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The $5.7&#160;million loss on extinguishment of debt for the year ended December&#160;31, 2019 resulted from the settlement of our outstanding 2.125% Convertible Senior Notes due 2021 (the &#8220;2016 Notes&#8221;) in the third quarter of 2019. The loss represents the difference between (i)&#160;the fair value of the liability component and (ii)&#160;the sum of the carrying value of the debt component and any unamortized debt issuance costs at the time of settlement. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Interest expense </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Interest expense in 2020 is from our 0.375% Convertible Senior Notes due 2024 (the &#8220;2019 Notes&#8221;), which were issued in July 2019. Interest expense in 2019 is from a combination of our 2016 Notes, which were settled during the third quarter of 2019 and our 2019 Notes. Interest expense increased $2.8&#160;million in 2020, as compared to 2019 based on the increase in debt issued from $115.0&#160;million for the 2016 Notes to $287.5&#160;million for the 2019 Notes. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The amortization of debt issuance costs on the 2019 Notes was $11.0&#160;million in 2020. Amortization of debt issuance costs on the 2019 Notes was $4.7&#160;million in 2019. The amortization of the debt issuance costs on the 2016 Notes was $2.8&#160;million in 2019. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Contractual coupon interest incurred on the 2019 Notes in 2020 was $1.1&#160;million. Interest calculated based on the carrying value related to the 2019 Notes for 2019 was $0.5&#160;million. Contractual coupon interest incurred on the 2016 Notes was $1.3&#160;million in 2019. Since the 2016 Notes were settled during July 2019, interest no longer accrued on the 2016 Notes subsequent to their settlement. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Other (expenses) income </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">The change in other expenses during 2020, as compared to 2019, is primarily attributable to realized foreign currency losses related to amounts due from <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-Swedish</div> krona-based customers and vendors. In addition, $0.5&#160;million was included in other expenses in 2019, which represents a bridge loan commitment fee incurred as part of the C Technologies Acquisition. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Income tax (benefit) provision </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Income tax (benefit) provision for the years ended December&#160;31, 2020, 2019 and 2018 was as follows: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 8pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 37%;"></td>
<td style="width: 3%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 3%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 3%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 3%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 3%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 3%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 3%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For&#160;the&#160;Years&#160;Ended&#160;December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020 vs. 2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019 vs. 2018</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2020&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2019&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2018&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">$&#160;Change</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">%&#160;Change</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">$&#160;Change</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">%&#160;Change</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td colspan="26" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands, except for percentage data)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Income tax (benefit) provision</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(709</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">4,740</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">$4,819</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">$(5,449)</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(115.0</td>
<td style="vertical-align: bottom; white-space: nowrap;">)%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(79</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(1.6</td>
<td style="vertical-align: bottom; white-space: nowrap;">)%&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Effective tax rate</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(1.2</td>
<td style="vertical-align: bottom; white-space: nowrap;">)%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">18.1</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">22.5</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">49 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">For the year ended December&#160;31, 2020, we recorded an income tax benefit of $0.7&#160;million. The effective tax rate was (1.2%) and is based upon the estimated taxable income for the year ending December&#160;31, 2020 and the composition of income in different jurisdictions. The effective tax rate for 2020 was lower than the U.S. statutory rate of 21% primarily due to windfall benefits on stock option exercises and the vesting of stock units, an increase in business tax credits and tax benefits related to a change in U.S. tax law. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">For the year ended December&#160;31, 2019, we recorded an income tax provision of approximately $4.7&#160;million. The effective tax rate was an income tax provision of 18.1% and is based upon the estimated taxable income for the year ending December&#160;31, 2019 and the composition of the taxable income in different jurisdictions. The effective tax rate was lower than the U.S. statutory rate of 21% due primarily to windfall benefits on stock option exercises and the vesting of restricted stock units and to deductions related to debt extinguishment. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Non-GAAP</div> Financial Measures </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">We provide <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-GAAP</div> adjusted income from operations, <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-GAAP</div> adjusted net income and adjusted EBITDA as supplemental measures to GAAP measures regarding our operating performance. These financial measures exclude the impact of certain acquisition related items and, therefore, have not been calculated in accordance with GAAP. A detailed explanation and a reconciliation of each <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-GAAP</div> financial measures to its most comparable GAAP financial measures are described below. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We include this financial information because we believe these measures provide a more accurate comparison of our financial results between periods and more accurately reflect how management reviews its financial results. We excluded the impact of certain acquisition related items because we believe that the resulting charges do not accurately reflect the performance of our ongoing operations for the period in which such charges are incurred. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Non-GAAP</div> adjusted income from operations </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Non-GAAP</div> adjusted income from operations is measured by taking income from operations as reported in accordance with GAAP and excluding acquisition and integration costs, inventory <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">step-up</div> charges and intangible amortization booked through our consolidated statements of comprehensive income. The following is a reconciliation of income from operations in accordance with GAAP to <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-GAAP</div> adjusted income from operations for the years ended December&#160;31, 2020 and 2019: </div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 84%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 60%;"></td>
<td style="width: 12%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 12%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For&#160;the&#160;Years&#160;Ended&#160;December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;2020&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;2019&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">GAAP income from operations</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">69,823</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">36,083</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Non-GAAP</div> adjustments to income from operations:</div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Acquisition and integration costs</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">11,465</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">12,508</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;">Inventory <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">step-up</div> charges</div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">734</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,483</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Intangible amortization</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">16,032</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">13,441</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Non-GAAP</div> adjusted income from operations</div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">98,054</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">63,515</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom;"></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Non-GAAP</div> adjusted net income </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Non-GAAP</div> adjusted net income is measured by taking net income as reported in accordance with GAAP and excluding acquisition and integration costs and related tax effects, inventory <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">step-up</div> charges, intangible amortization and related tax effects, loss on extinguishment of debt and <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-cash</div> interest expense booked through our consolidated statements of comprehensive income. The following is a </div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">50 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">reconciliation of net income in accordance with GAAP to <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-GAAP</div> adjusted net income for the years ended December&#160;31, 2020 and 2019: </div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 46%;"></td>
<td style="width: 7%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 7%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 7%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 7%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="14" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid; white-space: nowrap;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid; white-space: nowrap;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid; white-space: nowrap;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Amount</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid; white-space: nowrap;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Fully&#160;Diluted<br/>Earnings&#160;per<br/>Share*</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid; white-space: nowrap;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Amount</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid; white-space: nowrap;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Fully&#160;Diluted<br/>Earnings&#160;per<br/>Share*</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="14" style="vertical-align: bottom; white-space: nowrap;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands, except per share data)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">GAAP net income</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">59,926</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">1.11</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">21,411</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">0.44</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Non-GAAP</div> adjustments to net income:</div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Acquisition and integration costs</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">10,479</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">0.19</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">13,008</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">0.26</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;">Inventory <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">step-up</div> charges</div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">734</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">0.01</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,483</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">0.03</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Intangible amortization</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">16,032</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">0.30</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">13,441</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">0.27</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Loss on extinguishment of debt</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">5,650</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">0.11</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Non-cash</div> interest expense</div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">10,970</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">0.20</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">7,536</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">0.15</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Tax effect of intangible amortization and acquisition costs</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(9,050</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(0.17</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(10,003</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(0.20</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Non-GAAP</div> adjusted net income</div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">89,091</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">1.65</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">52,526</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">1.07</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="width: 11%; line-height: 8pt; margin-top: 0pt; margin-bottom: 2pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 2%; vertical-align: top;;text-align:left;">*</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Note that earnings per share amounts may not add due to rounding. </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Adjusted EBITDA </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">Adjusted EBITDA is measured by taking net income as reported in accordance with GAAP, excluding investment income, interest expense, taxes, depreciation and intangible amortization, and excluding acquisition and integration costs, inventory <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">step-up</div> charges and loss on extinguishment of debt booked through our consolidated statements of comprehensive income. The following is a reconciliation of net income in accordance with GAAP to adjusted EBITDA for years ended December&#160;31, 2020 and 2019: </div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 50%;"></td>
<td style="width: 15%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 15%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;For&#160;the&#160;Years&#160;Ended&#160;December&#160;31,&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;2020&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;2019&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">GAAP net income</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">59,926</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">21,411</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Non-GAAP</div> EBITDA adjustments to net income:</div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Investment income</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(1,741</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(5,324</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Interest expense</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">12,133</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">9,292</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Tax (benefit) provision</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(709</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">4,740</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Depreciation</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">10,888</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">7,317</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Intangible amortization</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">16,143</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">13,551</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">EBITDA</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">96,640</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">50,987</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;">Other <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-GAAP</div> adjustments:</div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Acquisition and integration costs</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">10,479</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">13,008</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Loss on extinguishment of debt</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">5,650</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;">Inventory <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">step-up</div> charges</div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">734</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,483</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Adjusted EBITDA</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">107,853</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">71,128</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">51 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Liquidity and Capital Resources </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We have financed our operations primarily through revenues derived from product sales, the issuance of the 2016 Notes in May 2016 and our 2019 Notes (defined below) in July 2019 and the issuance of common stock in our December 2020, July 2019 and May 2019 public offerings. Our revenue for the foreseeable future will primarily be limited to our bioprocessing product revenue. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">At December&#160;31, 2020, we had cash and cash equivalents of $717.3&#160;million compared to cash and cash equivalents of $528.4&#160;million at December&#160;31, 2019. There were no restrictions on cash as of December&#160;31, 2020. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">On December&#160;8, 2020, the Company completed a public offering in which 1,725,000 shares of its common stock, including the underwriters&#8217; full exercise of an option to purchase up to an additional 225,000 shares, were sold to the public at a price of $181.00 per share. The total proceeds received by the Company from this offering, net of underwriting discounts and commissions and other estimated offering expenses payable by the Company, were approximately $297.8&#160;million. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">In 2020, we acquired three companies for an aggregate of $175.0&#160;million in cash, net of cash acquired. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We acquired C Technologies on May&#160;31, 2019 for $239.9&#160;million in cash and shares of our common stock. The C Technologies Acquisition was funded through payment of approximately $195.0&#160;million in cash and issuance of 779,221 unregistered shares of the Company&#8217;s common stock totaling $53.9&#160;million. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">On July&#160;19, 2019, the Company completed a public offering in which 1,587,000 shares of its common stock, including the underwriters&#8217; full exercise of an option to purchase an additional 207,000 shares, were sold to the public at a price of $87.00 per share for $131.1&#160;million in net proceeds to the Company, after deducting underwriting discounts and commissions and other estimated offering expenses payable by the Company (the &#8220;July Stock Offering&#8221;). </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">On July&#160;19, 2019, the Company issued $287.5&#160;million aggregate principal amount of 0.375% Convertible Senior Notes due 2024 (&#8220;2019 Notes&#8221;), which includes the underwriters&#8217; exercise in full of an option to purchase an additional $37.5&#160;million aggregate principal amount of 2019 Notes (the &#8220;Notes Offering&#8221; and, together with the July Stock Offering, the &#8220;Offerings&#8221;). The net proceeds of the Notes Offering, after deducting underwriting discounts and commissions and other offering expenses payable by the Company, were $278.5&#160;million. See Note 12, <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Convertible Senior Notes,&#8221; </div></div>included in this report<div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;"> </div></div>for more information on this transaction. The Company utilized a portion of the proceeds from the Offerings to settle its outstanding 2016 Notes during the third quarter of 2019. On July&#160;16, 2019, the Company entered into separate privately negotiated agreements with certain holders of the 2016 Notes to exchange an aggregate of $92.0&#160;million principal aggregate amount of the 2016 Notes for shares of the Company&#8217;s common stock, together with cash, in private placement transactions (the &#8220;Note Exchanges&#8221;). On July&#160;19, 2019 and July&#160;22, 2019, the Company used approximately $92.3&#160;million (including $0.3&#160;million of accrued interest) and 1,850,155 shares of its common stock valued at $161.0&#160;million to settle the Note Exchanges for total consideration of $253.3&#160;million, of which $163.6&#160;million was allocated to the equity component of the 2016 Notes. The Company allocated the consideration transferred to the liability and equity components using the same proportions as the initial carrying value of the 2016 Notes. The transaction resulted in a loss on extinguishment of debt of $4.6&#160;million in the Company&#8217;s consolidated statements of comprehensive income as of December&#160;31, 2019. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">On May&#160;3, 2019, the Company completed a public offering in which 3,144,531 shares of its common stock, including the underwriters&#8217; full exercise of an option to purchase up to an additional 410,156 </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">52 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">shares, were sold to the public at a price of $64.00 per share. The total proceeds received by the Company from this offering, net of underwriting discounts and commissions and other estimated offering expenses payable by the Company, totaled approximately $189.6&#160;million. Proceeds from this public offering were partially used to fund the C Technologies Acquisition on May&#160;31, 2019. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">During the fourth quarter of 2020, the closing price of the Company&#8217;s common stock exceeded 130% of the conversion price of the 2019 Notes for more than 20 trading days of the last 30 consecutive trading days of the quarter. As a result, the 2019 Notes are convertible at the option of the holders of the 2019 Notes during the first quarter of 2021 per the First Supplemental Indenture underlying the 2019 Notes. The 2019 Notes have a face value of $287.5&#160;million and a carrying value of $243.7&#160;million. The Company expects to continue meeting these terms and has reclassified the carrying value of the 2019 Notes from long-term liabilities to current liabilities on the Company&#8217;s balance sheet as of December&#160;31, 2020. As of the date of this filing, the Company received a request to convert $1,000 aggregate principal amount of 2019 Notes and we intend to pay or deliver, as the case may be, the settlement amount to be determined &#8211; paying the amount in excess of the aggregate principal portion of the converted notes in shares of our common stock. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Cash flows </div></div></div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 42%;"></td>
<td style="width: 3%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 3%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 3%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 3%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 3%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td rowspan="2" style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" rowspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">FY20&#160;vs&#160;FY19</div></div><br/><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">$&#160;Change</div></div></td>
<td rowspan="2" style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td rowspan="2" style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" rowspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">FY19&#160;vs&#160;FY18</div></div><br/><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">$&#160;Change</div></div></td>
<td rowspan="2" style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2018</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="18" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="text-decoration: underline; letter-spacing: 0px; top: 0px;;display:inline;">Cash provided by (used in):</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating activities</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">62,625</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">67,216</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">32,770</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(4,591</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">34,446</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Investing activities</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(201,385</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(205,308</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(14,037</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">3,923</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(191,271</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Financing activities</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">305,916</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">484,867</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">3,407</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(178,951</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">481,460</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Effect of exchange rate changes on cash, cash equivalents and restricted cash</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">12,729</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(3,190</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(2,077</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">15,919</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(1,113</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Net increase in cash, cash equivalents and restricted cash</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">179,885</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">343,585</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">20,063</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(163,700</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">323,522</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Operating activities </div></div></div></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">For 2020, our operating activities provided cash of $62.6&#160;million reflecting net income of $59.9&#160;million and <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-cash</div> charges totaling $51.3&#160;million primarily related to depreciation, amortization, <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-cash</div> interest expense, deferred taxes and stock-based compensation charges. An increase in accounts receivable consumed $21.0&#160;million of cash and was primarily driven by the 35.5% <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">year-to-date</div></div> increase in total revenues and an increase in inventory manufactured of $29.3&#160;million to support expected continued growth in future revenues. In addition, $4.9&#160;million was consumed for increases in prepaid expenses for annual software and network contracts, as well as the renewal of the Company&#8217;s global insurance policies. These were offset by an increase in accounts payable and accrued liabilities of $3.5&#160;million due primarily to increased inventory purchases to support customer orders and <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">year-end</div> tax adjustments, offset by payment of acquisition-related bonuses for C Technologies during the second quarter of 2020. The remaining cash source of operating activities resulted from favorable changes in various other working capital accounts. </div> </div> </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">For 2019, our operating activities provided cash of $67.2&#160;million reflecting net income of $21.4&#160;million and <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-cash</div> charges totaling $46.9&#160;million primarily related to depreciation, amortization, <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-cash</div> interest expense, deferred taxes, loss on extinguishment of debt and stock-based compensation charges. </div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">53 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">An increase in accounts receivable consumed $7.7&#160;million of cash and was primarily driven by the 39% <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">year-to-date</div></div> increase in revenues and an increase in inventory consumed $9.3&#160;million to support future revenue, due to the addition of C Technologies on May&#160;31, 2019. These were offset by an increase in accounts payable and accrued liabilities of $13.8&#160;million due to the addition of C Technologies and a decrease in unbilled receivables of $2.1&#160;million. The remaining cash used in operating activities resulted from unfavorable changes in various other working capital accounts. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">For 2018, our operating activities provided cash of $32.8&#160;million reflecting net income of $16.6&#160;million and <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-cash</div> charges totaling $30.3&#160;million primarily related to depreciation, amortization, <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-cash</div> interest expense, deferred tax expense and stock-based compensation charges. An increase in receivables consumed $8.7&#160;million of cash and was primarily driven by the 37% <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">year-to-date</div></div> increase in revenues. An increase in inventory levels to accommodate future revenue growth consumed $4.0&#160;million of cash, payment of accrued liabilities consumed $1.4&#160;million of cash and an increase in other assets used $1.8&#160;million. This utilization of cash is partially offset by $2.3&#160;million of cash provided by an increase in accounts payable due to the timing of payments to vendors. The remaining cash flow used in operations resulted from net unfavorable changes in various other working capital accounts. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Investing activities </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">Our investing activities consumed $201.4&#160;million of cash during 2020. We used $175.0&#160;million in cash (net of cash received) for the EMT, NMS and ARTeSYN Acquisitions. Capital expenditures consumed $26.3&#160;million as we continue to increase our manufacturing capacity worldwide. Of these expenditures, $3.9&#160;million represented capitalized costs related to our <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">internal-use</div> software. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">Our investing activities consumed $205.3&#160;million of cash during 2019. We used $182.2&#160;million in cash (net of cash received) for the C Technologies Acquisition on May&#160;31, 2019. Capital expenditures consumed $23.2&#160;million as we continue to increase our manufacturing capacity worldwide. Of these expenditures, $4.7&#160;million represented capitalized costs related to our <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">internal-use</div> software. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">For 2018, our investing activities consumed $14.0&#160;million of cash, including $12.8&#160;million for capital expenditures. Of those expenditures, $2.1&#160;million represented capitalized costs related to our <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">internal-use</div> software. In addition, a capitalized payment for developed technology of $1.3&#160;million was paid to Navigo in 2018 to assist in expanding our proteins product offerings through a development agreement. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Financing activities </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">In 2020, cash provided by financing activities of $305.9&#160;million included $297.8&#160;million from the issuance of our common stock resulting from our public offerings completed in December 2020. Proceeds from stock option exercises during 2020 were $8.2&#160;million. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">In 2019, cash provided by financing activities of $484.9&#160;million included $320.7&#160;million from the issuance of our common stock resulting from our public offerings completed in May and July 2019. In addition, in July 2019 the Company issued $287.5&#160;million aggregate principal amount of the 2019 Notes for net proceeds of $278.5&#160;million. Proceeds from stock option exercises during 2019 were $1.2&#160;million. Offsetting these activities was $115.0&#160;million of cash utilized by the Company in July 2019 to settle the 2016 Notes. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">In 2018, our financing activities provided $3.4&#160;million of cash from proceeds received from stock option exercises. </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">54 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Effect of exchange rate changes on cash, cash equivalents and restricted cash </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The effect of exchange rate changes on cash during 2020 is a result of the strengthening of the Swedish krona against the U.S. dollar by 12% and the strengthening of the Euro against the U.S. dollar by 9%. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Off-Balance</div> Sheet Arrangements </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">We do not have any special purpose entities or <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">off-balance</div> sheet financing arrangements. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Contractual Obligations </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">As of December&#160;31, 2020, we had the following fixed obligations and commitments: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 49%;"></td>
<td style="width: 3%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 3%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 3%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 3%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 3%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Total</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Less&#160;than</div></div><br/><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">one&#160;year</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">One&#160;to</div></div><br/><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">three&#160;years</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Three&#160;to</div></div><br/><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">five&#160;years</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Over&#160;five</div></div><br/><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">years</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="18" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Convertible senior notes<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">(1)</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">287,500</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">287,500</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">$</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">$</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">$</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Interest payments related to convertible senior notes</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,078</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,078</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease obligations</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">44,840</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">7,196</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">12,252</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">9,865</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">15,527</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Purchase obligations<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">(2)</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">55,253</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">55,253</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">388,671</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">351,027</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">12,252</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">9,865</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">15,527</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="width: 11%; line-height: 8pt; margin-top: 0pt; margin-bottom: 2pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%; vertical-align: top;;text-align:left;">(1)</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">During the fourth quarter of 2020, the closing price of the Company&#8217;s common stock exceeded 130% of the conversion price of the 2019 Notes for more than 20 trading days of the last 30 consecutive trading days of the quarter. As a result, the 2019 Notes are convertible at the option of the holders of the 2019 Notes during the first quarter of 2021, the quarter immediately following the quarter when the conditions are met, as stated in the terms of the 2019 Notes. Expecting to continue meeting these terms, the Company reclassified the carrying value of the 2019 Notes from long-term liabilities to current liabilities on the Company&#8217;s balance sheet as of December 31, 2020. </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%; vertical-align: top;;text-align:left;">(2)</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Primarily represents purchase commitments with certain vendors and open purchase orders for the procurement of raw materials for manufacturing. </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">The table excludes a liability for uncertain tax positions totaling $3.2&#160;million since we cannot currently make a reliable estimate of the period in which the liability will be payable, if ever. See Note 9, <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Income Taxes,&#8221; </div></div>to our consolidated financial statements included in this report for more information. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">For additional information on our operating lease obligations and convertible senior notes, see Note 4, <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Leases&#8221;</div></div> and Note 12, <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Convertible Senior Notes,&#8221; </div></div>in our notes to consolidated financial statements included in this report. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Capital Requirements </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Our future capital requirements will depend on many factors, including the following: </div></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">the expansion of our bioprocessing business; </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">the ability to sustain sales and profits of our bioprocessing products; </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">our ability to acquire additional bioprocessing products; </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">the scope of and progress made in our research and development activities; </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">the extent of any share repurchase activity; and </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">the success of any proposed financing efforts. </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">55 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> </div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Absent acquisitions of additional products, product candidates or intellectual property, we believe our current cash balances are adequate to meet our cash needs for at least the next 24 months. We expect operating expenses in 2021 to increase as we continue to expand our bioprocessing business. We expect to incur continued spending related to the development and expansion of our bioprocessing product lines and expansion of our commercial capabilities for the foreseeable future. Our future capital requirements may include, but are not limited to, purchases of property, plant and equipment, the acquisition of additional bioprocessing products and technologies to complement our existing manufacturing capabilities, and continued investment in our intellectual property portfolio. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We plan to continue to invest in our bioprocessing business and in key research and development activities associated with the development of new bioprocessing products. We actively evaluate various strategic transactions on an ongoing basis, including licensing or acquiring complementary products, technologies or businesses that would complement our existing portfolio. We continue to seek to acquire such potential assets that may offer us the best opportunity to create value for our shareholders. In order to acquire such assets, we may need to seek additional financing to fund these investments. If our available cash balances and anticipated cash flow from operations are insufficient to satisfy our liquidity requirements, including because of any such acquisition-related financing needs or lower demand for our products, we may seek to sell common or preferred equity or convertible debt securities, enter into a credit facility or another form of third-party funding, or seek other debt funding. The sale of equity and convertible debt securities may result in dilution to our stockholders, and those securities may have rights senior to those of our common shares. If we raise additional funds through the issuance of preferred stock, convertible debt securities or other debt financing, these securities or other debt could contain covenants that would restrict our operations. Any other third-party funding arrangement could require us to relinquish valuable rights. We may require additional capital beyond our currently anticipated amounts. Additional capital may not be available on reasonable terms, if at all. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Net Operating Loss Carryforwards </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">At December&#160;31, 2020, we had net operating loss carryforwards of $6.4&#160;million remaining. We had business tax credits carryforwards of $9.4&#160;million available to reduce future federal income taxes, if any. The business tax credits carryforwards will continue to expire at various dates through December 2039. Net operating loss carryforwards and available tax credits are subject to review and possible adjustment by the Internal Revenue Service, state and foreign jurisdictions and may be limited in the event of certain changes in the ownership interest of significant stockholders. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Foreign Earnings </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">As of December&#160;31, 2020, the Company has accumulated undistributed earnings generated by our foreign subsidiaries of approximately $113.1&#160;million. Because $58.0&#160;million of such earnings have previously been subject to the <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">one-time</div> transition tax on foreign earnings required by the 2017 Tax Act, any additional taxes due with respect to such earnings or the excess of the amount for financial reporting over the tax basis of our foreign investments would generally be limited to foreign and state taxes. At December&#160;31, 2020, we have not provided for taxes on outside basis differences of our foreign subsidiaries, as we have the ability and intent to indefinitely reinvest the undistributed earnings of our foreign subsidiaries, and there are no needs for such earnings in the United States that would contradict our plan to indefinitely reinvest. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Effects of Inflation </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Our assets are primarily monetary, consisting of cash and cash equivalents. Because of their liquidity, these assets are not directly affected by inflation. Since we intend to retain and continue to use our equipment, furniture, fixtures and office equipment, computer hardware and software and leasehold </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">56 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">improvements, we believe that the incremental inflation related to replacement costs of such items will not materially affect our operations. However, the rate of inflation affects our expenses, such as those for employee compensation and contract services, which could increase our level of expenses and the rate at which we use our resources. </div></div> <div style="font-size: 18pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 18pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td id="toc105808_13" style="width: 11%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">ITEM&#160;7A.</div></div></td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK </div></div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We are exposed to market risk in the ordinary course of our business. Market risk represents the risk of loss that may impact our financial position due to adverse changes in financial market prices and rates. Our market risk exposure is primarily a result of fluctuations in interest rates and foreign currency exchange rates. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Interest Rate Risk </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We have historically held investments in commercial paper, U.S. Government and agency securities as well as corporate bonds and other debt securities. As a result, we have been exposed to potential loss from market risks that may occur as a result of changes in interest rates, changes in credit quality of the issuer or otherwise. We do not have any such investments as of December&#160;31, 2020. As a result, a hypothetical 100 basis point increase in interest rates would have no effect on our cash position as of December&#160;31, 2020. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We generally place our marketable security investments in high quality credit instruments, as specified in our investment policy guidelines. We believe that the conservative nature of our investments mitigates our interest rate exposure, and our investment policy limits the amount of our credit exposure to any one issue, issuer (with the exception of U.S. agency obligations) and type of instrument. We do not expect any material loss from our marketable security investments and therefore believe that our potential interest rate exposure is limited. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Foreign Exchange Risk </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The reporting currency of the Company is U.S. dollars, and the functional currency of each of our foreign subsidiaries is its respective local currency. Our foreign currency exposures include the Swedish krona, Euro, British pound, Chinese yuan, Japanese yen, Singapore dollar, South Korean won and Indian rupee; of these, the primary foreign currency exposures are the Swedish kronor, Euro and British pound. Exchange gains or losses resulting from the translation between the transactional currency and the functional currency are included in net income. Fluctuations in exchange rates may adversely affect our results of operations, financial position and cash flows. We currently do not seek to hedge this exposure to fluctuations in exchange rates. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Although a majority of our contracts are denominated in U.S. dollars, 30% and 29% of total revenues during 2020 and 2019, respectively, were denominated in foreign currencies while 7% and 17% of our costs and expenses during 2020 and 2019, respectively, were denominated in foreign currencies, primarily operating expenses associated with cost of revenue, sales and marketing and general and administrative. In addition, 22% and 16% of our consolidated tangible assets were subject to foreign currency exchange fluctuations as of each of December&#160;31, 2020 and 2019, respectively, while 6% and 5% of our consolidated liabilities were exposed to foreign currency exchange fluctuations as of each of December&#160;31, 2020 and 2019, respectively. </div></div> <div style="font-size: 18pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 18pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td id="toc105808_14" style="width: 11%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">ITEM&#160;8.</div></div></td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">FINANCIAL STATEMENTS AND SUPPLEMENTARY DATA </div></div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Financial statements and supplementary data required by Item&#160;8 are set forth at the pages indicated in Item&#160;15(a) below and are incorporated herein by reference. </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">57 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;">
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td id="toc105808_15" style="width: 11%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">ITEM&#160;9.</div></div></td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">CHANGES IN AND DISAGREEMENTS WITH ACCOUNTANTS ON ACCOUNTING AND FINANCIAL DISCLOSURE. </div></div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">None. </div></div> <div style="font-size: 18pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 18pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td id="toc105808_16" style="width: 11%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">ITEM&#160;9A.</div></div></td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">CONTROLS AND PROCEDURES </div></div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">(a) Disclosure Controls and Procedures. </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">The Company&#8217;s management, with the participation of our principal executive officer and principal financial officer, has evaluated the effectiveness of the Company&#8217;s disclosure controls and procedures (as defined in <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Rules&#160;13a-15(e)</div> or <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">15d-15(e)</div> under the Exchange Act and as required by paragraph (b)&#160;of Rules <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">13a-15</div> or <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">15d-15</div> under the Exchange Act) as of the end of the period covered by this report. Based on such evaluation, our principal executive officer and principal financial officer have concluded that, as of the end of such period, the Company&#8217;s disclosure controls and procedures were effective at the reasonable assurance level. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">(b) Report of Management on Internal Control Over Financial Reporting. </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">Management of the Company is responsible for establishing and maintaining adequate internal control over financial reporting. Internal control over financial reporting is defined in <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Rule&#160;13a-15(f)</div> and <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">15d-15(f)</div> under the Exchange Act as a process designed by, or under the supervision of, the Company&#8217;s principal executive and principal financial officers and effected by the Company&#8217;s Board of Directors, management and other personnel, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with U.S. generally accepted accounting principles and includes those policies and procedures that: </div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">pertain to the maintenance of records that in reasonable detail accurately and fairly reflect the transactions and dispositions of the assets of the Company; </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">provide reasonable assurance that transactions are recorded as necessary to permit preparation of financial statements in accordance with generally accepted accounting principles, and that receipts and expenditures of the Company are being made only in accordance with authorizations of management and directors of the Company; and </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 6pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 6pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%;">&#160;</td>
<td style="width: 4%; vertical-align: top;;text-align:left;">&#8226;</td>
<td style="width: 1%; vertical-align: top;">&#160;</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use or disposition of the Company&#8217;s assets that could have a material effect on the financial statements. </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">Management assessed the effectiveness of the Company&#8217;s internal control over financial reporting as of December&#160;31, 2020. In making this assessment, management used the criteria established in <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Internal Control &#8211; Integrated Framework</div></div>, issued by the Committee of Sponsoring Organizations of the Treadway Commission (2013 framework) (COSO). </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">We acquired Engineered Molding Technology LLC (&#8220;EMT&#8221;), <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Non-Metallic</div> Solutions, Inc. (&#8220;NMS&#8221;) and ARTeSYN Biosolutions Holdings Ireland Limited (&#8220;ARTeSYN&#8221;) on July&#160;13, 2020, October&#160;20, 2020 and December&#160;3, 2020, respectively. The financial results of each of these businesses are included in our audited consolidated financial statements as of December&#160;31, 2020. The Company&#8217;s consolidated total assets as of December&#160;31, 2020 includes $31.9&#160;million, $16.8&#160;million and $226.1&#160;million from the EMT, NMS and ARTeSYN businesses, respectively. The Company&#8217;s consolidated revenues for the year ended December&#160;31, 2020 includes $3.7&#160;million, $0.6&#160;million and $2.0&#160;million from the EMT, NMS and ARTeSYN businesses, respectively. As these acquisitions occurred in the third and fourth quarters of 2020, the scope of our assessment of our internal control over financial reporting does not include EMT, NMS and ARTeSYN. This exclusion is in accordance with the SEC&#8217;s general guidance that an assessment of a recently acquired business may be omitted from our scope in the year of acquisition. </div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">58 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">In connection with our initiative to integrate and enhance our global information technology systems and business processes, we continued the phased implementation of a new enterprise resource planning (&#8220;ERP&#8221;) system. The ERP system is being implemented in phases through 2021. The second phase was completed during the third quarter of 2020. As a result of this implementation, we modified certain existing internal controls over financial reporting as well as implemented new controls and procedures related to the new ERP system as of December&#160;31, 2020. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">Other than the foregoing, there have been no changes in our internal control over financial reporting identified in connection with the evaluation required by paragraph (d)&#160;of Securities Exchange Act <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Rule&#160;13a-15</div> or Rule <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">15d-15</div> that occurred in the three months ended December&#160;31, 2020 that have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">Subject to the foregoing, based on this assessment, our management concluded that, as of December&#160;31, 2020, our internal control over financial reporting is effective based on those criteria. Ernst&#160;&amp; Young LLP, the independent registered public accounting firm that audited our financial statements included in this Form <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">10-K,</div> has issued an attestation report on our internal control over financial reporting as of December&#160;31, 2020. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Because of its inherent limitations, internal control over financial reporting may not prevent or detect misstatements. Projections of any evaluation of effectiveness to future periods are subject to the risks that controls may become inadequate because of changes in conditions, or that the degree of compliance with the policies or procedures may deteriorate. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">(c) Attestation Report of the Independent Registered Public Accounting Firm. </div></div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">59 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">REPORT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">To the Stockholders and the Board of Directors of Repligen Corporation: </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Opinion on Internal Control over Financial Reporting </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We have audited Repligen Corporation&#8217;s internal control over financial reporting as of December&#160;31, 2020, based on criteria established in Internal Control &#8211; Integrated Framework issued by the Committee of Sponsoring Organizations of the Treadway Commission (2013 framework) (the COSO criteria). In our opinion, Repligen Corporation (the Company) maintained, in all material respects, effective internal control over financial reporting as of December&#160;31, 2020, based on the COSO criteria. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">As indicated in the accompanying Management&#8217;s Report Over Financial Reporting, management&#8217;s assessment of and conclusion on the effectiveness of internal control over financial reporting did not include the internal controls of Engineered Molding Technology LLC (&#8220;EMT&#8221;), <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Non-Metallic</div> Solutions, Inc. (&#8220;NMS&#8221;) and ARTeSYN Biosolutions Holdings Ireland Limited (&#8220;ARTeSYN&#8221;), which are included in the 2020 consolidated financial statements of the Company and constituted $31.9&#160;million, $16.8&#160;million and $226.1&#160;million of total assets, respectively, as of December&#160;31, 2020, and $3.7&#160;million, $0.6&#160;million and $2.0&#160;million of revenues, respectively, for the year then ended. Our audit of internal control over financial reporting of the Company also did not include an evaluation of the internal control over financial reporting of EMT, NMS or ARTeSYN. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We also have audited, in accordance with the standards of the Public Company Accounting Oversight Board (United States) (PCAOB), the consolidated balance sheets of the Company as of December&#160;31, 2020 and 2019, the related consolidated statements of comprehensive income, stockholders&#8217; equity and cash flows for each of the three years in the period ended December&#160;31, 2020, and the related notes and our report dated February&#160;24, 2021 expressed an unqualified opinion thereon. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Basis for Opinion </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company&#8217;s management is responsible for maintaining effective internal control over financial reporting and for its assessment of the effectiveness of internal control over financial reporting included in the accompanying Report of Management on Internal Control Over Financial Reporting. Our responsibility is to express an opinion on the Company&#8217;s internal control over financial reporting based on our audit. We are a public accounting firm registered with the PCAOB and are required to be independent with respect to the Company in accordance with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We conducted our audit in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether effective internal control over financial reporting was maintained in all material respects. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Our audit included obtaining an understanding of internal control over financial reporting, assessing the risk that a material weakness exists, testing and evaluating the design and operating effectiveness of internal control based on the assessed risk, and performing such other procedures as we considered necessary in the circumstances. We believe that our audit provides a reasonable basis for our opinion. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Definition and Limitations of Internal Control Over Financial Reporting </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">A company&#8217;s internal control over financial reporting is a process designed to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles. A company&#8217;s internal </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">60 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">control over financial reporting includes those policies and procedures that (1)&#160;pertain to the maintenance of records that, in reasonable detail, accurately and fairly reflect the transactions and dispositions of the assets of the company; (2)&#160;provide reasonable assurance that transactions are recorded as necessary to permit preparation of financial statements in accordance with generally accepted accounting principles, and that receipts and expenditures of the company are being made only in accordance with authorizations of management and directors of the company; and (3)&#160;provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use, or disposition of the company&#8217;s assets that could have a material effect on the financial statements. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Because of its inherent limitations, internal control over financial reporting may not prevent or detect misstatements. Also, projections of any evaluation of effectiveness to future periods are subject to the risk that controls may become inadequate because of changes in conditions, or that the degree of compliance with the policies or procedures may deteriorate. </div></div> <div style="text-indent: -2%; font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt; margin-left: 55%;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">/s/ Ernst&#160;&amp; Young LLP </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Boston, Massachusetts </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">February&#160;24, 2021 </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">61 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">(d) Changes in Internal Control Over Financial Reporting </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">Other than the acquisitions of NMS and ARTeSYN mentioned above, there have been no changes in our internal control over financial reporting identified in connection with the evaluation required by paragraph (d)&#160;of Securities Exchange Act Rule <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">13a-15</div> or Rule <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">15d-15</div> that occurred in the three months ended December&#160;31, 2020 that have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting. </div> <div style="font-size: 18pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 18pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td id="toc105808_17" style="width: 11%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">ITEM&#160;9B.</div></div></td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">OTHER INFORMATION </div></div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">None. </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">62 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div id="toc105808_18" style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">PART III </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">Pursuant to General Instructions G to Form <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">10-K,</div> the information required for Part III, Items 10, 11, 12, 13 and 14, is incorporated herein by reference from the Company&#8217;s proxy statement for the 2021 Annual Meeting of Stockholders. </div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">63 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">PART IV </div></div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td id="toc105808_20" style="width: 11%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">ITEM&#160;15.</div></div></td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">EXHIBITS AND FINANCIAL STATEMENT SCHEDULES </div></div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">The following documents are filed as part of this Form <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">10-K:</div> </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">(a) (1)<div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#160;Financial Statements</div></div>: </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The financial statements required by this item are submitted in a separate section beginning on page&#160;69 of this report, as follows: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 94%;"></td>
<td style="width: 3%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Page</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"><a href="#tx105808_100">Report of Independent Registered Public Accounting Firm</a></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">69</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"><a href="#tx105808_101">Consolidated Balance Sheets as of December&#160;31, 2020 and December&#160;31, 2019</a></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">71</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"><a href="#tx105808_102">Consolidated Statements of Comprehensive Income for the Years Ended December&#160;31, 2020, 2019 and 2018</a></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">72</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"><a href="#tx105808_103">Consolidated Statements of Stockholders&#8217; Equity for the Years Ended December&#160;31, 2020, 2019 and 2018</a></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">73</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"><a href="#tx105808_104">Consolidated Statements of Cash Flows for the Years Ended December&#160;31, 2020, 2019 and 2018</a></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">74</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"><a href="#tx105808_105">Notes to Consolidated Financial Statements</a></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">75</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">(a) (2)<div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#160;Financial Statement Schedules</div></div>: </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">None. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">(a) (3)<div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#160;Exhibits</div></div>: </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">The Exhibits which are filed as part of this Form <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">10-K</div> or which are incorporated by reference are set forth in the Exhibit Index hereto. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">EXHIBIT INDEX </div></div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="font-family: ARIAL;"></td>
<td style="width: 4%; vertical-align: bottom; font-family: ARIAL;"></td>
<td style="width: 89%; font-family: ARIAL;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; white-space: nowrap; padding-bottom: 1pt;"> <div style="font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Exhibit</div></div></div> <div style="font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 1pt; border-bottom: 1pt solid rgb(0, 0, 0); display: table-cell; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Number</div></div></div> </td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"> <div style="text-align: center; font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 1pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Document Description</div></div></div> </td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top; white-space: nowrap;">&#160;&#160;&#160;&#160;2.1#</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;"><a href="http://www.sec.gov/Archives/edgar/data/730272/000119312519120904/d737524dex21.htm">Stock Purchase Agreement, dated April&#160;25, 2019, by and among Repligen Corporation, C&#160;Technologies and Craig Harrison (filed as Exhibit 2.1 to Repligen Corporation&#8217;s Current Report on Form<span style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">&#160;8-K</span>&#160;filed on April&#160;26, 2019 and incorporated herein by reference). </a></td> </tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt;"></td>
<td colspan="2" style="height: 6pt;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top; white-space: nowrap;">&#160;&#160;&#160;&#160;3.1</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;"><a href="http://www.sec.gov/Archives/edgar/data/730272/000091205799005920/0000912057-99-005920.txt">Restated Certificate of Incorporation dated June&#160;30, 1992, as amended September&#160;17, 1999 (filed as Exhibit 3.1 to Repligen Corporation&#8217;s Quarterly Report on Form <span style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">10-Q</span> for the quarter ended September&#160;30, 1999 and incorporated herein by reference). </a></td> </tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt;"></td>
<td colspan="2" style="height: 6pt;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top; white-space: nowrap;">&#160;&#160;&#160;&#160;3.2</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;"><a href="http://www.sec.gov/Archives/edgar/data/730272/000119312514203828/d730087dex31.htm">Certificate of Amendment to the Certificate of Incorporation of Repligen Corporation, effective as of May&#160;16, 2014 (filed as Exhibit 3.1 to Repligen Corporation&#8217;s Current Report on Form <span style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">8-K</span> filed on May&#160;19, 2014 and incorporated herein by reference). </a></td> </tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt;"></td>
<td colspan="2" style="height: 6pt;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top; white-space: nowrap;">&#160;&#160;&#160;&#160;3.3</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;"><a href="http://www.sec.gov/Archives/edgar/data/730272/000119312521020747/d117561dex31.htm">Third Amended and Restated Bylaws (filed as Exhibit 3.1 to Repligen Corporation&#8217;s Current Report on Form <span style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">8-K</span> filed on January&#160;28, 2021 and incorporated herein by reference). </a></td> </tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt;"></td>
<td colspan="2" style="height: 6pt;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top; white-space: nowrap;">&#160;&#160;&#160;&#160;4.1</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;"><a href="http://www.sec.gov/Archives/edgar/data/730272/000089155402003661/d50741_ex4-1.txt">Specimen Stock Certificate (filed as Exhibit&#160;4.1 to Repligen Corporation&#8217;s Annual Report on Form<span style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">&#160;10-K</span> for the year ended March&#160;31, 2002 and incorporated herein by reference). </a></td> </tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt;"></td>
<td colspan="2" style="height: 6pt;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top; white-space: nowrap;">&#160;&#160;&#160;&#160;4.2</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;"><a href="http://www.sec.gov/Archives/edgar/data/730272/000119312516600591/d184696dex41.htm">Base Indenture, dated as of July&#160;19, 2019, by and between Repligen Corporation and Wilmington Trust, National Association (filed as Exhibit 4.1 to Repligen Corporation&#8217;s Current Report on Form <span style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">8-K</span> filed on July&#160;22, 2019 and incorporated herein by reference). </a></td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">64 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;">
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="font-family: ARIAL;"></td>
<td style="width: 3%; vertical-align: bottom; font-family: ARIAL;"></td>
<td style="width: 89%; font-family: ARIAL;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; white-space: nowrap; padding-bottom: 1pt;"> <div style="font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Exhibit</div></div></div> <div style="font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 1pt; border-bottom: 1pt solid rgb(0, 0, 0); display: table-cell; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Number</div></div></div> </td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"> <div style="text-align: center; font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 1pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Document Description</div></div></div> </td> </tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt; font-family: ARIAL;"></td>
<td colspan="2" style="height: 6pt; font-family: ARIAL;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top; white-space: nowrap;">&#160;&#160;&#160;&#160;4.3</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;"><a href="http://www.sec.gov/Archives/edgar/data/730272/000119312519199075/d780262dex42.htm">First Supplemental Indenture, dated as of July&#160;19, 2019, by and between Repligen Corporation and Wilmington Trust, National Association (filed as Exhibit 4.2 to Repligen Corporation&#8217;s Current Report on Form <span style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">8-K</span> filed on July&#160;22, 2019 and incorporated herein by reference). </a></td> </tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt;"></td>
<td colspan="2" style="height: 6pt;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top; white-space: nowrap;">&#160;&#160;&#160;&#160;4.4</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;"><a href="http://www.sec.gov/Archives/edgar/data/730272/000119312519199075/d780262dex42.htm">Form of 0.375% Convertible Senior Note due 2024 (included in Exhibit 4.3). </a></td> </tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt;"></td>
<td colspan="2" style="height: 6pt;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top; white-space: nowrap;">&#160;&#160;&#160;&#160;4.5</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;"><a href="http://www.sec.gov/Archives/edgar/data/730272/000119312520050136/d862842dex45.htm">Description of Certain Registrant&#8217;s Securities (filed as Exhibit&#160;4.5 to Repligen Corporation&#8217;s Annual Report on <span style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Form&#160;10-K</span> for the year ended December&#160;31, 2019 and incorporated by reference). </a></td> </tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt;"></td>
<td colspan="2" style="height: 6pt;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top; white-space: nowrap;">&#160;&#160;10.1*</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;"><a href="http://www.sec.gov/Archives/edgar/data/730272/000119312505242248/dex101.htm">Repligen Executive Incentive Compensation Plan (filed as Exhibit 10.1 to Repligen Corporation&#8217;s Current Report on Form <span style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">8-K</span> filed on December&#160;14, 2005 and incorporated herein by reference). </a></td> </tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt;"></td>
<td colspan="2" style="height: 6pt;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top; white-space: nowrap;">&#160;&#160;10.2*</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;"><a href="http://www.sec.gov/Archives/edgar/data/730272/000119312508197975/dex101.htm">Second Amended and Restated 2001 Repligen Corporation Stock Plan (filed as Exhibit&#160;10.1 to Repligen Corporation&#8217;s Current Report on Form <span style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">8-K</span> filed on September&#160;18, 2008 and incorporated herein by reference). </a></td> </tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt;"></td>
<td colspan="2" style="height: 6pt;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top; white-space: nowrap;">&#160;&#160;10.3.1*</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;"><a href="http://www.sec.gov/Archives/edgar/data/730272/000119312505124977/dex1014.htm">Amended and Restated 2001 Repligen Corporation Stock Option Plan, Form of Incentive Stock Option Agreement (filed as Exhibit 10.14 to Repligen Corporation&#8217;s Annual Report on Form <span style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">10-K</span> for the year ended March&#160;31, 2005 and incorporated herein by reference). </a></td> </tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt;"></td>
<td colspan="2" style="height: 6pt;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top; white-space: nowrap;">&#160;&#160;10.3.2*</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;"><a href="http://www.sec.gov/Archives/edgar/data/730272/000119312506003433/dex101.htm">Amended and Restated 2001 Repligen Corporation Stock Plan, Form of Restricted Stock Agreement (filed as Exhibit 10.1 to Repligen Corporation&#8217;s Current Report on Form <span style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">8-K</span> filed on January&#160;9, 2006 and incorporated herein by reference). </a></td> </tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt;"></td>
<td colspan="2" style="height: 6pt;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top; white-space: nowrap;">&#160;&#160;10.4</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;"><a href="http://www.sec.gov/Archives/edgar/data/730272/000089155402000671/d27862_ex10-1.txt">Lease Between Repligen Corporation as Tenant and West Seyon LLC as Landlord, 35 Seyon Street, Waltham, MA (as amended to date) (filed as Exhibit 10.4 to Repligen Corporation&#8217;s Annual Report on Form <span style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">10-K</span> for the year ended December&#160;31, 2019 and incorporated herein by reference). </a></td> </tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt;"></td>
<td colspan="2" style="height: 6pt;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top; white-space: nowrap;">&#160;&#160;10.5#</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;"><a href="http://www.sec.gov/Archives/edgar/data/730272/000119312516579640/d168532dex101.htm">Strategic Supplier Alliance Agreement dated January&#160;28, 2010 by and between Repligen Corporation and GE Healthcare <span style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Bio-Sciences</span> AB) (as amended to date) (filed as Exhibit&#160;10.1 to Repligen Corporation&#8217;s Quarterly Report on Form <span style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">10-Q</span> for the quarter ended March&#160;31, 2016 and incorporated herein by reference).</a></td> </tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt;"></td>
<td colspan="2" style="height: 6pt;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top; white-space: nowrap;">&#160;&#160;10.6*</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;"><a href="http://www.sec.gov/Archives/edgar/data/730272/000119312514222092/d738592dex991.htm">Repligen Corporation Amended and Restated 2012 Stock Option and Incentive Plan (filed as Exhibit 99.1 to Repligen Corporation&#8217;s Form <span style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">S-8</span> filed on June&#160;2, 2014 and incorporated herein by reference).</a></td> </tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt;"></td>
<td colspan="2" style="height: 6pt;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top; white-space: nowrap;">&#160;&#160;10.7*</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;"><a href="http://www.sec.gov/Archives/edgar/data/730272/000119312514268455/d757843dex101.htm">Letter Agreement, dated as of June&#160;10, 2014, by and between Repligen Corporation and Jon&#160;K.&#160;Snodgres (filed as Exhibit&#160;10.1 to Repligen Corporation&#8217;s Current Report on <span style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Form&#160;8-K</span> filed on July&#160;15, 2014 and incorporated herein by reference).</a></td> </tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt;"></td>
<td colspan="2" style="height: 6pt;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top; white-space: nowrap;">&#160;&#160;10.8*</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;"><a href="http://www.sec.gov/Archives/edgar/data/730272/000119312515280610/d946073dex101.htm">Repligen Corporation Amended and Restated <span style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Non-Employee</span> Directors&#8217; Compensation Policy (filed as Exhibit 10.1 to Repligen Corporation&#8217;s Quarterly Report on Form <span style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">10-Q</span> for the quarter ended March&#160;31, 2020 and incorporated herein by reference). </a></td> </tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt;"></td>
<td colspan="2" style="height: 6pt;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top; white-space: nowrap;">&#160;&#160;10.9</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;"><a href="http://www.sec.gov/Archives/edgar/data/730272/000119312516589062/d153757dex101.htm">Form of Indemnification Agreement (filed as Exhibit 10.1 to Repligen Corporation&#8217;s Current Report on Form <span style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">8-K</span> filed on May&#160;12, 2016 and incorporated herein by reference). </a></td> </tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt;"></td>
<td colspan="2" style="height: 6pt;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top; white-space: nowrap;">&#160;&#160;10.10</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;"><a href="http://www.sec.gov/Archives/edgar/data/730272/000119312518036440/d445328dex101.htm">Lease Agreement, dated February&#160;6, 2018, by and between Repligen Corporation and U.S. REIF 111 Locke Drive Massachusetts, LLC (filed as Exhibit 10.1 to Repligen Corporation&#8217;s Current Report on Form <span style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">8-K</span> filed on February&#160;8, 2018 and incorporated herein by reference). </a></td> </tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt;"></td>
<td colspan="2" style="height: 6pt;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top; white-space: nowrap;">&#160;&#160;10.11*</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;"><a href="http://www.sec.gov/Archives/edgar/data/730272/000119312518236196/d491984dex101.htm">2018 Repligen Corporation Stock Option and Incentive Plan (filed as Exhibit 10.1 to Repligen Corporation&#8217;s Quarterly Report on Form <span style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">10-Q</span> for the quarter ended June&#160;30, 2018 and incorporated herein by reference). </a></td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">65 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"><div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;">
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="font-family: ARIAL;"></td>
<td style="width: 4%; vertical-align: bottom; font-family: ARIAL;"></td>
<td style="width: 86%; font-family: ARIAL;"></td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; white-space: nowrap; padding-bottom: 1pt;"><div style="font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Exhibit</div></div></div><div style="font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 1pt; border-bottom: 1pt solid rgb(0, 0, 0); display: table-cell; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Number</div></div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="text-align: center; font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 1pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Document Description</div></div></div></td></tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt; font-family: ARIAL;"></td>
<td colspan="2" style="height: 6pt; font-family: ARIAL;"></td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top; white-space: nowrap;">&#160;&#160;10.12*</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;"><a href="http://www.sec.gov/Archives/edgar/data/730272/000119312519060645/d682580dex1017.htm">Letter Agreement, dated as of September&#160;3, 2016 by and between Repligen Corporation and Ralf Kuriyel (filed as Exhibit 10.17 to Repligen Corporation&#8217;s Annual Report on <span style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Form&#160;10-K</span> for the year ended December&#160;31, 2018 and incorporated herein by reference). </a></td></tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt;"></td>
<td colspan="2" style="height: 6pt;"></td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top; white-space: nowrap;">&#160;&#160;10.13*</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;"><a href="http://www.sec.gov/Archives/edgar/data/730272/000119312519176527/d765242dex101.htm">Repligen Corporation Named Executive Officer Severance and Change in Control Plan, effective as of June&#160;13, 2019 (filed as Exhibit 10.1 to Repligen Corporation&#8217;s Current Report on Form <span style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">8-K</span> filed on June&#160;19, 2019 and incorporated herein by reference). </a></td></tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt;"></td>
<td colspan="2" style="height: 6pt;"></td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top; white-space: nowrap;">&#160;&#160;10.14*</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;"><a href="http://www.sec.gov/Archives/edgar/data/730272/000119312519176527/d765242dex102.htm">Second Amended and Restated Employment Agreement, dated as of June&#160;15, 2019, by and between Repligen Corporation and Tony J. Hunt (filed as Exhibit 10.2 to Repligen Corporation&#8217;s Current Report on Form <span style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">8-K</span> filed on June&#160;19, 2019 and incorporated herein by reference). </a></td></tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt;"></td>
<td colspan="2" style="height: 6pt;"></td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top; white-space: nowrap;">&#160;&#160;10.15</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;"><a href="http://www.sec.gov/Archives/edgar/data/730272/000119312520191159/d29647dex101.htm">First Amendment to Lease Agreement, dated as of July&#160;7, 2020 by and between Repligen Corporation and U.S. REIF 111 Locke Drive Massachusetts, LLC (filed as Exhibit 10.1 to Repligen Corporation&#8217;s Current Report on Form <span style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">8-K</span> filed on July&#160;10, 2020 and incorporated herein by reference). </a></td></tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt;"></td>
<td colspan="2" style="height: 6pt;"></td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top; white-space: nowrap;">&#160;&#160;21.1+</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;"><a href="d105808dex211.htm">Subsidiaries of the Registrant.</a></td></tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt;"></td>
<td colspan="2" style="height: 6pt;"></td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top; white-space: nowrap;">&#160;&#160;23.1+</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;"><a href="d105808dex231.htm">Consent of Ernst&#160;&amp; Young LLP, Independent Registered Accounting Firm. </a></td></tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt;"></td>
<td colspan="2" style="height: 6pt;"></td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top; white-space: nowrap;">&#160;&#160;24.1+</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;"><a href="#sig">Power of Attorney (included on signature page).</a></td></tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt;"></td>
<td colspan="2" style="height: 6pt;"></td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top; white-space: nowrap;">&#160;&#160;31.1+</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;"><a href="d105808dex311.htm">Rule <span style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><span style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">13a-14(a)/15d-14(a)</span></span> Certification. </a></td></tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt;"></td>
<td colspan="2" style="height: 6pt;"></td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top; white-space: nowrap;">&#160;&#160;31.2+</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;"><a href="d105808dex312.htm">Rule <span style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><span style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">13a-14(a)/15d-14(a)</span></span> Certification. </a></td></tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt;"></td>
<td colspan="2" style="height: 6pt;"></td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top; white-space: nowrap;">&#160;&#160;32.1+</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;"><a href="d105808dex321.htm">Certification Pursuant to 18 U.S.C. Section&#160;1350, as adopted pursuant to Section&#160;906 of the Sarbanes-Oxley Act of 2002. </a></td></tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt;"></td>
<td colspan="2" style="height: 6pt;"></td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top; white-space: nowrap;">101.INS+</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;">Inline XBRL Instance <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Document-the</div> instance document does not appear in the Interactive Data File because its XBRL tags are embedded within the Inline XBRL document.</td></tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt;"></td>
<td colspan="2" style="height: 6pt;"></td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top; white-space: nowrap;">101.SCH+</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;">Inline XBRL Taxonomy Extension Schema Document.</td></tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt;"></td>
<td colspan="2" style="height: 6pt;"></td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top; white-space: nowrap;">101.CAL+</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;">Inline XBRL Taxonomy Extension Calculation Linkbase Document.</td></tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt;"></td>
<td colspan="2" style="height: 6pt;"></td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top; white-space: nowrap;">101.DEF+</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;">Inline XBRL Taxonomy Extension Definition Linkbase Document.</td></tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt;"></td>
<td colspan="2" style="height: 6pt;"></td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top; white-space: nowrap;">101.LAB+</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;">Inline XBRL Taxonomy Extension Label Linkbase Document.</td></tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt;"></td>
<td colspan="2" style="height: 6pt;"></td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top; white-space: nowrap;">101.PRE+</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;">Inline XBRL Taxonomy Extension Presentation Linkbase Document.</td></tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt;"></td>
<td colspan="2" style="height: 6pt;"></td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top; white-space: nowrap;">104+</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: top;">Cover Page Interactive Data File (formatted as Inline XBRL with applicable taxonomy extension information contained in Exhibits 101.*).</td></tr></table><div style="clear: both; max-height: 0px; background: none;"></div><div style="width: 11%; line-height: 8pt; margin-top: 0pt; margin-bottom: 2pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 2%; vertical-align: top;;text-align:left;">#</td>
<td style="vertical-align: top;;text-align:left;"><div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Confidential treatment obtained as to certain portions. </div></div></td></tr></table><div style="clear: both; max-height: 0px; background: none;"></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 2%; vertical-align: top;;text-align:left;">*</td>
<td style="vertical-align: top;;text-align:left;"><div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Management contract or compensatory plan or arrangement. </div></div></td></tr></table><div style="clear: both; max-height: 0px; background: none;"></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 2%; vertical-align: top;;text-align:left;">+</td>
<td style="vertical-align: top;;text-align:left;"><div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Filed electronically herewith. </div></div></td></tr></table><div style="clear: both; max-height: 0px; background: none;"></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">The exhibits listed above are not contained in the copy of the Annual Report on Form <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">10-K</div> distributed to stockholders. Upon the request of any stockholder entitled to vote at the 2021 Annual Meeting, the Registrant will furnish that person without charge a copy of any exhibits listed above. Requests should be addressed to Repligen&#160;Corporation, 41 Seyon Street, Waltham, MA 02453. </div><div style="font-size: 18pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 18pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td id="toc105808_21" style="width: 11%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">ITEM&#160;16.</div></div></td>
<td style="vertical-align: top;;text-align:left;"><div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">10-K SUMMARY </div></div></div></td></tr></table><div style="clear: both; max-height: 0px; background: none;"></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">We may voluntarily include a summary of information required by Form <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">10-K</div> under Item 16. We have elected not to include such summary information. </div><div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div><div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">66 </div></div></div></div><div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div><hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/><div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div><div style="text-align: center;"><div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><div id="toc105808_22" style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">SIGNATURES </div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Pursuant to the requirements of Section&#160;13 or 15(d) of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned, thereunto duly authorized. </div></div><div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 45%;"></td>
<td style="width: 1%; vertical-align: bottom;"></td>
<td style="width: 5%;"></td>
<td style="vertical-align: bottom;"></td>
<td style="width: 3%;"></td>
<td style="width: 1%; vertical-align: bottom;"></td>
<td style="width: 44%;"></td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: top;"></td>
<td style="vertical-align: bottom;">&#160;</td>
<td colspan="3" style="vertical-align: top;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">REPLIGEN&#160;CORPORATION</div></div></td></tr>
<tr style="font-size: 1pt;">
<td style="height: 12pt; font-family: ARIAL;"></td>
<td colspan="2" style="height: 12pt; font-family: ARIAL;"></td>
<td colspan="2" style="height: 12pt; font-family: ARIAL;"></td>
<td colspan="2" style="height: 12pt; font-family: ARIAL;"></td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;">Date: February&#160;24, 2021</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: top; font-family: ARIAL;"></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: top;">By:</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: top;"><div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 1pt; border-bottom: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">/<small style="display:inline;;font-size:11.1px">S</small>/&#160;&#160;&#160;&#160;T<small style="display:inline;;font-size:11.1px">ONY</small> J. H<small style="display:inline;;font-size:11.1px">UNT&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</small></div></div></td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: top; font-family: ARIAL;"></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: top; font-family: ARIAL;"></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: top; font-family: ARIAL;"></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: top;;text-align:center;"><div style="text-align: center; font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Tony J. Hunt</div></div></div><div style="text-align: center; font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 1pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">President and Chief Executive Officer</div></div></div></td></tr></table><div style="clear: both; max-height: 0px; background: none;"></div><div id="sig" style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 24pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">POWER OF ATTORNEY </div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">KNOW ALL PERSONS BY THESE PRESENTS, that each person whose signature appears below hereby makes, constitutes and appoints Tony J. Hunt and Jon K. Snodgres with full power to act without the other, his true and lawful <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">attorney-in-fact</div></div> and agent, with full power of substitution and resubstitution, for him and in his name, place and stead, in any and all capacities to sign any or all amendments to this Form <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">10-K,</div> and to file the same with all exhibits thereto, and other documents in connection therewith, with the Securities and Exchange Commission, granting unto said <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">attorney-in-fact</div></div> and agents, and each of them, full power and authority to do and perform each and every act and thing requisite and necessary to be done in connection therewith, as fully to all intents and purposes as he might or could do in person, hereby ratifying and confirming all that said <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">attorney-in-fact</div></div> and agents of any of them, or any substitute or substitutes, lawfully do or cause to be done by virtue hereof. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Pursuant to the requirements of the Securities Exchange Act of 1934, this report has been signed below by the following persons on behalf of the registrant and in the capacities and on the dates indicated. </div></div><div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 35%; font-family: ARIAL;"></td>
<td style="vertical-align: bottom; font-family: ARIAL;"></td>
<td style="width: 45%; font-family: ARIAL;"></td>
<td style="width: 1%; vertical-align: bottom; font-family: ARIAL;"></td>
<td style="width: 18%; font-family: ARIAL;"></td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid; white-space: nowrap;;text-align:center;"><div style="text-align: center; font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 1pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Signature</div></div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="text-align: center; font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 1pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Title</div></div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="text-align: center; font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 1pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Date</div></div></div></td></tr>
<tr style="font-size: 1pt;">
<td style="height: 12pt; font-family: ARIAL;"></td>
<td colspan="2" style="height: 12pt; font-family: ARIAL;"></td>
<td colspan="2" style="height: 12pt; font-family: ARIAL;"></td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">/<small style="display:inline;;font-size:11.1px">S</small>/&#160;&#160;&#160;&#160;T<small style="display:inline;;font-size:11.1px">ONY</small> J. H<small style="display:inline;;font-size:11.1px">UNT</small></div></div><div style="text-align: center; font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 1pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Tony J. Hunt</div></div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">President,&#160;Chief&#160;Executive&#160;Officer&#160;and&#160;Director</div></div><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 1pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">(Principal executive officer)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: top; white-space: nowrap;;text-align:center;"><div style="font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">February&#160;24,&#160;2021</div></td></tr>
<tr style="font-size: 1pt;">
<td style="height: 12pt; font-family: ARIAL;"></td>
<td colspan="2" style="height: 12pt; font-family: ARIAL;"></td>
<td colspan="2" style="height: 12pt; font-family: ARIAL;"></td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">/<small style="display:inline;;font-size:11.1px">S</small>/&#160;&#160;&#160;&#160;J<small style="display:inline;;font-size:11.1px">ON</small> K. S<small style="display:inline;;font-size:11.1px">NODGRES</small></div></div><div style="text-align: center; font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 1pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Jon K. Snodgres</div></div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Chief Financial Officer</div></div><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 1pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">(Principal financial and accounting officer)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: top; white-space: nowrap;;text-align:center;"><div style="font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">February&#160;24,&#160;2021</div></td></tr>
<tr style="font-size: 1pt;">
<td style="height: 12pt; font-family: ARIAL;"></td>
<td colspan="2" style="height: 12pt; font-family: ARIAL;"></td>
<td colspan="2" style="height: 12pt; font-family: ARIAL;"></td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">/<small style="display:inline;;font-size:11.1px">S</small>/&#160;&#160;&#160;&#160;K<small style="display:inline;;font-size:11.1px">AREN</small> D<small style="display:inline;;font-size:11.1px">AWES</small></div></div><div style="text-align: center; font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 1pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Karen Dawes</div></div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Chairperson of the Board</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: top; white-space: nowrap;;text-align:center;"><div style="font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">February&#160;24,&#160;2021</div></td></tr>
<tr style="font-size: 1pt;">
<td style="height: 12pt; font-family: ARIAL;"></td>
<td colspan="2" style="height: 12pt; font-family: ARIAL;"></td>
<td colspan="2" style="height: 12pt; font-family: ARIAL;"></td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">/<small style="display:inline;;font-size:11.1px">S</small>/&#160;&#160;&#160;&#160;N<small style="display:inline;;font-size:11.1px">ICOLAS</small> M. B<small style="display:inline;;font-size:11.1px">ARTHELEMY</small></div></div><div style="text-align: center; font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 1pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Nicolas M. Barthelemy</div></div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Director</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: top; white-space: nowrap;;text-align:center;"><div style="font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">February&#160;24,&#160;2021</div></td></tr>
<tr style="font-size: 1pt;">
<td style="height: 12pt; font-family: ARIAL;"></td>
<td colspan="2" style="height: 12pt; font-family: ARIAL;"></td>
<td colspan="2" style="height: 12pt; font-family: ARIAL;"></td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">/<small style="display:inline;;font-size:11.1px">S</small>/&#160;&#160;&#160;&#160;C<small style="display:inline;;font-size:11.1px">ARRIE</small> E<small style="display:inline;;font-size:11.1px">GLINTON</small> M<small style="display:inline;;font-size:11.1px">ANNER</small></div></div><div style="text-align: center; font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 1pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Carrie Eglinton Manner</div></div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Director</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: top; white-space: nowrap;;text-align:center;"><div style="font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">February&#160;24,&#160;2021</div></td></tr>
<tr style="font-size: 1pt;">
<td style="height: 12pt; font-family: ARIAL;"></td>
<td colspan="2" style="height: 12pt; font-family: ARIAL;"></td>
<td colspan="2" style="height: 12pt; font-family: ARIAL;"></td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">/<small style="display:inline;;font-size:11.1px">S</small>/&#160;&#160;&#160;&#160;R<small style="display:inline;;font-size:11.1px">OHIN</small> M<small style="display:inline;;font-size:11.1px">HATRE</small></div></div><div style="text-align: center; font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 1pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Rohin Mhatre</div></div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Director</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: top; white-space: nowrap;;text-align:center;"><div style="font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">February&#160;24,&#160;2021</div></td></tr>
<tr style="font-size: 1pt;">
<td style="height: 12pt; font-family: ARIAL;"></td>
<td colspan="2" style="height: 12pt; font-family: ARIAL;"></td>
<td colspan="2" style="height: 12pt; font-family: ARIAL;"></td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">/<small style="display:inline;;font-size:11.1px">S</small>/&#160;&#160;&#160;&#160;G<small style="display:inline;;font-size:11.1px">LENN</small> P. M<small style="display:inline;;font-size:11.1px">UIR</small></div></div><div style="text-align: center; font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 1pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Glenn P. Muir</div></div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Director</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: top; white-space: nowrap;;text-align:center;"><div style="font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">February&#160;24,&#160;2021</div></td></tr>
<tr style="font-size: 1pt;">
<td style="height: 12pt; font-family: ARIAL;"></td>
<td colspan="2" style="height: 12pt; font-family: ARIAL;"></td>
<td colspan="2" style="height: 12pt; font-family: ARIAL;"></td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">/<small style="display:inline;;font-size:11.1px">S</small>/&#160;&#160;&#160;&#160;T<small style="display:inline;;font-size:11.1px">HOMAS</small> F. R<small style="display:inline;;font-size:11.1px">YAN</small>, J<small style="display:inline;;font-size:11.1px">R</small>.</div></div><div style="text-align: center; font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 1pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Thomas F. Ryan, Jr.</div></div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Director</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: top; white-space: nowrap;;text-align:center;"><div style="font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">February&#160;24,&#160;2021</div></td></tr></table><div style="clear: both; max-height: 0px; background: none;"></div><div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div><div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">67 </div></div></div></div><div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div><hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/><div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div><div style="text-align: center;"><div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">INDEX TO FINANCIAL STATEMENTS </div></div></div><div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 94%;"></td>
<td style="width: 3%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Page</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"><a href="#tx105808_100">Report of Independent Registered Public Accounting Firm</a></div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">69</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"><a href="#tx105808_101">Consolidated Balance Sheets as of December&#160;31, 2020 and December&#160;31, 2019</a></div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">71</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"><a href="#tx105808_102">Consolidated Statements of Comprehensive Income for the Years Ended December&#160;31, 2020, 2019 and 2018</a></div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">72</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"><a href="#tx105808_103">Consolidated Statements of Stockholders&#8217; Equity for the Years Ended December&#160;31, 2020, 2019 and 2018</a></div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">73</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"><a href="#tx105808_104">Consolidated Statements of Cash Flows for the Years Ended December&#160;31, 2020, 2019 and 2018</a></div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">74</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"><a href="#tx105808_105">Notes to Consolidated Financial Statements</a></div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">75</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr></table><div style="clear: both; max-height: 0px; background: none;"></div><div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div><div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">68 </div></div></div></div><div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div><hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/><div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div><div style="text-align: center;"><div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><div id="tx105808_100" style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">REPORT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM </div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">To the Stockholders and the Board of Directors of Repligen Corporation: </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Opinion on the Financial Statements </div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We have audited the accompanying consolidated balance sheets of Repligen Corporation (the Company) as of December&#160;31, 2020 and 2019, and the related consolidated statements of comprehensive income, stockholders&#8217; equity and cash flows for each of the three years in the period ended December&#160;31, 2020, and the related notes (collectively referred to as the &#8220;consolidated financial statements&#8221;). In our opinion, the consolidated financial statements present fairly, in all material respects, the financial position of the Company at December&#160;31, 2020 and 2019, and the results of its operations and its cash flows for each of the three years in the period ended December&#160;31, 2020, in conformity with U.S. generally accepted accounting principles. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We also have audited, in accordance with the standards of the Public Company Accounting Oversight Board (United States) (PCAOB), the Company&#8217;s internal control over financial reporting as of December&#160;31, 2020, based on criteria established in Internal Control-Integrated Framework issued by the Committee of the Sponsoring Organizations of the Treadway Commission (2013 framework) and our report dated February&#160;24, 2021 expressed an unqualified opinion thereon. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Basis for Opinion </div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">These financial statements are the responsibility of the Company&#8216;s management. Our responsibility is to express an opinion on the Company&#8216;s financial statements based on our audits. We are a public accounting firm registered with the PCAOB and are required to be independent with respect to the Company in accordance with the US federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We conducted our audits in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether the financial statements are free of material misstatement, whether due to error or fraud. Our audits included performing procedures to assess the risks of material misstatement of the financial statements, whether due to error or fraud, and performing procedures that respond to those risks. Such procedures include examining, on a test basis, evidence regarding the amounts and disclosures in the financial statements. Our audits also included evaluating the accounting principles used and significant estimates made by management, as well as evaluating the overall presentation of the financial statements. We believe that our audits provide a reasonable basis for our opinion. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Critical Audit Matter </div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The critical audit matters communicated below are matters arising from the current period audit of the financial statements that were communicated or required to be communicated to the audit committee and that: (1)&#160;relate to accounts or disclosures that are material to the financial statements and (2)&#160;involved our especially challenging, subjective or complex judgments. The communication of critical audit matters does not alter in any way our opinion on the consolidated financial <div style="display:inline;">statements</div>, taken as a whole, and we are not, by communicating the critical audit matters below, providing separate opinions on the critical audit matters or on the accounts or disclosures to which they relate. </div></div><div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div><div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">69 </div></div></div></div><div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div><hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/><div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div><div style="text-align: center;"><div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;">
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 21%;"></td>
<td style="width: 2%; vertical-align: bottom;"></td>
<td style="width: 78%;"></td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Accounting for acquisitions</div></div></div></div></td></tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt; font-family: ARIAL;"></td>
<td colspan="2" style="height: 6pt; font-family: ARIAL;"></td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Description of the Matter</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">As disclosed in Note 3 to the consolidated financial statements, during 2020, the Company completed three acquisitions for total aggregate consideration of approximately $244.5&#160;million, net of cash acquired. The most significant of these was the acquisition of all outstanding equity of ARTeSYN Biosolutions Holdings Ireland Limited for consideration of approximately $201.0&#160;million, net of cash acquired. The transactions were accounted for as business combinations.</div></div><div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;">&#160;</div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 1pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Auditing the Company&#8217;s accounting for its acquisitions was complex due to the significant estimation uncertainty in the Company&#8217;s determination of the fair value of identified intangible assets of $90.2&#160;million, which principally consisted of customer relationships and developed technology. The significant estimation uncertainty was primarily due to the sensitivity of the respective fair values to underlying assumptions about the future performance of the acquired business. The Company used a discounted cash flow model to measure the customer relationship and developed technology intangible assets. The significant assumptions used to estimate the value of the intangible assets included discount rates and certain assumptions that form the basis of the forecasted results, including revenue growth rates. These significant assumptions are forward looking and could be affected by future economic and market conditions.</div></div></td></tr>
<tr style="font-size: 1pt;">
<td style="height: 12pt; font-family: ARIAL;"></td>
<td colspan="2" style="height: 12pt; font-family: ARIAL;"></td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">How We<br/>Addressed the<br/>Matter in Our<br/>Audit</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">We tested the Company&#8217;s controls over its accounting for acquisitions. Our tests included controls over the process supporting the recognition and measurement of consideration transferred, customer relationship, and developed technology intangible assets. We also tested management&#8217;s review of assumptions used in the valuation models.</td></tr>
<tr style="font-size: 1pt;">
<td style="height: 12pt;"></td>
<td colspan="2" style="height: 12pt;"></td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">For each of the Company&#8217;s acquisitions, we read the purchase agreements, evaluated the significant assumptions and methods used in developing the fair value estimates, and tested the recognition of (1)&#160;the tangible assets acquired and liabilities assumed at fair value; (2)&#160;the identifiable intangible assets acquired at fair value; and (3)&#160;goodwill measured as a residual.</td></tr>
<tr style="font-size: 1pt;">
<td style="height: 12pt;"></td>
<td colspan="2" style="height: 12pt;"></td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">To test the estimated fair value of the customer relationship and developed technology intangible assets, we performed audit procedures that included, among others, evaluating the Company&#8217;s selection of the valuation methodology, evaluating the methods and significant assumptions used by the Company, and evaluating the completeness and accuracy of the underlying data supporting the significant assumptions and estimates. This includes comparing the significant assumptions to current industry, market and economic trends, to the assumptions used to value similar assets in other acquisitions, to the historical results of the acquired business and to other guidelines used by companies within the same industry. We involved our valuation professionals to assist in our evaluation of the methodology used by the Company and significant assumptions included in the fair value estimates.</td></tr></table><div style="clear: both; max-height: 0px; background: none;"></div><div style="text-indent: -2%; font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt; margin-left: 55%;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">/s/ Ernst&#160;&amp; Young LLP </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We have served as the Company&#8217;s auditor since 2002 </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Boston, Massachusetts </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">February&#160;24, 2021 </div></div><div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div><div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">70 </div></div></div></div><div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div><hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/><div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div><div style="text-align: center;"><div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">REPLIGEN CORPORATION </div></div></div><div id="tx105808_101" style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">CONSOLIDATED BALANCE SHEETS </div></div></div><div style="text-align: center; font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">(Amounts in thousands, except share data) </div></div></div><div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 61%;"></td>
<td style="width: 9%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 9%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31,&#160;2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31,&#160;2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Assets</div></div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Current assets:</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Cash and cash equivalents</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">717,292</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">528,392</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Restricted cash</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RestrictedCash" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">9,015</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accounts receivable, net of reserves of $<ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">762</ix:nonFraction> and $<ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">525</ix:nonFraction> at December&#160;31, 2020 and December&#160;31, 2019, respectively</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">71,257</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">43,068</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Royalties and other receivables</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:OtherReceivablesGrossCurrent" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">132</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:OtherReceivablesGrossCurrent" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">148</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Unbilled receivables</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:UnbilledReceivablesCurrent" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">456</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Inventories, net</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">95,025</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">54,832</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Prepaid expenses and other current assets</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">18,676</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">5,917</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total current assets</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:AssetsCurrent" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">902,382</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:AssetsCurrent" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">641,828</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Property, plant and equipment, net</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">66,870</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">48,455</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Intangible assets, net</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IntangibleAssetsNetExcludingGoodwill" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">287,100</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IntangibleAssetsNetExcludingGoodwill" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">212,552</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Goodwill</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:Goodwill" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">618,305</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:Goodwill" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">468,413</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Deferred tax assets</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsLiabilitiesNetNoncurrent" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">2,481</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsLiabilitiesNetNoncurrent" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">2,920</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease right of use assets</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">25,176</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">25,707</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Other assets</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:OtherAssetsNoncurrent" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">573</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:OtherAssetsNoncurrent" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">238</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total assets</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:Assets" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,902,887</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:Assets" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,400,113</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Liabilities and Stockholders&#8217; Equity</div></div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Current liabilities:</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accounts payable</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:AccountsPayableCurrent" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">16,880</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:AccountsPayableCurrent" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">11,425</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease liability</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityCurrent" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">5,254</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityCurrent" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">3,557</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accrued liabilities</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:AccruedLiabilitiesCurrent" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">53,085</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:AccruedLiabilitiesCurrent" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">33,331</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Convertible senior notes, current portion, net</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ConvertibleNotesPayableCurrent" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">243,737</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total current liabilities</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:LiabilitiesCurrent" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">318,956</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:LiabilitiesCurrent" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">48,313</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Convertible senior notes, net</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ConvertibleLongTermNotesPayable" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">232,767</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Deferred tax liabilities</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:DeferredTaxLiabilitiesNoncurrent" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">27,032</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:DeferredTaxLiabilitiesNoncurrent" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">29,944</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease liability, long-term</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityNoncurrent" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">26,425</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityNoncurrent" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">26,995</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Other liabilities, long-term</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:OtherLiabilitiesNoncurrent" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,324</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:OtherLiabilitiesNoncurrent" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">2,326</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total liabilities</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:Liabilities" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">373,737</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:Liabilities" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">340,345</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Commitments and contingencies (Note 11)</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;"><ix:nonFraction name="us-gaap:CommitmentsAndContingencies" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" xsi:nil="true"></ix:nonFraction>&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;"><ix:nonFraction name="us-gaap:CommitmentsAndContingencies" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" xsi:nil="true"></ix:nonFraction>&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Stockholders&#8217; equity:</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Preferred stock, $<ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="PAsOn12_31_2019" unitRef="Unit_USD_per_Share" decimals="INF" scale="0" format="ixt:numdotdecimal"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="PAsOn12_31_2020" unitRef="Unit_USD_per_Share" decimals="INF" scale="0" format="ixt:numdotdecimal">0.01</ix:nonFraction></ix:nonFraction> par value, <ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" contextRef="PAsOn12_31_2019" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:numdotdecimal"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" contextRef="PAsOn12_31_2020" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:numdotdecimal">5,000,000</ix:nonFraction></ix:nonFraction> shares authorized, <ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="PAsOn12_31_2019" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt-sec:numwordsen"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="PAsOn12_31_2020" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt-sec:numwordsen"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="PAsOn12_31_2019" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt-sec:numwordsen"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="PAsOn12_31_2020" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt-sec:numwordsen">no</ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction> shares issued or outstanding</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"><ix:nonFraction name="us-gaap:PreferredStockValue" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" xsi:nil="true"></ix:nonFraction>&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"><ix:nonFraction name="us-gaap:PreferredStockValue" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" xsi:nil="true"></ix:nonFraction>&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Common stock, $<ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" contextRef="PAsOn12_31_2019" unitRef="Unit_USD_per_Share" decimals="INF" scale="0" format="ixt:numdotdecimal"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" contextRef="PAsOn12_31_2020" unitRef="Unit_USD_per_Share" decimals="INF" scale="0" format="ixt:numdotdecimal">0.01</ix:nonFraction></ix:nonFraction> par value; <ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" contextRef="PAsOn12_31_2019" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:numdotdecimal"><ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" contextRef="PAsOn12_31_2020" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:numdotdecimal">80,000,000</ix:nonFraction></ix:nonFraction> shares authorized; <ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="PAsOn12_31_2020" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:numdotdecimal"><ix:nonFraction name="us-gaap:CommonStockSharesIssued" contextRef="PAsOn12_31_2020" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:numdotdecimal">54,760,837</ix:nonFraction></ix:nonFraction> shares at December&#160;31, 2020 and <ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="PAsOn12_31_2019" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:numdotdecimal"><ix:nonFraction name="us-gaap:CommonStockSharesIssued" contextRef="PAsOn12_31_2019" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:numdotdecimal">52,078,258</ix:nonFraction></ix:nonFraction> shares at December&#160;31, 2019 issued and outstanding</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:CommonStockValue" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">548</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:CommonStockValue" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">521</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;">Additional <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">paid-in</div> capital</div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:AdditionalPaidInCapitalCommonStock" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,460,748</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:AdditionalPaidInCapitalCommonStock" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,068,431</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accumulated other comprehensive income (loss)</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">2,085</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">15,027</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accumulated earnings</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">65,769</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">5,843</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total stockholders&#8217; equity</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,529,150</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,059,768</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total liabilities and stockholders&#8217; equity</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:LiabilitiesAndStockholdersEquity" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,902,887</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:LiabilitiesAndStockholdersEquity" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,400,113</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table><div style="clear: both; max-height: 0px; background: none;"></div><div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The accompanying notes are an integral part of these consolidated financial statements. </div></div><div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div><div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">71 </div></div></div></div><div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div><hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/><div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div></div> <div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">REPLIGEN CORPORATION </div></div></div> <div id="tx105808_102" style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME </div></div></div> <div style="text-align: center; font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">(Amounts in thousands, except per share data) </div></div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 67%;">&#160;</td>
<td style="width: 2%; vertical-align: bottom;">&#160;</td>
<td>&#160;</td>
<td>&#160;</td>
<td>&#160;</td>
<td style="width: 2%; vertical-align: bottom;">&#160;</td>
<td>&#160;</td>
<td>&#160;</td>
<td>&#160;</td>
<td style="width: 2%; vertical-align: bottom;">&#160;</td>
<td>&#160;</td>
<td>&#160;</td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2018</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Revenue:</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Products</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P01_01_2020To12_31_2020_ProductMembersrtProductOrServiceAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">366,136</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P01_01_2019To12_31_2019_ProductMembersrtProductOrServiceAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">270,097</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P01_01_2018To12_31_2018_ProductMembersrtProductOrServiceAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">193,891</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Royalty and other revenue</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P01_01_2020To12_31_2020_RoyaltyMembersrtProductOrServiceAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">124</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P01_01_2019To12_31_2019_RoyaltyMembersrtProductOrServiceAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">148</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P01_01_2018To12_31_2018_RoyaltyMembersrtProductOrServiceAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">141</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total revenue</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">366,260</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">270,245</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">194,032</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Costs and operating expenses:</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Cost of product revenue</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">156,634</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">119,099</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">86,531</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Research and development</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">20,182</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">19,450</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">15,821</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Selling, general and administrative</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:SellingGeneralAndAdministrativeExpense" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">119,621</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:SellingGeneralAndAdministrativeExpense" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">95,613</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:SellingGeneralAndAdministrativeExpense" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">65,692</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total costs and operating expenses</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:CostsAndExpenses" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">296,437</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:CostsAndExpenses" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">234,162</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:CostsAndExpenses" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">168,044</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Income from operations</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">69,823</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">36,083</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">25,988</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Other (expenses) income:</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Investment income</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:InvestmentIncomeNet" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,741</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:InvestmentIncomeNet" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">5,324</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:InvestmentIncomeNet" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,895</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Loss on extinguishment of debt</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:GainsLossesOnExtinguishmentOfDebt" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">5,650</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Interest expense</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:InterestExpense" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">12,133</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:InterestExpense" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">9,292</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:InterestExpense" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">6,709</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Other (expenses) income</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:OtherNonoperatingIncomeExpense" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">214</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:OtherNonoperatingIncomeExpense" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">314</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:OtherNonoperatingIncomeExpense" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">262</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Other expenses, net</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:NonoperatingIncomeExpense" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">10,606</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:NonoperatingIncomeExpense" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">9,932</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:NonoperatingIncomeExpense" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">4,552</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Income before income taxes</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">59,217</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">26,151</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">21,436</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Income tax (benefit) provision</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">709</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">4,740</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">4,819</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Net income</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">59,926</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">21,411</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">16,617</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Earnings per share:</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Basic</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">1.14</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">0.44</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">0.38</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Diluted</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">1.11</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">0.44</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">0.37</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Weighted average common shares outstanding:</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Basic</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_shares" decimals="-3" scale="3" format="ixt:numdotdecimal">52,554</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_shares" decimals="-3" scale="3" format="ixt:numdotdecimal">48,343</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_shares" decimals="-3" scale="3" format="ixt:numdotdecimal">43,767</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Diluted</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_shares" decimals="-3" scale="3" format="ixt:numdotdecimal">53,892</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_shares" decimals="-3" scale="3" format="ixt:numdotdecimal">49,206</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_shares" decimals="-3" scale="3" format="ixt:numdotdecimal">45,471</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Net income</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">59,926</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">21,411</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">16,617</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Other comprehensive income (loss):</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Foreign currency translation adjustment</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">17,112</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">3,134</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">5,530</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Comprehensive income</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ComprehensiveIncomeNetOfTax" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">77,038</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ComprehensiveIncomeNetOfTax" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">18,277</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ComprehensiveIncomeNetOfTax" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">11,087</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </td>
<td>&#160;</td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The accompanying notes are an integral part of these consolidated financial statements. </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">72 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> </div> <div><div style="text-align: center;"><div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">REPLIGEN CORPORATION </div></div></div><div id="tx105808_103" style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">CONSOLIDATED STATEMENTS OF STOCKHOLDERS&#8217; EQUITY </div></div></div><div style="text-align: center; font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">(Amounts in thousands, except share data) </div></div></div><div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 9pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 39%;"></td>
<td style="width: 2%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 2%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 2%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 2%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 2%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 2%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Common Stock</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td rowspan="2" style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" rowspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Additional</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Paid-In</div></div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Capital</div></div></td>
<td rowspan="2" style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td rowspan="2" style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" rowspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Accumulated</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Other</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Comprehensive</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Income&#160;(Loss)</div></div></td>
<td rowspan="2" style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td rowspan="2" style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" rowspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Accumulated</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Earnings/<br/> (Deficit)</div></div></td>
<td rowspan="2" style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td rowspan="2" style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" rowspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Total</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Stockholders&#8217;</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Equity</div></div></td>
<td rowspan="2" style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Number&#160;of</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Shares(#)</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Par</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Value</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 9pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Balance at December&#160;31, 2017</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="PAsOn12_31_2017_CommonStockMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_shares" decimals="0" scale="0" format="ixt:numdotdecimal">43,587,079</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="PAsOn12_31_2017_CommonStockMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">436</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="PAsOn12_31_2017_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">628,983</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="PAsOn12_31_2017_AccumulatedOtherComprehensiveIncomeMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">6,363</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="PAsOn12_31_2017_RetainedEarningsMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">31,508</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="PAsOn12_31_2017" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">591,548</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 9pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Net income</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="P01_01_2018To12_31_2018_RetainedEarningsMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">16,617</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">16,617</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 9pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Issuance of common stock for debt conversion</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits" contextRef="P01_01_2018To12_31_2018_CommonStockMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_shares" decimals="0" scale="0" format="ixt:numdotdecimal">2</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueConversionOfUnits" contextRef="P01_01_2018To12_31_2018_CommonStockMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">0</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueConversionOfUnits" contextRef="P01_01_2018To12_31_2018_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">0</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueConversionOfUnits" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">0</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 9pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Exercise of stock options and vesting of stock units</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation" contextRef="P01_01_2018To12_31_2018_CommonStockMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_shares" decimals="0" scale="0" format="ixt:numdotdecimal">330,297</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="P01_01_2018To12_31_2018_CommonStockMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">3</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="P01_01_2018To12_31_2018_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">3,415</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">3,418</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 9pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Stock-based compensation expense</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="P01_01_2018To12_31_2018_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">10,192</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">10,192</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 9pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Cumulative effect of accounting changes</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="PAsOn12_31_2018_RetainedEarningsMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">677</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="PAsOn12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">677</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 9pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Translation adjustment</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax" contextRef="PAsOn12_31_2018_AccumulatedOtherComprehensiveIncomeMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">5,530</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax" contextRef="PAsOn12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">5,530</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 9pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Balance at December&#160;31, 2018</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="PAsOn12_31_2018_CommonStockMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_shares" decimals="0" scale="0" format="ixt:numdotdecimal">43,917,378</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="PAsOn12_31_2018_CommonStockMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">439</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="PAsOn12_31_2018_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">642,590</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="PAsOn12_31_2018_AccumulatedOtherComprehensiveIncomeMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">11,893</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="PAsOn12_31_2018_RetainedEarningsMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">15,568</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="PAsOn12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">615,568</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 9pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Net income</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="P01_01_2019To12_31_2019_RetainedEarningsMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">21,411</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">21,411</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 9pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Issuance of common stock for debt conversion</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits" contextRef="P01_01_2019To12_31_2019_CommonStockMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_shares" decimals="0" scale="0" format="ixt:numdotdecimal">2,316,229</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueConversionOfUnits" contextRef="P01_01_2019To12_31_2019_CommonStockMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">23</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueConversionOfUnits" contextRef="P01_01_2019To12_31_2019_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">198,734</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueConversionOfUnits" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">198,757</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 9pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Reduction of equity component from debt conversion, net of tax</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="rgen:AdjustmentsToAdditionalPaidInCapitalReductionForEquityComponentOfConvertibleDebt" contextRef="P01_01_2019To12_31_2019_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">200,079</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="rgen:AdjustmentsToAdditionalPaidInCapitalReductionForEquityComponentOfConvertibleDebt" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">200,079</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 9pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Exercise of stock options and vesting of stock units</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation" contextRef="P01_01_2019To12_31_2019_CommonStockMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_shares" decimals="0" scale="0" format="ixt:numdotdecimal">339,329</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="P01_01_2019To12_31_2019_CommonStockMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">3</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="P01_01_2019To12_31_2019_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,164</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,167</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 9pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Issuance of common stock pursuant to the acquisition of C Technologies, Inc.</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesAcquisitions" contextRef="P01_01_2019To12_31_2019_CommonStockMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_shares" decimals="0" scale="0" format="ixt:numdotdecimal">779,221</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" contextRef="P01_01_2019To12_31_2019_CommonStockMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">8</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" contextRef="P01_01_2019To12_31_2019_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">53,930</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">53,938</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 9pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Tax withholding on vesting of restricted stock</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation" contextRef="P01_01_2019To12_31_2019_CommonStockMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_shares" decimals="0" scale="0" sign="-" format="ixt:numdotdecimal">5,430</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" contextRef="P01_01_2019To12_31_2019_CommonStockMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">0</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" contextRef="P01_01_2019To12_31_2019_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">490</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">490</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 9pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Equity component of <ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="PAsOn12_31_2019_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis" unitRef="Unit_pure" decimals="5" scale="-2" format="ixt:numdotdecimal">0.375</ix:nonFraction>% senior convertible notes, net of tax</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt" contextRef="P01_01_2019To12_31_2019_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">39,070</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">39,070</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 9pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Proceeds from issuance of common stock, net of issuance costs of $<ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">18,607</ix:nonFraction></div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" contextRef="P01_01_2019To12_31_2019_CommonStockMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_shares" decimals="0" scale="0" format="ixt:numdotdecimal">4,731,531</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="P01_01_2019To12_31_2019_CommonStockMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">48</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="P01_01_2019To12_31_2019_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">320,665</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">320,713</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 9pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Stock-based compensation expense</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="P01_01_2019To12_31_2019_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">12,847</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">12,847</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 9pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Translation adjustment</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax" contextRef="PAsOn12_31_2019_AccumulatedOtherComprehensiveIncomeMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">3,134</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">3,134</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 9pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Balance at December&#160;31, 2019</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="PAsOn12_31_2019_CommonStockMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_shares" decimals="0" scale="0" format="ixt:numdotdecimal">52,078,258</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="PAsOn12_31_2019_CommonStockMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">521</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="PAsOn12_31_2019_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,068,431</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="PAsOn12_31_2019_AccumulatedOtherComprehensiveIncomeMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">15,027</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="PAsOn12_31_2019_RetainedEarningsMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">5,843</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,059,768</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 9pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Net income</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="P01_01_2020To12_31_2020_RetainedEarningsMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">59,926</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">59,926</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 9pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Exercise of stock options and vesting of stock units</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation" contextRef="P01_01_2020To12_31_2020_CommonStockMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_shares" decimals="0" scale="0" format="ixt:numdotdecimal">584,589</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="P01_01_2020To12_31_2020_CommonStockMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">6</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="P01_01_2020To12_31_2020_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">8,134</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">8,140</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 9pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Issuance of common stock pursuant to the acquisition of ARTeSYN Biosolutions</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesAcquisitions" contextRef="P01_01_2020To12_31_2020_CommonStockMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_shares" decimals="0" scale="0" format="ixt:numdotdecimal">372,990</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" contextRef="P01_01_2020To12_31_2020_CommonStockMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">4</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" contextRef="P01_01_2020To12_31_2020_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">69,418</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">69,422</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 9pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Proceeds from issuance of common stock, net of issuance costs of $<ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">0.4</ix:nonFraction>&#160;million</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" contextRef="P01_01_2020To12_31_2020_CommonStockMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_shares" decimals="0" scale="0" format="ixt:numdotdecimal">1,725,000</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="P01_01_2020To12_31_2020_CommonStockMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">17</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="P01_01_2020To12_31_2020_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">297,758</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">297,775</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 9pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Stock-based compensation expense</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="P01_01_2020To12_31_2020_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">17,007</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">17,007</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 9pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Translation adjustment</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax" contextRef="PAsOn12_31_2020_AccumulatedOtherComprehensiveIncomeMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">17,112</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">17,112</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 9pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 9pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 9pt; letter-spacing: 0px; top: 0px;;display:inline;">Balance at December&#160;31, 2020</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="PAsOn12_31_2020_CommonStockMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_shares" decimals="0" scale="0" format="ixt:numdotdecimal">54,760,837</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="PAsOn12_31_2020_CommonStockMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">548</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="PAsOn12_31_2020_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,460,748</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="PAsOn12_31_2020_AccumulatedOtherComprehensiveIncomeMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">2,085</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="PAsOn12_31_2020_RetainedEarningsMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">65,769</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,529,150</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table><div style="clear: both; max-height: 0px; background: none;"></div><div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The accompanying notes are an integral part of these consolidated financial statements. </div></div><div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div><div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">73 </div></div></div></div><div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div><hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/><div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div></div> <div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">REPLIGEN CORPORATION </div></div></div> <div id="tx105808_104" style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">CONSOLIDATED STATEMENTS OF CASH FLOWS </div></div></div> <div style="text-align: center; font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">(Amounts in thousands) </div></div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 8.5pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 70%;"></td>
<td style="width: 2%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 2%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 2%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For&#160;the&#160;Years&#160;Ended&#160;December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;&#160;2020&#160;&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;&#160;2019&#160;&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;&#160;2018&#160;&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8.5pt; letter-spacing: 0px; top: 0px;;display:inline;">Cash flows from operating activities:</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 8.5pt; letter-spacing: 0px; top: 0px;;display:inline;">Net income</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">59,926</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">21,411</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">16,617</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 8.5pt; letter-spacing: 0px; top: 0px;;display:inline;">Adjustments to reconcile net income to net cash provided by operating activities:</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"><div style="font-family: ARIAL; font-size: 8.5pt; letter-spacing: 0px; top: 0px;;display:inline;">Depreciation and amortization</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:DepreciationAndAmortization" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">27,067</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:DepreciationAndAmortization" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">20,868</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:DepreciationAndAmortization" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">15,778</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"><div style="font-family: ARIAL; font-size: 8.5pt; letter-spacing: 0px; top: 0px;;display:inline;">Amortization of debt discount and issuance costs</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:AmortizationOfFinancingCostsAndDiscounts" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">10,970</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:AmortizationOfFinancingCostsAndDiscounts" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">7,536</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:AmortizationOfFinancingCostsAndDiscounts" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">4,248</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"><div style="font-family: ARIAL; font-size: 8.5pt; letter-spacing: 0px; top: 0px;;display:inline;">Stock-based compensation expense</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">17,007</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">12,847</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">10,192</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"><div style="font-family: ARIAL; font-size: 8.5pt; letter-spacing: 0px; top: 0px;;display:inline;">Deferred income taxes, net</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">3,992</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">624</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">71</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"><div style="font-family: ARIAL; font-size: 8.5pt; letter-spacing: 0px; top: 0px;;display:inline;">Loss on extinguishment of debt</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:GainsLossesOnExtinguishmentOfDebt" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">5,650</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"><div style="font-family: ARIAL; font-size: 8.5pt; letter-spacing: 0px; top: 0px;;display:inline;">Other</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:OtherNoncashIncomeExpense" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">267</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:OtherNoncashIncomeExpense" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">663</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:OtherNoncashIncomeExpense" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">3</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"><div style="font-family: ARIAL; font-size: 8.5pt; letter-spacing: 0px; top: 0px;;display:inline;">Changes in operating assets and liabilities, excluding impact of acquisitions:</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 7em; line-height: normal;"><div style="font-family: ARIAL; font-size: 8.5pt; letter-spacing: 0px; top: 0px;;display:inline;">Accounts receivable</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsReceivable" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">21,020</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsReceivable" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">7,726</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsReceivable" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">6,101</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 7em; line-height: normal;"><div style="font-family: ARIAL; font-size: 8.5pt; letter-spacing: 0px; top: 0px;;display:inline;">Royalties and other receivables</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherReceivables" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">128</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherReceivables" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">104</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherReceivables" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">7</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 7em; line-height: normal;"><div style="font-family: ARIAL; font-size: 8.5pt; letter-spacing: 0px; top: 0px;;display:inline;">Unbilled receivables</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncreaseDecreaseInContractWithCustomerAsset" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">456</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncreaseDecreaseInContractWithCustomerAsset" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">2,146</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInContractWithCustomerAsset" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">2,602</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 7em; line-height: normal;"><div style="font-family: ARIAL; font-size: 8.5pt; letter-spacing: 0px; top: 0px;;display:inline;">Inventories</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInInventories" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">29,260</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInInventories" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">9,314</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInInventories" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">4,042</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 7em; line-height: normal;"><div style="font-family: ARIAL; font-size: 8.5pt; letter-spacing: 0px; top: 0px;;display:inline;">Prepaid expenses and other assets</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">4,870</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">595</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,769</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 7em; line-height: normal;"><div style="font-family: ARIAL; font-size: 8.5pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease right of use assets</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">3,583</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">4,662</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 7em; line-height: normal;"><div style="font-family: ARIAL; font-size: 8.5pt; letter-spacing: 0px; top: 0px;;display:inline;">Other assets</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherNoncurrentAssets" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">281</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherNoncurrentAssets" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">66</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 7em; line-height: normal;"><div style="font-family: ARIAL; font-size: 8.5pt; letter-spacing: 0px; top: 0px;;display:inline;">Accounts payable</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsPayable" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">2,462</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsPayable" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">662</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsPayable" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">2,266</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 7em; line-height: normal;"><div style="font-family: ARIAL; font-size: 8.5pt; letter-spacing: 0px; top: 0px;;display:inline;">Accrued expenses</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccruedLiabilities" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,037</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccruedLiabilities" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">13,096</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccruedLiabilities" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">1,398</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 7em; line-height: normal;"><div style="font-family: ARIAL; font-size: 8.5pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease liability</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="rgen:IncreasedecreaseInOperatingLeaseLiability" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">1,964</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:IncreasedecreaseInOperatingLeaseLiability" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">5,447</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 7em; line-height: normal;"><div style="font-family: ARIAL; font-size: 8.5pt; letter-spacing: 0px; top: 0px;;display:inline;">Long-term liabilities</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,109</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">19</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">494</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9em; line-height: normal;"><div style="font-family: ARIAL; font-size: 8.5pt; letter-spacing: 0px; top: 0px;;display:inline;">Total cash provided by operating activities</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInOperatingActivities" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">62,625</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInOperatingActivities" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">67,216</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInOperatingActivities" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">32,770</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8.5pt; letter-spacing: 0px; top: 0px;;display:inline;">Cash flows from investing activities:</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 8.5pt; letter-spacing: 0px; top: 0px;;display:inline;">Additions to capitalized software costs</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:PaymentsToAcquireSoftware" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">3,889</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:PaymentsToAcquireSoftware" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">4,650</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:PaymentsToAcquireSoftware" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">2,147</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 8.5pt; letter-spacing: 0px; top: 0px;;display:inline;">Developed technology intangible asset payment</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:PaymentsToDevelopSoftware" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,255</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 8.5pt; letter-spacing: 0px; top: 0px;;display:inline;">Acquisitions, net of cash acquired</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">175,041</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">182,154</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 8.5pt; letter-spacing: 0px; top: 0px;;display:inline;">Purchases of property, plant and equipment</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">22,455</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">18,504</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">10,635</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9em; line-height: normal;"><div style="font-family: ARIAL; font-size: 8.5pt; letter-spacing: 0px; top: 0px;;display:inline;">Total cash used in investing activities</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInInvestingActivities" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">201,385</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInInvestingActivities" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">205,308</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInInvestingActivities" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">14,037</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8.5pt; letter-spacing: 0px; top: 0px;;display:inline;">Cash flows from financing activities:</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 8.5pt; letter-spacing: 0px; top: 0px;;display:inline;">Proceeds from issuance of senior convertible notes, net of issuance costs</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ProceedsFromConvertibleDebt" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">278,466</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 8.5pt; letter-spacing: 0px; top: 0px;;display:inline;">Proceeds from issuance of common stock, net of issuance costs</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfCommonStock" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">297,775</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfCommonStock" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">320,713</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 8.5pt; letter-spacing: 0px; top: 0px;;display:inline;">Exercise of stock options</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ProceedsFromStockOptionsExercised" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">8,151</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ProceedsFromStockOptionsExercised" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,167</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ProceedsFromStockOptionsExercised" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">3,418</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 8.5pt; letter-spacing: 0px; top: 0px;;display:inline;">Repayment of senior convertible notes</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:RepaymentsOfConvertibleDebt" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">114,989</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:RepaymentsOfConvertibleDebt" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">11</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 8.5pt; letter-spacing: 0px; top: 0px;;display:inline;">Payment of tax withholding obligation on vesting of restricted stock</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">10</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">490</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9em; line-height: normal;"><div style="font-family: ARIAL; font-size: 8.5pt; letter-spacing: 0px; top: 0px;;display:inline;">Total cash provided by financing activities</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInFinancingActivities" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">305,916</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInFinancingActivities" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">484,867</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInFinancingActivities" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">3,407</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 8.5pt; letter-spacing: 0px; top: 0px;;display:inline;">Effect of exchange rate changes on cash, cash equivalents and restricted cash</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:EffectOfExchangeRateOnCashAndCashEquivalents" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">12,729</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:EffectOfExchangeRateOnCashAndCashEquivalents" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">3,190</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:EffectOfExchangeRateOnCashAndCashEquivalents" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">2,077</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 8.5pt; letter-spacing: 0px; top: 0px;;display:inline;">Net increase in cash, cash equivalents and restricted cash</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">179,885</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">343,585</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">20,063</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 8.5pt; letter-spacing: 0px; top: 0px;;display:inline;">Cash, cash equivalents and restricted cash, beginning of period</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">537,407</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="PAsOn12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">193,822</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="PAsOn12_31_2017" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">173,759</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 8.5pt; letter-spacing: 0px; top: 0px;;display:inline;">Cash, cash equivalents and restricted cash, end of period</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">717,292</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">537,407</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="PAsOn12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">193,822</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 8.5pt; letter-spacing: 0px; top: 0px;;display:inline;">Supplemental disclosure of cash flow information:</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 8.5pt; letter-spacing: 0px; top: 0px;;display:inline;">Income taxes paid</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncomeTaxesPaidNet" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">10,279</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncomeTaxesPaidNet" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">6,505</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncomeTaxesPaidNet" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">4,046</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 8.5pt; letter-spacing: 0px; top: 0px;;display:inline;">Interest paid</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:InterestPaidNet" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,066</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:InterestPaidNet" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,484</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:InterestPaidNet" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">2,444</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;">Supplemental disclosure of <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-cash</div> investing and financing activities:</div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 8.5pt; letter-spacing: 0px; top: 0px;;display:inline;">Assets acquired under operating leases</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:AssetsAcquiredUnderOperatingLeases" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">3,349</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:AssetsAcquiredUnderOperatingLeases" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">8,663</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">$</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 8.5pt; letter-spacing: 0px; top: 0px;;display:inline;">Fair value of <ix:nonFraction name="us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" contextRef="P01_01_2020To12_31_2020_ArtesynBiosolutionsHoldingsIrelandLimitedMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_shares" decimals="0" scale="0" format="ixt:numdotdecimal">372,990</ix:nonFraction> shares of common stock issued for acquisition of ARTeSYN Biosolutions Holdings Ireland Limited</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockIssued1" contextRef="P01_01_2020To12_31_2020_ArtesynBiosolutionsHoldingsIrelandLimitedMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">69,422</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">$</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">$</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 8.5pt; letter-spacing: 0px; top: 0px;;display:inline;">Fair value of <ix:nonFraction name="us-gaap:DebtConversionConvertedInstrumentSharesIssued1" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_shares" decimals="0" scale="0" format="ixt:numdotdecimal">2,316,229</ix:nonFraction> shares of common stock issued for conversion of convertible notes</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">$</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:DebtConversionConvertedInstrumentAmount1" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">198,757</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">$</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 8.5pt; letter-spacing: 0px; top: 0px;;display:inline;">Fair value of common stock issued for acquisition of C Technologies, Inc.</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">$</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockIssued1" contextRef="P01_01_2019To12_31_2019_CTechnologiesIncMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">53,938</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">$</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Non-cash</div> effect of adoption of ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2016-16</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">$</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">$</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:NonCashEffectOfAdoptionOfAsu201616" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">5,609</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8.5pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 8.5pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 8.5pt; letter-spacing: 0px; top: 0px;;display:inline;">Property, plant and equipment related to lease incentives</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">$</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">$</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:PropertyPlantAndEquipmentRelatedToLeaseIncentives" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">2,270</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The accompanying notes are an integral part of these consolidated financial statements. </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">74 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> </div> <div><div style="text-align: center;"><div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">REPLIGEN CORPORATION </div></div></div><div id="tx105808_105" style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS </div></div></div><div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div><ix:nonNumeric name="us-gaap:NatureOfOperations" contextRef="P01_01_2020To12_31_2020" escape="true">
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">1.</div></div></td>
<td style="vertical-align: top;;text-align:left;"><div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Organization and Nature of Business </div></div></div></td></tr></table><div style="clear: both; max-height: 0px; background: none;"></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">Repligen Corporation (NASDAQ:RGEN) is a global life sciences company that develops and commercializes highly innovative bioprocessing technologies and systems that increase efficiencies and flexibility in the process of manufacturing biological drugs. The Company&#8217;s franchises include Filtration (XCell ATF<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#8482;</div> systems, TangenX<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#8482;</div> SIUS<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#8482;</div> flat sheet cassettes, Spectrum<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div><div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px"> </div>Hollow Fibers, KrosFlo<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> Systems and ProConnex<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">single-use</div> flow path assemblies), Chromatography (OPUS<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> Columns, chromatography resins, ELISA kits), Process Analytics (SoloVPE<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> and FlowVPE<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div>), and Proteins (Protein A affinity ligands and cell culture growth factors). The Company&#8217;s bioprocessing products are sold to major life sciences companies, biopharmaceutical development companies and contract manufacturing organizations worldwide. The Company operates under one reportable segment. The Company&#8217;s chief operating decision maker (&#8220;CODM&#8221;) reviews financial information presented on a consolidated basis for purposes of allocating resources and evaluating financial performance. See Note 2, <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Summary of Significant Accounting Policies &#8211; Segment Reporting,&#8221; </div></div>for more information on the Company&#8217;s segment. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">A majority of our 15 key manufacturing sites are located in the United States (California, Massachusetts, New Jersey and New York). Outside the United States, we have manufacturing sites in Estonia, Germany, Ireland, the Netherlands and Sweden. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company is subject to a number of risks typically associated with companies in the biotechnology industry. These risks principally include the Company&#8217;s dependence on key customers, development by the Company or its competitors of new technological innovations, dependence on key personnel, protection of proprietary technology, compliance with the FDA and other governmental regulations and approval requirements, as well as the ability to grow the Company&#8217;s business and obtain adequate funding to finance this growth. </div></div></ix:nonNumeric><div style="font-size: 18pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 18pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div><ix:nonNumeric name="us-gaap:SignificantAccountingPoliciesTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true" continuedAt="TextSelection_18476264">
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2.</div></div></td>
<td style="vertical-align: top;;text-align:left;"><div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Summary of Significant Accounting Policies </div></div></div></td></tr></table><ix:nonNumeric name="us-gaap:UseOfEstimates" contextRef="P01_01_2020To12_31_2020" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Use of Estimates </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The preparation of financial statements in conformity with accounting principles generally accepted in the United States (&#8220;GAAP&#8221;) requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting periods. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Significant estimates and assumptions by management affect the Company&#8217;s revenue recognition for multiple element arrangements, allowance for credit losses, the net realizable value of inventory, valuations and purchase price allocations related to business combinations, expected future cash flows including growth rates, discount rates, terminal values and other assumptions and estimates used to evaluate the recoverability of long-lived assets, estimated fair values of intangible assets and goodwill, amortization methods and periods, warranty reserves, certain accrued expenses, stock-based compensation, tax reserves and recoverability of the Company&#8217;s net deferred tax assets and related valuation allowance. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Although the Company regularly assesses these estimates, actual results could differ materially from these estimates. Changes in estimates are recorded in the period in which they become known. The Company bases its estimates on historical experience and various other assumptions that it believes to be reasonable under the circumstances. </div></div></ix:nonNumeric><div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div></ix:nonNumeric><div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">75 </div></div></div></div><div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div><hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/><div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div><div style="text-align: center;"><div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><ix:continuation id="TextSelection_18476264" continuedAt="TextSelectionAppend_18476264_1"><ix:nonNumeric name="us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Basis of Presentation </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">The consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries, Repligen Sweden AB, Repligen GmbH, Spectrum<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> LifeSciences LLC and its subsidiaries (&#8220;Spectrum&#8221;), C Technologies, Inc. (&#8220;C Technologies&#8221;), Engineered Molding Technology LLC (&#8220;EMT&#8221;), <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Non-Metallic</div> Solutions, Inc. (&#8220;NMS&#8221;), ARTeSYN Biosolutions Holdings Ireland Limited (&#8220;ARTeSYN&#8221;) and Repligen Singapore Pte. Ltd. All significant intercompany accounts and transactions have been eliminated in consolidation. Certain prior year balances have changed to reflect current year presentation. </div></ix:nonNumeric><ix:nonNumeric name="us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Foreign Currency </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company translates the assets and liabilities of its foreign subsidiary at rates in effect at the end of the reporting period. Revenues and expenses are translated at average rates in effect during the reporting period. Translation adjustments, including adjustments related to the Company&#8217;s intercompany loan with Repligen Sweden AB and Repligen Sweden AB&#8217;s intercompany loan with Repligen GmbH, are remeasured at each period end and included in accumulated other comprehensive loss. </div></div></ix:nonNumeric><ix:nonNumeric name="us-gaap:RevenueRecognitionPolicyTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true" continuedAt="TextSelection_18476268"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Revenue Recognition </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">We generate revenue from the sale of bioprocessing products, equipment devices, and related consumables used with these equipment devices to customers in the life sciences and biopharmaceutical industries. Under Accounting Standard Codification No. (&#8220;ASC&#8221;) 606, &#8220;<div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Revenue from Contracts with Customers,&#8221; </div></div>revenue is recognized when, or as, obligations under the terms of a contract are satisfied, which occurs when control of the promised products or services is transferred to customers. Revenue is measured as the amount of consideration the Company expects to receive in exchange for transferring products or services to a customer (&#8220;transaction price&#8221;). To the extent the transaction price includes variable consideration, the Company estimates the amount of variable consideration that should be included in the transaction price utilizing the expected value method or the most likely amount method, depending on the facts and circumstances relative to the contract. Variable consideration is included in the transaction price if, in the Company&#8217;s judgment, it is probable that a significant future reversal of cumulative revenue under the contract will not occur. Estimates of variable consideration and determination of whether to include estimated amounts in the transaction price are based largely on an assessment of the Company&#8217;s anticipated performance and all information (historical, current and forecasted) that is reasonably available. Sales, value add, and other taxes collected on behalf of third parties are excluded from revenue. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">When determining the transaction price of a contract, an adjustment is made if payment from a customer occurs either significantly before or significantly after performance, resulting in a significant financing component. Applying the practical expedient in paragraph <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">606-10-32-18,</div></div></div> the Company does not assess whether a significant financing component exists if the period between when the Company performs its obligations under the contract and when the customer pays is one year or less. None of the Company&#8217;s contracts contained a significant financing component as of December&#160;31, 2020. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Contracts with customers may contain multiple performance obligations. For such arrangements, the transaction price is allocated to each performance obligation based on the estimated relative standalone selling prices of the promised products or services underlying each performance obligation. The Company determines standalone selling prices based on the price at which the performance obligation is sold separately. If the standalone selling price is not observable through past transactions, the Company estimates the standalone selling price taking into account available information such as market conditions and internally approved pricing guidelines related to the performance obligations. </div></div></ix:nonNumeric></ix:continuation><div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div><div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">76 </div></div></div></div><div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div><hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/><div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div><div style="text-align: center;"><div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><ix:continuation id="TextSelectionAppend_18476264_1" continuedAt="TextSelectionAppend_18476264_2"><ix:continuation id="TextSelection_18476268"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company recognizes product revenue under the terms of each customer agreement upon transfer of control to the customer, which occurs at a point in time. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Shipping and handling fees are recorded as a component of product revenue, with the associated costs recorded as a component of cost of product revenue. </div></div></ix:continuation><ix:nonNumeric name="rgen:RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Risks and Uncertainties </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company evaluates its operations periodically to determine if any risks and uncertainties exist that could impact its operations in the near term. The Company does not believe that there are any significant risks that have not already been disclosed in the consolidated financial statements. A loss of certain suppliers could temporarily disrupt operations, although alternate sources of supply exist for these items. The Company has mitigated these risks by working closely with key suppliers, identifying alternate sources and developing contingency plans. </div></div></ix:nonNumeric><ix:nonNumeric name="us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" contextRef="P01_01_2020To12_31_2020" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Cash, Cash Equivalents and Restricted Cash </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Cash and cash equivalents include cash on hand and on deposit. Highly liquid investments in money market mutual funds with an original maturity of three months or less are classified as cash equivalents. All cash equivalents are carried at cost, which approximates fair value. Restricted cash represents cash that is restricted as to withdrawal or usage. There was no restriction on the Company&#8217;s cash balance as of December&#160;31, 2020. In connection with the Company&#8217;s acquisition of C Technologies on May&#160;31, 2019, cash was held and due to employees based on their continued employment with the Company one year after the date of the close of the acquisition. As of December&#160;31, 2019, $<ix:nonFraction name="us-gaap:RestrictedCashAndCashEquivalentsNoncurrent" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">9.0</ix:nonFraction>&#160;million, which represented this amount due to employees, was carried as restricted cash on the Company&#8217;s consolidated balance sheet. Subsequently, during the second quarter of 2020, this $<ix:nonFraction name="us-gaap:RestrictedCashAndCashEquivalentsNoncurrent" contextRef="PAsOn06_30_2020" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">9.0</ix:nonFraction>&#160;million was paid to employees. </div></div><ix:nonNumeric name="rgen:ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following is a summary of the Company&#8217;s cash, cash equivalents, and restricted cash total as presented in the Company&#8217;s consolidated statements of cash flows for the years ended December&#160;31, 2020, 2019 and 2018: </div></div><div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 8pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 61%;"></td>
<td style="width: 4%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 4%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 4%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2018</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Cash and cash equivalents</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">717,292</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">528,392</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="PAsOn12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">193,822</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Restricted cash</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RestrictedCash" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">9,015</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total cash, cash equivalents, and restricted cash</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">717,292</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">537,407</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="PAsOn12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">193,822</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table></ix:nonNumeric><div style="clear: both; max-height: 0px; background: none;"></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">There were no realized gains or losses on investments for the years ended December&#160;31, 2020, 2019 and 2018. </div></div></ix:nonNumeric><ix:nonNumeric name="us-gaap:FairValueMeasurementPolicyPolicyTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true" continuedAt="TextSelection_18476271"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Fair Value Measurement </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">In determining the fair value of its assets and liabilities, the Company uses various valuation approaches. The Company employs a hierarchy for inputs used in measuring fair value that maximizes the use of observable inputs and minimizes the use of unobservable inputs by requiring that observable inputs be used when available. Observable inputs are inputs that market participants would use in pricing the asset or liability based on market data obtained from sources independent of the Company. Unobservable inputs are inputs that reflect the Company&#8217;s assumptions about the inputs that market </div></div><div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div></ix:nonNumeric></ix:continuation><div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">77 </div></div></div></div><div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div><hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/><div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div></div> <div><div style="text-align: center;"><div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><ix:continuation id="TextSelectionAppend_18476264_2" continuedAt="TextSelectionAppend_18476264_3"><ix:continuation id="TextSelection_18476271"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">participants would use in pricing the asset or liability and are developed based on the best information available in the circumstances. The fair value hierarchy is broken down into three levels based on the source of inputs as follows: </div></div><div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 10%; font-family: ARIAL;"></td>
<td style="width: 2%; vertical-align: bottom; font-family: ARIAL;"></td>
<td style="width: 89%; font-family: ARIAL;"></td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Level&#160;1&#160;&#8211;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">Valuations based on unadjusted quoted prices in active markets for identical assets or liabilities that the Company has the ability to access.</td></tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt; font-family: ARIAL;">&#160;</td>
<td colspan="2" style="height: 6pt; font-family: ARIAL;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Level&#160;2&#160;&#8211;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">Valuations based on quoted prices for similar assets or liabilities in active markets, quoted prices for identical or similar assets or liabilities in markets that are not active and models for which all significant inputs are observable, either directly or indirectly.</td></tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt; font-family: ARIAL;">&#160;</td>
<td colspan="2" style="height: 6pt; font-family: ARIAL;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Level&#160;3&#160;&#8211;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">Valuations based on inputs that are unobservable and significant to the overall fair value measurement.</td></tr></table><div style="clear: both; max-height: 0px; background: none;"></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The availability of observable inputs can vary among the various types of financial assets and liabilities. To the extent that the valuation is based on models or inputs that are less observable or unobservable in the market, the determination of fair value requires more judgment. In certain cases, the inputs used to measure fair value may fall into different levels of the fair value hierarchy. In such cases, for financial statement disclosure purposes, the level in the fair value hierarchy within which the fair value measurement is categorized is based on the lowest level input that is significant to the overall fair value measurement. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">As of December&#160;31, 2020 and 2019, cash and cash equivalents on the Company&#8217;s consolidated balance sheets included $<ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="PAsOn12_31_2020_FairValueInputsLevel1MemberusgaapFairValueByFairValueHierarchyLevelAxis_MoneyMarketFundsMemberusgaapCashAndCashEquivalentsAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">549.0</ix:nonFraction>&#160;million and $<ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="PAsOn12_31_2019_FairValueInputsLevel1MemberusgaapFairValueByFairValueHierarchyLevelAxis_MoneyMarketFundsMemberusgaapCashAndCashEquivalentsAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">415.6</ix:nonFraction>&#160;million, respectively, in money market accounts. These funds are valued on a recurring basis using Level&#160;1 inputs. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">In July 2019, the Company issued $<ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="PAsOn07_31_2019_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis" unitRef="Unit_USD" decimals="INF" scale="6" format="ixt:numdotdecimal">287.5</ix:nonFraction>&#160;million aggregate principal amount of the Company&#8217;s <ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="PAsOn07_31_2019_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis" unitRef="Unit_pure" decimals="5" scale="-2" format="ixt:numdotdecimal">0.375</ix:nonFraction>% Convertible Senior Notes due July&#160;15, 2024 (the &#8220;2019 Notes&#8221;). Interest is payable <ix:nonNumeric name="us-gaap:DebtInstrumentFrequencyOfPeriodicPayment" contextRef="P01_01_2020To12_31_2020_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis">semi-annually</ix:nonNumeric> in arrears on January&#160;15 and July&#160;15 of each year. The 2019 Notes will mature on July&#160;15, 2024 unless earlier converted or repurchased in accordance with their terms. As of December&#160;31, 2020, the carrying value of the 2019 Notes was $<ix:nonFraction name="us-gaap:LongTermDebtFairValue" contextRef="PAsOn07_31_2019_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">243.7</ix:nonFraction>&#160;million, net of unamortized discount, and the fair value of the 2019 Notes was $<ix:nonFraction name="us-gaap:LongTermDebt" contextRef="PAsOn07_31_2019_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">501.0</ix:nonFraction>&#160;million. The fair value of the 2019 Notes is a Level&#160;1 valuation and was determined based on the most recent trade activity of the 2019 Notes as of December&#160;31, 2020. The 2019 Notes are discussed in more detail in Note 12, <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Convertible Senior Notes,&#8221; </div></div>to these consolidated financial statements. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">There were no remeasurements to fair value during the year ended December&#160;31, 2020 of financial assets and liabilities that are not measured at fair value on a recurring basis. </div></div></ix:continuation><ix:nonNumeric name="us-gaap:CreditLossFinancialInstrumentPolicyTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Allowance for credit losses </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We establish an allowance for credit losses through a review of several factors, including historical collection experience, current aging status of the customer accounts, and current financial condition of our customers. Losses are charged against the allowance when the customer accounts are determined to be uncollectible. </div></div></ix:nonNumeric><ix:nonNumeric name="us-gaap:InventoryPolicyTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true" continuedAt="TextSelection_18476273"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Inventories </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">Inventories relate to the Company&#8217;s bioprocessing business. The Company values inventory at cost or, if lower, net realizable value, using the <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">first-in,</div> <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">first-out</div> method. The Company reviews its inventories at least quarterly and records a provision for excess and obsolete inventory based on its estimates of expected sales volume, production capacity and expiration dates of raw materials, <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">work-in-process</div></div> and finished products. The Company writes down inventory that has become obsolete, inventory that has a </div></ix:nonNumeric></ix:continuation><div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div><div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">78 </div></div></div></div><div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div><hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/><div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div><div style="text-align: center;"><div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><ix:continuation id="TextSelectionAppend_18476264_3" continuedAt="TextSelectionAppend_18476264_4"><ix:continuation id="TextSelection_18476273"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">cost basis in excess of its expected net realizable value, and inventory in excess of expected requirements to cost of product revenue. Manufacturing of bioprocessing finished goods is done to order and tested for quality specifications prior to shipment. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">A change in the estimated timing or amount of demand for the Company&#8217;s products could result in additional provisions for excess inventory quantities on hand. Any significant unanticipated changes in demand or unexpected quality failures could have a significant impact on the value of inventory and reported operating results. During all periods presented in the accompanying financial statements, there have been no material adjustments related to a revised estimate of inventory valuations. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Work-in-process</div></div> and finished products inventories consist of material, labor, outside processing costs and manufacturing overhead. </div></ix:continuation><ix:nonNumeric name="us-gaap:LoansAndLeasesReceivableLeaseFinancingPolicy" contextRef="P01_01_2020To12_31_2020" escape="true" continuedAt="TextSelection_18476274"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Lease Accounting </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">The Company adopted ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2016-02,</div> <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Leases (Topic 842)</div></div>&#8221; (&#8220;ASC 842&#8221;) as of January&#160;1, 2019. Under ASC 842, the Company determines whether the arrangement contains a lease at the inception of an arrangement. If a lease is identified in an arrangement, the Company recognizes a <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">right-of-use</div></div> asset and liability on its consolidated balance sheet and determines whether the lease should be classified as a finance or operating lease. The Company does not recognize assets or liabilities for leases with lease terms of less than 12 months. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">A lease qualifies as a finance lease if any of the following criteria are met at the inception of the lease: (i)&#160;there is a transfer of ownership of the leased asset to the Company by the end of the lease term, (ii)&#160;the Company holds an option to purchase the leased asset that it is reasonably certain to exercise, (iii)&#160;the lease term is for a major part of the remaining economic life of the leased asset, (iv)&#160;the present value of the sum of lease payments equals or exceeds substantially all of the fair value of the leased asset, or (v)&#160;the nature of the leased asset is specialized to the point that it is expected to provide the lessor no alternative use at the end of the lease term. All other leases are recorded as operating leases. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Finance and operating lease assets and liabilities are recognized at the lease commencement date based on the present value of the lease payments over the lease term using the discount rate implicit in the lease. If the rate implicit is not readily determinable, the Company utilizes its incremental borrowing rate at the lease commencement date. Operating lease assets are further adjusted for prepaid or accrued lease payments. Operating lease payments are expensed using the straight-line method as an operating expense over the lease term. Finance lease assets are amortized to depreciation expense using the straight-line method over the shorter of the useful life of the related asset or the lease term. Finance lease payments are bifurcated into (i)&#160;a portion that is recorded as imputed interest expense and (ii)&#160;a portion that reduces the finance liability associated with the lease. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">The Company does not separate lease and <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-lease</div> components when determining which lease payments to include in the calculation of its lease assets and liabilities. Variable lease payments are expensed as incurred. If a lease includes an option to extend or terminate the lease, the Company reflects the option in the lease term if it is reasonably certain it will exercise the option. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Finance leases are recorded in property, plant and equipment, net, other current liabilities and long-term finance lease liabilities and operating leases are recorded in operating lease right of use assets, operating lease liability and operating lease liability, long-term on the Company&#8217;s consolidated balance sheet. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Certain of the Company&#8217;s operating leases where the Company is the lessee provide for minimum annual payments that increase over the life of the lease. Some of these leases include obligations to pay </div></div></ix:nonNumeric><div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div></ix:continuation><div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">79 </div></div></div></div><div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div><hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/><div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div><div style="text-align: center;"><div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><ix:continuation id="TextSelectionAppend_18476264_4" continuedAt="TextSelectionAppend_18476264_5"><ix:continuation id="TextSelection_18476274"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">for other services, such as operations and maintenance. For leases of property, the Company accounts for these other services as a component of the lease. The aggregate minimum annual payments are expensed on the straight-line basis beginning when the Company takes possession of the property and extending over the term of the related lease, including renewal options when the exercise of the option is reasonably assured as an economic penalty may be incurred if the option is not exercised. The Company also accounts in its straight-line computation for the effect of any &#8220;rental holidays.&#8221; </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease assets represent the Company&#8217;s right to use an underlying asset for the lease term and lease liabilities represent the Company&#8217;s obligation to make lease payments arising from the lease. Operating lease assets and liabilities are recognized at the lease commencement date based on the estimated present value of the fixed lease payments, reduced by landlord incentives using a discount rate based on similarly secured borrowings available to the Company. Most of the leases do not provide implicit interest rates and therefore the Company determines the discount rate based on its incremental borrowing rate. The incremental borrowing rate for the Company&#8217;s leases is determined based on lease term and currency in which the lease payments are made. </div></div></ix:continuation><ix:nonNumeric name="rgen:AccruedLiabilitiesPolicyTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Accrued Liabilities </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company estimates accrued liabilities by identifying services performed on the Company&#8217;s behalf, estimating the level of service performed and determining the associated cost incurred for such service as of each balance sheet date. For example, the Company would accrue for professional and consulting fees incurred with law firms, audit and accounting service providers and other third-party consultants. These expenses are determined by either requesting those service providers to estimate unbilled services at each reporting date for services incurred or tracking costs incurred by service providers under fixed fee arrangements. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company has processes in place to estimate the appropriate amounts to record for accrued liabilities, which principally involve the applicable personnel reviewing the services provided. In the event that the Company does not identify certain costs that have begun to be incurred or the Company under or over-estimates the level of services performed or the costs of such services, the reported expenses for that period may be too low or too high. The date on which certain services commence, the level of services performed on or before a given date, and the cost of such services often require the exercise of judgment. The Company makes these judgments based upon the facts and circumstances known at the date of the financial statements. </div></div></ix:nonNumeric><ix:nonNumeric name="us-gaap:IncomeTaxPolicyTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Income Taxes </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">Deferred taxes are determined based on the difference between the financial statement and tax basis of assets and liabilities using enacted tax rates in effect in the years in which the differences are expected to reverse. Valuation allowances are provided, if, based upon the weight of available evidence, it is more likely than not that some or all of the deferred tax assets will not be realized. The Company accounts for uncertain tax positions using a <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">&#8220;more-likely-than-not&#8221;</div> threshold for recognizing and resolving uncertain tax positions. The evaluation of uncertain tax positions is based on factors including, but not limited to, changes in tax law, the measurement of tax positions taken or expected to be taken in tax returns, the effective settlement of matters subject to audit, new audit activity and changes in facts or circumstances related to a tax position. The Company evaluates this tax position on a quarterly basis. The Company also accrues for potential interest and penalties related to unrecognized tax benefits in income tax expense. </div></ix:nonNumeric></ix:continuation><div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div><div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">80 </div></div></div></div><div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div><hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/><div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div></div> <div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><ix:continuation id="TextSelectionAppend_18476264_5" continuedAt="TextSelectionAppend_18476264_6"><ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentPolicyTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Property, Plant&#160;&amp; Equipment </div></div></div></div> <ix:nonNumeric name="rgen:ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Property, plant&#160;&amp; equipment is recorded at cost less allowances for depreciation. Depreciation is calculated using the straight-line method over the estimated useful life of the asset as follows: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 42%; font-family: ARIAL;"></td>
<td style="width: 2%; vertical-align: bottom; font-family: ARIAL;"></td>
<td style="font-family: ARIAL;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; white-space: nowrap;"> <div style="font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: table-cell; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Classification</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:center;"> <div style="text-align: center; font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: inline-block; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Estimated&#160;Useful&#160;Life</div></div></div> </td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: bottom;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Buildings</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentUsefulLife" contextRef="P01_01_2020To12_31_2020_BuildingMemberusgaapPropertyPlantAndEquipmentByTypeAxis" format="ixt-sec:durwordsen">Thirty years</ix:nonNumeric></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Leasehold&#160;improvements</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentEstimatedUsefulLives" contextRef="P01_01_2020To12_31_2020_LeaseholdImprovementsMemberusgaapPropertyPlantAndEquipmentByTypeAxis">Shorter of the term of the lease or estimated useful life</ix:nonNumeric></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: bottom;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Equipment</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><span style="-sec-ix-hidden:hidden18476318">Three</span> to <ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentUsefulLife" contextRef="P01_01_2020To12_31_2020_EquipmentMemberusgaapPropertyPlantAndEquipmentByTypeAxis_MaximumMembersrtRangeAxis" format="ixt-sec:durwordsen">twelve years</ix:nonNumeric></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Furniture, fixtures and office equipment</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><span style="-sec-ix-hidden:hidden18476319">Three</span> to <ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentUsefulLife" contextRef="P01_01_2020To12_31_2020_FurnitureFixturesAndOfficeEquipmentMemberMemberusgaapPropertyPlantAndEquipmentByTypeAxis_MaximumMembersrtRangeAxis" format="ixt-sec:durwordsen">eight years</ix:nonNumeric></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: bottom;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Computer hardware and software</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><span style="-sec-ix-hidden:hidden18476320">Three</span> to <ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentUsefulLife" contextRef="P01_01_2020To12_31_2020_ComputerHardwareAndSoftwareMemberMemberusgaapPropertyPlantAndEquipmentByTypeAxis_MaximumMembersrtRangeAxis" format="ixt-sec:durwordsen">seven years</ix:nonNumeric> or estimated useful life</td> </tr> </table> </ix:nonNumeric> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Upon disposal of property, plant&#160;&amp; equipment, the cost of the asset and the accumulated depreciation are removed from the accounts and the resulting gain or loss is reflected in our results of operations. Fully depreciated assets are not removed from the accounts until they are physically disposed of. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Certain systems development costs related to the purchase, development and installation of computer software developed or obtained for internal use are capitalized and depreciated over the estimated useful life of the related project. Costs incurred prior to the development stage, as well as maintenance, training costs, and general and administrative expenses are expensed as incurred. </div></div></ix:nonNumeric><ix:nonNumeric name="us-gaap:EarningsPerSharePolicyTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true" continuedAt="TextSelection_18476278"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Earnings Per Share </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">Basic earnings per share is computed by dividing net income available to common shareholders by the weighted average number of common shares outstanding during the period. Diluted earnings per share is computed by dividing net income available to common shareholders by the weighted-average number of common shares and dilutive common share equivalents then outstanding. Potential common share equivalents consist of restricted stock awards and the incremental common shares issuable upon the exercise of stock options and warrants. Under the treasury stock method, unexercised <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">&#8220;in-the-money&#8221;</div></div> stock options are assumed to be exercised at the beginning of the period or at issuance, if later. The assumed proceeds are then used to purchase common shares at the average market price during the period. In periods when the Company has a net loss, stock awards are excluded from the calculation of earnings per share as their inclusion would have an antidilutive effect. </div> <ix:nonNumeric name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">A reconciliation of basic and diluted share amounts is as follows: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 73%;"></td>
<td style="width: 2%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 2%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 2%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended<br/> December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2020&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2019&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2018&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td colspan="10" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts&#160;in&#160;thousands,&#160;except<br/> per&#160;share&#160;data)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Net income</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">59,926</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">21,411</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">16,617</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Weighted average shares used in computing net income per share - basic</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_shares" decimals="-3" scale="3" format="ixt:numdotdecimal">52,554</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_shares" decimals="-3" scale="3" format="ixt:numdotdecimal">48,343</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_shares" decimals="-3" scale="3" format="ixt:numdotdecimal">43,767</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Effect of dilutive shares:</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Options and stock units</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesRestrictedStock" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_shares" decimals="-3" scale="3" format="ixt:numdotdecimal">971</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesRestrictedStock" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_shares" decimals="-3" scale="3" format="ixt:numdotdecimal">864</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesRestrictedStock" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_shares" decimals="-3" scale="3" format="ixt:numdotdecimal">581</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Convertible senior notes</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_shares" decimals="-3" scale="3" format="ixt:numdotdecimal">367</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_shares" decimals="-3" scale="3" format="ixt:numdotdecimal">1,123</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Dilutive potential common shares</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_shares" decimals="-3" scale="3" format="ixt:numdotdecimal">1,338</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_shares" decimals="-3" scale="3" format="ixt:numdotdecimal">864</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_shares" decimals="-3" scale="3" format="ixt:numdotdecimal">1,704</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Weighted average shares used in computing net income per share - diluted</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_shares" decimals="-3" scale="3" format="ixt:numdotdecimal">53,892</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_shares" decimals="-3" scale="3" format="ixt:numdotdecimal">49,206</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_shares" decimals="-3" scale="3" format="ixt:numdotdecimal">45,471</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Earnings per share:</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Basic</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">1.14</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">0.44</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">0.38</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Diluted</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">1.11</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">0.44</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">0.37</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> </ix:nonNumeric></ix:nonNumeric></ix:continuation> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">81 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><ix:continuation id="TextSelectionAppend_18476264_6" continuedAt="TextSelectionAppend_18476264_7"><ix:continuation id="TextSelection_18476278"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">At December&#160;31, 2020, there were outstanding options to purchase <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="PAsOn12_31_2020_OptionToPurchaseCommonStockMemberusgaapAwardTypeAxis" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:numdotdecimal">696,711</ix:nonFraction> shares of the Company&#8217;s common stock at a weighted average exercise price of $<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="PAsOn12_31_2020" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">43.88</ix:nonFraction> per share and <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" contextRef="PAsOn12_31_2020_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:numdotdecimal">665,540</ix:nonFraction> shares of common stock issuable upon the vesting of stock units which include restricted stock units and performance stock units. For the year ended December&#160;31, 2020, <ix:nonFraction name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_shares" decimals="0" scale="0" format="ixt:numdotdecimal">98,048</ix:nonFraction> shares of the Company&#8217;s common stock were excluded from the calculation of diluted earnings per share because they would have had an anti-dilutive effect. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">At December&#160;31, 2019, there were outstanding options to purchase <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="PAsOn12_31_2019_OptionToPurchaseCommonStockMemberusgaapAwardTypeAxis" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:numdotdecimal">957,559</ix:nonFraction> shares of the Company&#8217;s common stock at a weighted average exercise price of $<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="PAsOn12_31_2019_OptionToPurchaseCommonStockMemberusgaapAwardTypeAxis" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">30.81</ix:nonFraction> per share and <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" contextRef="PAsOn12_31_2019_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:numdotdecimal">734,984</ix:nonFraction> shares of common stock issuable upon the vesting of stock units. For the year ended December&#160;31, 2019, <ix:nonFraction name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_shares" decimals="0" scale="0" format="ixt:numdotdecimal">104,316</ix:nonFraction> shares of the Company&#8217;s common stock were excluded from the calculation of diluted earnings per share because the exercise prices of the stock options were greater than or equal to the average price of the common shares and were therefore, anti-dilutive. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">At December&#160;31, 2018, there were outstanding options to purchase <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="PAsOn12_31_2018_OptionToPurchaseCommonStockMemberusgaapAwardTypeAxis" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:numdotdecimal">998,226</ix:nonFraction> shares of the Company&#8217;s common stock at a weighted average exercise price of $<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="PAsOn12_31_2018_OptionToPurchaseCommonStockMemberusgaapAwardTypeAxis" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">27.54</ix:nonFraction> per share and <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" contextRef="PAsOn12_31_2018_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:numdotdecimal">705,413</ix:nonFraction> shares of common stock issuable upon the vesting of stock units. For the year ended December&#160;31, 2017, <ix:nonFraction name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" contextRef="P01_01_2017To12_31_2017" unitRef="Unit_shares" decimals="0" scale="0" format="ixt:numdotdecimal">479,854</ix:nonFraction> shares of the Company&#8217;s common stock were excluded from the calculation of diluted earnings per share because the exercise prices of the stock options were greater than or equal to the average price of the common shares and were therefore, anti-dilutive. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">As provided by the terms of the indenture underlying the senior convertible notes, the Company has a choice to settle the conversion obligation for the 2019 Notes in cash, shares or any combination of the two.&#160;The Company currently intends to settle the par value of the 2019 Notes in cash and any excess conversion premium in shares. The Company applies the provisions of ASC 260, <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Earnings Per Share&#8221;,</div></div> Subsection <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">10-45-44,</div></div> to determine the diluted weighted average shares outstanding as it relates to the conversion spread on its convertible notes. Accordingly, the par value of the 2019 Notes is not included in the calculation of diluted income per share, but the dilutive effect of the conversion premium is considered in the calculation of diluted net income per share using the treasury stock method. The dilutive impact of the 2019 Notes is based on the difference between the Company&#8217;s current period average stock price and the conversion price of the convertible notes, provided there is a premium. Pursuant to this accounting standard, there is no dilution from the accreted principal of the 2019 Notes. For the years ended December&#160;31, 2020 and 2019, the dilutive effect of the conversion premium included in the calculation of diluted earnings was <ix:nonFraction name="us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_shares" decimals="0" scale="0" format="ixt:numdotdecimal">366,534</ix:nonFraction> shares and <ix:nonFraction name="us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_shares" decimals="0" scale="0" format="ixt:numdotdecimal">1,123,139</ix:nonFraction> shares, respectively. There was no dilutive effect of the conversion premium included in the calculation of diluted earnings per share for the year ended December&#160;31, 2019. </div> </ix:continuation><ix:nonNumeric name="us-gaap:SegmentReportingPolicyPolicyTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true" continuedAt="TextSelection_18476279"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Segment Reporting </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company views its operations, makes decisions regarding how to allocate resources and manages its business as one reportable segment and one reporting unit. As a result, the financial information disclosed herein represents all of the material financial information related to the Company. </div></div></ix:nonNumeric></ix:continuation> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">82 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><ix:continuation id="TextSelectionAppend_18476264_7" continuedAt="TextSelectionAppend_18476264_8"><ix:continuation id="TextSelection_18476279" continuedAt="TextSelectionAppend_18476279_1"><ix:nonNumeric name="us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 4%;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following table represents product revenues by product line: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 61%;"></td>
<td style="width: 4%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 4%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 4%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:7.5px">(1)</div></div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:7.5px">(2)</div></div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2018</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Filtration products</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P01_01_2020To12_31_2020_FiltrationProductsMembersrtProductOrServiceAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal" id="Fact_18476001">174,896</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P01_01_2019To12_31_2019_FiltrationProductsMembersrtProductOrServiceAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal" id="Fact_18476002">119,534</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P01_01_2018To12_31_2018_FiltrationProductsMembersrtProductOrServiceAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">90,586</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Chromatography products</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P01_01_2020To12_31_2020_ChromatographyProductsMembersrtProductOrServiceAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal" id="Fact_18476004">73,551</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P01_01_2019To12_31_2019_ChromatographyProductsMembersrtProductOrServiceAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal" id="Fact_18476005">64,635</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P01_01_2018To12_31_2018_ChromatographyProductsMembersrtProductOrServiceAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">45,326</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Process analytics products</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P01_01_2020To12_31_2020_ProcessAnalyticsProductsMembersrtProductOrServiceAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal" id="Fact_18476007">33,346</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P01_01_2019To12_31_2019_ProcessAnalyticsProductsMembersrtProductOrServiceAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal" id="Fact_18476008">16,405</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Proteins products</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P01_01_2020To12_31_2020_ProteinsProductsMembersrtProductOrServiceAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal" id="Fact_18476009">80,732</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P01_01_2019To12_31_2019_ProteinsProductsMembersrtProductOrServiceAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal" id="Fact_18476010">65,124</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P01_01_2018To12_31_2018_ProteinsProductsMembersrtProductOrServiceAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">54,375</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Other</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P01_01_2020To12_31_2020_OtherProductsMembersrtProductOrServiceAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal" id="Fact_18476012">3,611</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P01_01_2019To12_31_2019_OtherProductsMembersrtProductOrServiceAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal" id="Fact_18476013">4,399</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P01_01_2018To12_31_2018_OtherProductsMembersrtProductOrServiceAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">3,604</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total product revenue</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P01_01_2020To12_31_2020_ProductMembersrtProductOrServiceAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal" id="Fact_18476015">366,136</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P01_01_2019To12_31_2019_ProductMembersrtProductOrServiceAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal" id="Fact_18476016">270,097</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P01_01_2018To12_31_2018_ProductMembersrtProductOrServiceAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">193,891</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="width: 11%; line-height: 8pt; margin-top: 0pt; margin-bottom: 2pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%; vertical-align: top;;text-align:left;">(1)</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2020 revenue for filtration products includes revenue related to EMT from July&#160;13, 2020, NMS from October&#160;20, 2020 and ARTeSYN from December&#160;3, 2020. </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%; vertical-align: top;;text-align:left;">(2)</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2019 revenue for process analytics products includes revenue related to C Technologies from May&#160;31, 2019 through December&#160;31, 2019. </div></div> </td> </tr> </table> </ix:nonNumeric> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Revenue from filtration products includes the XCell ATF systems and consumables as well as the KrosFlo and SIUS filtration products. Revenue from chromatography products includes the OPUS chromatography PPCs, chromatography resins and ELISA test kits. Revenue from process analytics products includes the SoloVPE and FlowVPE devices. Revenue from protein products includes the Protein A affinity ligands and cell culture growth factors. Other revenue primarily consists of revenue from the sale of operating room products to hospitals as well as freight revenue. </div></div> <ix:nonNumeric name="us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" contextRef="P01_01_2020To12_31_2020_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following table represents the Company&#8217;s total revenue by geographic area (based on the location of the customer): </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 57%;"></td>
<td style="width: 11%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 10%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 10%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended<br/> December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2020&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2019&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2018&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Revenue by customers&#8217; geographic locations:</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">North America</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="P01_01_2020To12_31_2020_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_NorthAmericaMembersrtStatementGeographicalAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis" unitRef="Unit_pure" decimals="2" scale="-2" format="ixt:numdotdecimal">48</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="P01_01_2019To12_31_2019_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_NorthAmericaMembersrtStatementGeographicalAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis" unitRef="Unit_pure" decimals="2" scale="-2" format="ixt:numdotdecimal">51</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="P01_01_2018To12_31_2018_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_NorthAmericaMembersrtStatementGeographicalAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis" unitRef="Unit_pure" decimals="2" scale="-2" format="ixt:numdotdecimal">48</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Europe</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="P01_01_2020To12_31_2020_EuropeMembersrtStatementGeographicalAxis_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis" unitRef="Unit_pure" decimals="2" scale="-2" format="ixt:numdotdecimal">38</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="P01_01_2019To12_31_2019_EuropeMembersrtStatementGeographicalAxis_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis" unitRef="Unit_pure" decimals="2" scale="-2" format="ixt:numdotdecimal">37</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="P01_01_2018To12_31_2018_EuropeMembersrtStatementGeographicalAxis_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis" unitRef="Unit_pure" decimals="2" scale="-2" format="ixt:numdotdecimal">40</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">APAC/Other</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="P01_01_2020To12_31_2020_APACOtherMembersrtStatementGeographicalAxis_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis" unitRef="Unit_pure" decimals="2" scale="-2" format="ixt:numdotdecimal">14</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="P01_01_2019To12_31_2019_APACOtherMembersrtStatementGeographicalAxis_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis" unitRef="Unit_pure" decimals="2" scale="-2" format="ixt:numdotdecimal">12</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="P01_01_2018To12_31_2018_APACOtherMembersrtStatementGeographicalAxis_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis" unitRef="Unit_pure" decimals="2" scale="-2" format="ixt:numdotdecimal">12</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total revenue</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="P01_01_2020To12_31_2020_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis" unitRef="Unit_pure" decimals="2" scale="-2" format="ixt:numdotdecimal">100</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="P01_01_2019To12_31_2019_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis" unitRef="Unit_pure" decimals="2" scale="-2" format="ixt:numdotdecimal">100</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="P01_01_2018To12_31_2018_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis" unitRef="Unit_pure" decimals="2" scale="-2" format="ixt:numdotdecimal">100</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> </ix:nonNumeric><ix:nonNumeric name="us-gaap:ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following table represents the Company&#8217;s total assets by geographic area: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 60%;"></td>
<td style="width: 6%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 6%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total assets by geographic locations:</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">North America</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:Assets" contextRef="PAsOn12_31_2020_NorthAmericaMembersrtStatementGeographicalAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,697,149</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:Assets" contextRef="PAsOn12_31_2019_NorthAmericaMembersrtStatementGeographicalAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,260,217</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Europe</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:Assets" contextRef="PAsOn12_31_2020_EuropeMembersrtStatementGeographicalAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">188,698</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:Assets" contextRef="PAsOn12_31_2019_EuropeMembersrtStatementGeographicalAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">133,599</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">APAC</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:Assets" contextRef="PAsOn12_31_2020_APACMembersrtStatementGeographicalAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">17,040</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:Assets" contextRef="PAsOn12_31_2019_APACMembersrtStatementGeographicalAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">6,297</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total assets by geographic location</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:Assets" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,902,887</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:Assets" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,400,113</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> </ix:nonNumeric></ix:continuation></ix:continuation> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">83 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> </div> <div><div style="text-align: center;"><div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><ix:continuation id="TextSelectionAppend_18476264_8" continuedAt="TextSelectionAppend_18476264_9"><ix:continuation id="TextSelectionAppend_18476279_1"><ix:nonNumeric name="us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following table represents the Company&#8217;s long-lived assets by geographic area: </div></div><div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 70%;"></td>
<td style="width: 6%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 6%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in<br/> thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Long-lived assets by geographic locations:</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">North America</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:AssetsNonCurrentExcludingDifferedTaxAssets" contextRef="PAsOn12_31_2020_NorthAmericaMembersrtStatementGeographicalAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">78,429</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:AssetsNonCurrentExcludingDifferedTaxAssets" contextRef="PAsOn12_31_2019_NorthAmericaMembersrtStatementGeographicalAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">66,756</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Europe</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:AssetsNonCurrentExcludingDifferedTaxAssets" contextRef="PAsOn12_31_2020_EuropeMembersrtStatementGeographicalAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">12,918</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:AssetsNonCurrentExcludingDifferedTaxAssets" contextRef="PAsOn12_31_2019_EuropeMembersrtStatementGeographicalAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">6,775</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">APAC</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:AssetsNonCurrentExcludingDifferedTaxAssets" contextRef="PAsOn12_31_2020_APACMembersrtStatementGeographicalAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,272</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:AssetsNonCurrentExcludingDifferedTaxAssets" contextRef="PAsOn12_31_2019_APACMembersrtStatementGeographicalAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">869</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total long-lived assets by geographic location</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:AssetsNonCurrentExcludingDifferedTaxAssets" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">92,619</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:AssetsNonCurrentExcludingDifferedTaxAssets" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">74,400</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table></ix:nonNumeric></ix:continuation><ix:nonNumeric name="us-gaap:ConcentrationRiskCreditRisk" contextRef="P01_01_2020To12_31_2020" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Concentrations of Credit Risk and Significant Customers </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Financial instruments that subject the Company to significant concentrations of credit risk primarily consist of cash and cash equivalents, marketable securities and accounts receivable. Per the Company&#8217;s investment policy, cash equivalents and marketable securities are invested in financial instruments with high credit ratings and credit exposure to any one issue, issuer (with the exception of U.S. Treasury obligations) and type of instrument is limited. At December&#160;31, 2020 and 2019, the Company had no investments associated with foreign exchange contracts, options contracts or other foreign hedging arrangements. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">Concentration of credit risk with respect to accounts receivable is limited to customers to whom the Company makes significant sales. While a reserve for the potential <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">write-off</div> of accounts receivable is maintained, the Company has not written off any significant accounts to date. To control credit risk, the Company performs regular credit evaluations of its customers&#8217; financial condition. </div><ix:nonNumeric name="us-gaap:ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Revenue from significant customers that represent 10% or more of the Company&#8217;s total revenue is as follows: </div></div><div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 8pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 57%;"></td>
<td style="width: 13%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 12%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 12%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended<br/> December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2020&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2019&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2018&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">MilliporeSigma</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="P01_01_2020To12_31_2020_CustomerConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_MilliporeSigmaMembersrtMajorCustomersAxis_SalesRevenueNetMemberusgaapConcentrationRiskByBenchmarkAxis" unitRef="Unit_pure" decimals="2" scale="-2" format="ixt:numdotdecimal">11</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="P01_01_2019To12_31_2019_CustomerConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_MilliporeSigmaMembersrtMajorCustomersAxis_SalesRevenueNetMemberusgaapConcentrationRiskByBenchmarkAxis" unitRef="Unit_pure" decimals="2" scale="-2" format="ixt:numdotdecimal">13</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="P01_01_2017To12_31_2017_CustomerConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_MilliporeSigmaMembersrtMajorCustomersAxis_SalesRevenueNetMemberusgaapConcentrationRiskByBenchmarkAxis" unitRef="Unit_pure" decimals="2" scale="-2" format="ixt:numdotdecimal">15</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Cytiva (formerly GE Healthcare)</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">N/A</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="P01_01_2019To12_31_2019_CustomerConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_CytivaMembersrtMajorCustomersAxis_SalesRevenueNetMemberusgaapConcentrationRiskByBenchmarkAxis" unitRef="Unit_pure" decimals="2" scale="-2" format="ixt:numdotdecimal">12</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="P01_01_2017To12_31_2017_CustomerConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_CytivaMembersrtMajorCustomersAxis_SalesRevenueNetMemberusgaapConcentrationRiskByBenchmarkAxis" unitRef="Unit_pure" decimals="2" scale="-2" format="ixt:numdotdecimal">15</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td></tr></table></ix:nonNumeric><div style="clear: both; max-height: 0px; background: none;"></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Significant accounts receivable balances representing <ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="P01_01_2019To12_31_2019_AccountsReceivableMemberusgaapConcentrationRiskByBenchmarkAxis" unitRef="Unit_pure" decimals="2" scale="-2" format="ixt:numdotdecimal">10</ix:nonFraction>% or more of the Company&#8217;s total trade accounts receivable and royalties and other receivable balances at December&#160;31, 2020 and 2019, include the accounts receivable balance with Cytiva (formerly GE Healthcare), which represented <ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="P01_01_2020To12_31_2020_AccountsReceivableMemberusgaapConcentrationRiskByBenchmarkAxis_CustomerConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_CytivaMembersrtMajorCustomersAxis" unitRef="Unit_pure" decimals="2" scale="-2" format="ixt:numdotdecimal">11</ix:nonFraction>% and <ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="P01_01_2019To12_31_2019_AccountsReceivableMemberusgaapConcentrationRiskByBenchmarkAxis_CustomerConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_CytivaMembersrtMajorCustomersAxis" unitRef="Unit_pure" decimals="2" scale="-2" format="ixt:numdotdecimal">18</ix:nonFraction>%, respectively of the Company&#8217;s total trade accounts receivable and royalties and other receivable balances. </div></div></ix:nonNumeric><ix:nonNumeric name="us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true" continuedAt="TextSelection_18476281"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Business Combinations, Goodwill and Intangible Assets </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Business Combinations </div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total consideration transferred for acquisitions is allocated to the tangible and intangible assets acquired and liabilities assumed, if any, based on their fair values at the dates of acquisition. This purchase price allocation process requires management to make significant estimates and assumptions with respect to intangible assets and deferred revenue. The fair value of identifiable intangible assets is based on detailed valuations that use information and assumptions determined by management. Any excess of purchase price over the fair value of the net tangible and intangible assets acquired is allocated to </div></div></ix:nonNumeric><div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div></ix:continuation><div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">84 </div></div></div></div><div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div><hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/><div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div><div style="text-align: center;"><div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><ix:continuation id="TextSelectionAppend_18476264_9" continuedAt="TextSelectionAppend_18476264_10"><ix:continuation id="TextSelection_18476281" continuedAt="TextSelectionAppend_18476281_1"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">goodwill. While the Company uses its best estimates and assumptions to accurately value assets acquired and liabilities assumed at the acquisition date as well as any contingent consideration, where applicable, that the Company&#8217;s estimates are inherently uncertain and subject to refinement. As a result, during the measurement period, which may be up to one year from the acquisition date, the Company records adjustments to the assets acquired and liabilities assumed with the corresponding offset to goodwill. Upon conclusion of the measurement period or final determination of the values of assets acquired or liabilities assumed, whichever comes first, any subsequent adjustments are recorded to the Company&#8217;s consolidated statements of comprehensive income. Any excess of the fair value of the net tangible and intangible assets acquired over the purchase price is recognized in the consolidated statements of comprehensive income. The fair value of contingent consideration includes estimates and judgments made by management regarding the probability that future contingent payments will be made and the extent of royalties to be earned in excess of the defined minimum royalties. Management updates these estimates and the related fair value of contingent consideration at each reporting period. During the measurement period, these changes in the fair value of contingent consideration are recorded to goodwill. Subsequent to the end of the measurement period, they will be recorded in the consolidated statements of comprehensive income. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">The Company uses the income approach to determine the fair value of certain identifiable intangible assets including customer relationships and developed technology. This approach determines fair value by estimating <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">after-tax</div> cash flows attributable to these assets over their respective useful lives and then discounting these <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">after-tax</div> cash flows back to a present value. The Company bases its assumptions on estimates of future cash flows, expected growth rates, expected trends in technology, etc. Discount rates used to arrive at a present value as of the date of acquisition are based on the time value of money and certain industry-specific risk factors. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Goodwill </div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Goodwill is not amortized and is reviewed for impairment at least annually at the reporting unit level. As of December&#160;31, 2018, the Company concluded that it operated as two reporting units and performed the 2018 goodwill impairment test using two reporting units. In 2019, the Company reorganized its reporting structure and changed the way the CODM views the Company&#8217;s operations and allocates its resources. Accordingly, the Company operates as one reporting unit as of the goodwill impairment measurement date of December&#160;31, 2020. During the qualitative assessment of the Company&#8217;s one reporting unit during the 2020 goodwill impairment testing, it was determined that it was not more likely than not that its fair value was less than its carrying amount. As such, a quantitative impairment assessment was not required as of December&#160;31, 2020. If an event occurs or circumstances change that would more likely than not reduce the fair value of its reporting unit below its carrying value, the Company will evaluate its goodwill for impairment between annual tests. There was no impairment to goodwill and therefore no impairment charge recorded for the year ended December&#160;31, 2019. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Intangible Assets </div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Intangible assets with a definite life are amortized over their useful lives using the straight-line method and the amortization expense is recorded within cost of product revenue, research and development and selling, general and administrative expense in the consolidated statements of comprehensive income. Intangible assets and their related useful lives are reviewed at least annually to determine if any adverse conditions exist that would indicate the carrying value of these assets may not be recoverable. More frequent impairment assessments are conducted if certain conditions exist, including a change in the competitive landscape, any internal decisions to pursue new or different technology strategies, a loss of a significant customer, or a significant change in the marketplace, including changes in the prices paid for the Company&#8217;s products or changes in the size of the market for the Company&#8217;s products. If impairment indicators are present, the Company determines whether the underlying intangible asset is </div></div></ix:continuation></ix:continuation><div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div><div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">85 </div></div></div></div><div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div><hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/><div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div><div style="text-align: center;"><div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><ix:continuation id="TextSelectionAppend_18476264_10" continuedAt="TextSelectionAppend_18476264_11"><ix:continuation id="TextSelectionAppend_18476281_1"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">recoverable through estimated future undiscounted cash flows. If the asset is not found to be recoverable, it is written down to the estimated fair value of the asset based on the sum of the future discounted cash flows expected to result from the use and disposition of the asset. If the estimate of an intangible asset&#8217;s remaining useful life is changed, the remaining carrying amount of the intangible asset is amortized prospectively over the revised remaining useful life. The Company continues to believe that its definite-lived intangible assets are recoverable at December&#160;31, 2020. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Indefinite-lived intangible assets are reviewed for impairment at least annually. There has been no impairment of our intangible assets for the periods presented. </div></div></ix:continuation><ix:nonNumeric name="us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy" contextRef="P01_01_2020To12_31_2020" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Stock Based Compensation </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company measures stock-based compensation cost at the grant date based on the estimated fair value of the award and recognizes it as expense over the employee&#8217;s requisite service period on a straight-line basis. The Company records the expense for share-based awards subject to performance-based milestone vesting over the remaining service period when management determines that achievement of the milestone is probable. Management evaluates whether the achievement of a performance-based milestone is probable as of the reporting date. The Company has no awards that are subject to market conditions. The Company recognizes stock-based compensation expense based upon options that are ultimately expected to vest, and accordingly, such compensation expense has been adjusted by an amount of estimated forfeitures. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company uses the Black-Scholes option pricing model to calculate the fair value of share-based awards on the grant date.&#160;The following assumptions are used in calculating the fair value of share-based awards: </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Expected term</div></div> &#8211; The expected term of options granted represents the period of time for which the options are expected to be outstanding. For purposes of estimating the expected term, the Company has aggregated all individual option awards into one group as the Company does not expect substantial differences in exercise behavior among its employees. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Expected volatility</div></div> &#8211; The expected volatility is a measure of the amount by which the Company&#8217;s stock price is expected to fluctuate during the expected term of options granted. The Company determines the expected volatility based primarily upon the historical volatility of the Company&#8217;s common stock over a period commensurate with the option&#8217;s expected term. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Risk-free interest rate</div></div> &#8211; The risk-free interest rate is the implied yield available on U.S. Treasury <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">zero-coupon</div> issues with a remaining term equal to the option&#8217;s expected term on the grant date. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Expected dividend yield</div></div> &#8211; The Company has never declared or paid any cash dividends on any of its capital stock and does not expect to do so in the foreseeable future.&#160;Accordingly, the Company uses an expected dividend yield of zero to calculate the grant-date fair value of a stock option. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Estimated forfeiture rates</div></div> &#8211; The Company has applied, based on an analysis of its historical forfeitures, annual forfeiture rates of <ix:nonFraction name="rgen:PercentageOfSharesSubjectToForfeiture" contextRef="PAsOn12_31_2020_EmployeeStockOptionMemberusgaapAwardTypeAxis_NonExecutiveMembersrtTitleOfIndividualAxis" unitRef="Unit_pure" decimals="2" scale="-2" format="ixt:numdotdecimal">8</ix:nonFraction>% for awards granted to <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-executive</div> level employees, <ix:nonFraction name="rgen:PercentageOfSharesSubjectToForfeiture" contextRef="PAsOn12_31_2020_EmployeeStockOptionMemberusgaapAwardTypeAxis_ExecutiveOfficerMembersrtTitleOfIndividualAxis" unitRef="Unit_pure" decimals="2" scale="-2" format="ixt:numdotdecimal">3</ix:nonFraction>% for awards granted to executive level employees and <ix:nonFraction name="rgen:PercentageOfSharesSubjectToForfeiture" contextRef="PAsOn12_31_2020_NonEmployeeDirectorStockOptionMemberusgaapAwardTypeAxis" unitRef="Unit_pure" decimals="2" scale="-2" format="ixt:numdotdecimal">0</ix:nonFraction>% for awards granted to <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-employee</div> members of the Board of Directors to all unvested stock options as of December&#160;31, 2020. The Company reevaluates this analysis periodically and adjusts these estimated forfeiture rates as necessary. Ultimately, the Company will only recognize an expense for those shares that vest. </div></ix:nonNumeric></ix:continuation><div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div><div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">86 </div></div></div></div><div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div><hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/><div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div></div> <div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><ix:continuation id="TextSelectionAppend_18476264_11" continuedAt="TextSelectionAppend_18476264_12"><ix:nonNumeric name="us-gaap:AdvertisingCostsPolicyTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Advertising Costs </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company expenses advertising costs as they are incurred. Advertising expense for the years ended December&#160;31, 2020, 2019 and 2018 was $<ix:nonFraction name="us-gaap:AdvertisingExpense" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">0.3</ix:nonFraction>&#160;million, $<ix:nonFraction name="us-gaap:AdvertisingExpense" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">0.1</ix:nonFraction>&#160;million and $<ix:nonFraction name="us-gaap:AdvertisingExpense" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">0.2</ix:nonFraction>&#160;million, respectively. </div></div></ix:nonNumeric><ix:nonNumeric name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true" continuedAt="TextSelection_18476284"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Recent Accounting Standards Updates </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We consider the applicability and impact of all Accounting Standards Updates on the Company&#8217;s consolidated financial statements. Updates not listed below were assessed and determined to be either not applicable or are expected to have minimal impact on the Company&#8217;s consolidated financial position or results of operations. Recently issued Accounting Standards Updates that we feel may be applicable to the Company are as follows: </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Recently Issued Accounting Standard Updates &#8211; Adopted During the Period </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">On May&#160;21, 2020, the SEC announced that it would adopt amendments to the financial disclosure requirements for acquisitions and dispositions of businesses in Rules <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">3-05,</div> <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">3-14,</div> <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">8-04,</div> <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">8-05,</div> <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">8-06,</div> and Article 11 of Regulation <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">S-X,</div> all of which relate to financial statement disclosure requirements. In conjunction with the changes to amendments to these rules, the SEC also amended the significance tests in the &#8220;significant subsidiary&#8221; definition in Rule <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">1-02(w),</div> Securities Act Rule 405, and Exchange Act <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Rule&#160;12b-2</div> to improve their application and to assist registrants in making more meaningful determinations of whether a subsidiary or an acquired or disposed of business is significant. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Specific changes to the significance test include changes to the investment test component, which compares the registrant&#8217;s and its other subsidiaries&#8217; investment in and advances to the tested subsidiary to the registrant&#8217;s aggregate worldwide market value if available, instead of the registrant&#8217;s total assets on a consolidated basis under the unamended Rule. The amendments also changed the income test component by adding a revenue component to it. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The amendments are effective on January&#160;1, 2021. However, voluntary compliance with the final amendments was permitted in advance of the effective date. As a result of the 2020 acquisitions of EMT, NMS and ARTeSYN, the Company voluntarily adopted the amendments prior to their effective date and determined the acquired businesses are not significant subsidiaries and therefore no separate financial statements are required. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">In August 2018, the Financial Accounting Standards Board (&#8220;FASB&#8221;) issued Accounting Standards Update No. (&#8220;ASU&#8221;) <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2018-13,</div> <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Fair Value Measurement (Topic 820): Disclosure Framework &#8211; Changes to the Disclosure Requirements for Fair Value Measurement.&#8221; </div></div>ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2018-13</div> includes amendments that aim to improve the effectiveness of fair value measurement disclosures. The amendments in this guidance modify the disclosure requirements on fair value measurements based on the concepts in FASB Concepts Statement, <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Conceptual Framework for Financial Reporting&#8212;Chapter 8: Notes to Financial Statements</div></div>,<div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8221;</div></div> including the consideration of costs and benefits. The Company adopted ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2018-13</div> on January&#160;1, 2020. The adoption did not have a material impact on the Company&#8217;s consolidated financial statements as of and for the year ended December&#160;31, 2020. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">In August 2018, the FASB issued ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2018-15,</div> <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Intangibles &#8211; Goodwill and Other &#8211; <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Internal-Use</div> Software (Subtopic <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">350-40):</div> Customer&#8217;s Accounting for Implementation Costs Incurred in a Cloud Computing Arrangement That Is a Service Contract.&#8221; </div></div>ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2018-15</div> aligns the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">internal-use</div> software (and hosting arrangements that include an <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">internal-use</div> software license). The guidance also requires the entity to expense the capitalized implementation costs of a hosting arrangement that is a service contract </div></ix:nonNumeric></ix:continuation> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">87 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><ix:continuation id="TextSelectionAppend_18476264_12" continuedAt="TextSelectionAppend_18476264_13"><ix:continuation id="TextSelection_18476284" continuedAt="TextSelectionAppend_18476284_1"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">over the term of the hosting arrangement, which includes reasonably certain renewals. The Company adopted ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2018-13</div> on January&#160;1, 2020. The adoption did not have a material impact on the Company&#8217;s consolidated financial statements as of and for the year ended December&#160;31, 2020. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">In June 2016, the FASB issued ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2016-13,</div> &#8220;<div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Financial Instruments-Credit Losses (Topic 326).&#8221;</div></div> ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2016-13</div> significantly changes how entities will account for credit losses for most financial assets and certain other instruments that are not measured at fair value through net income. ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2016-13</div> replaces the existing incurred loss model with an expected credit loss model that requires entities to estimate an expected lifetime credit loss on most financial assets and certain other instruments, including short-term trade receivables and contract assets, and expands disclosure requirements for credit quality of financial assets. The Company adopted ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2016-13</div> on January&#160;1, 2020. The Company assessed all potential impacts that the adoption of this guidance has on its consolidated financial statements. Based on the composition of the Company&#8217;s investment portfolio, accounts receivable, current market conditions and historical credit loss activity, the adoption of ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2016-13</div> by the Company did not have a material impact on its consolidated financial position, results of operations or cash flows as of and for the year ended December&#160;31, 2020. The Company continues to monitor processes and controls for indications of an adjustment for future economic conditions at quarterly and annual reporting periods. See Note 6, <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Credit Losses,&#8221; </div></div>below for more information on the Company&#8217;s adoption of ASC 326. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">In November 2018, the FASB issued ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2018-18,</div> <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Collaborative Arrangements (Topic 808): Clarifying the Interaction between Topic 808 and Topic 606.&#8221; </div></div>ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2018-18</div> clarifies the interaction between Topic 808, <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Collaborative Arrangements,&#8221; </div></div>and Topic 606, <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Revenue from Contracts with Customers,&#8221; </div></div>by making targeted improvements to GAAP for collaborative arrangements and providing guidance on whether certain transactions between collaborative arrangement participants should be accounted for with revenue under Topic 606. This includes improving comparability in the presentation of revenue for certain transactions between collaborative arrangement participants by allowing presentation of the units of account in collaborative arrangements that are within the scope of Topic 606 together with revenue accounted for under Topic 606. The Company adopted ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2018-13</div> on January&#160;1, 2020. The adoption did not have a material impact on the Company&#8217;s consolidated financial statements as of and for the year ended December&#160;31, 2020. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">In December 2019, the FASB issued ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2019-12,</div> &#8220;<div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Income Taxes (Topic 740) &#8211; Simplifying the Accounting for Income Taxes.&#8221; </div></div>ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2019-12</div> simplifies the accounting for income taxes by removing certain exceptions to the general principles in Topic 740, including, but not limited to, the exception to the incremental approach for intraperiod tax allocation when there is a loss from continuing operations and income or a gain from other items, the exceptions related to the recognition of a deferred tax liability related to an equity method investment and the exception to methodology for calculating income taxes in an interim period when a <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">year-to-date</div></div> loss exceeds the anticipated loss for the year. The Company adopted ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2018-13</div> on January&#160;1, 2020. The adoption did not have a material impact on the Company&#8217;s consolidated financial statements as of and for the year ended December&#160;31, 2020. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Recently Issued Accounting Standard Updates &#8211; Not Yet Adopted </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">In August 2020, the FASB issued ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2020-06,</div> &#8220;<div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Debt&#8212;Debt with Conversion and Other Options (Subtopic <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">470-20)</div> and Derivatives and Hedging&#8212;Contracts in Entity</div></div><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8217;</div></div><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">s Own Equity (Subtopic <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">815-40).</div></div></div><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8221;</div></div> ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2020-06</div> simplifies the accounting for convertible debt instruments and convertible preferred stock by reducing the number of accounting models and the number of embedded conversion features that could be recognized separately from the primary contract. ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2020-06</div> also enhances transparency and improves disclosures for convertible instruments and earnings per share guidance. ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2020-06</div> is effective for annual reporting periods beginning after December&#160;15, 2021, including interim periods within those fiscal years. Early adoption is permitted, but no earlier than fiscal years beginning after December&#160;15, 2020. This update permits the use of either the modified retrospective or fully </div> </ix:continuation></ix:continuation> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">88 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><ix:continuation id="TextSelectionAppend_18476284_1"><ix:continuation id="TextSelectionAppend_18476264_13">retrospective method of transition. The Company is currently evaluating the timing and impact of the adoption of ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2020-06</div> on the Company&#8217;s consolidated financial statements.</ix:continuation></ix:continuation> </div> <div style="font-size: 18pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 18pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <ix:nonNumeric name="us-gaap:BusinessCombinationDisclosureTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true" continuedAt="TextSelection_18476254">
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">3.</div></div></td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Acquisitions </div></div><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;"> </div></div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">ARTeSYN Biosolutions Holdings Ireland Limited </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">On October&#160;27, 2020, the Company entered into an Equity and Asset Purchase Agreement with ARTeSYN, a company organized under the laws of Ireland, Third Creek Holdings, LLC, a Nevada limited liability company, Alphinity, LLC, a Nevada limited liability company (&#8220;Alphinity&#8221;, and together with Third Creek Holdings, LLC the &#8220;Sellers&#8221;), and Michael Gagne, solely in his capacity as the representative of the Sellers, pursuant to which the Company acquired (i)&#160;all of the outstanding equity securities of ARTeSYN and (ii)&#160;certain assets from Alphinity related to the business of ARTeSYN (collectively, the &#8220;ARTeSYN Acquisition&#8221;) for approximately $<ix:nonFraction name="us-gaap:BusinessCombinationConsiderationTransferred1" contextRef="P10_27_2020To10_27_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-6" scale="6" format="ixt:numdotdecimal">200</ix:nonFraction>&#160;million, comprised of approximately $<ix:nonFraction name="us-gaap:PaymentsToAcquireBusinessesGross" contextRef="P10_27_2020To10_27_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-6" scale="6" format="ixt:numdotdecimal">130</ix:nonFraction>&#160;million in cash to the Sellers and approximately $<ix:nonFraction name="us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" contextRef="P10_27_2020To10_27_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-6" scale="6" format="ixt:numdotdecimal">70</ix:nonFraction>&#160;million in Repligen common stock to Third Creek. The transaction closed on December&#160;3, 2020. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">ARTeSYN is headquartered in Waterford, Ireland and conducts its operations in Ireland, the United States and Estonia. Its suite of <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">single-use</div> solutions has been created with the goal of enabling &#8220;abundance in medicine&#8221; by allowing 10x greater efficiency in biologics manufacturing. The ARTeSYN team has created a number of solutions targeting the <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">single-use</div> space from <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">single-use</div> valves with fully disposable valve liners, XO<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> skeletal supports, a hybrid small parts offering for <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">de-bottlenecking</div> traditional facilities, and fully automated SU process systems that have quickly become leading solutions in the bioprocessing industry. In addition to its <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">single-use</div> solutions, ARTeSYN also engages in the manufacture of large-scale systems to be used for biologics manufacturing. ARTeSYN has established downstream processing leadership with a suite of state of the art <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">single-use</div> systems for chromatography, filtration, continuous manufacturing and media/buffer prep workflows. In addition, the Company has integrated unique flow path assemblies utilizing Engineered Molding Technology LLC&#8217;s (&#8220;EMT&#8221;) silicone extrusion and molding technology, to deliver highly differentiated, low <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">hold-up</div> volume systems that minimize product loss during processing. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Consideration Transferred </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">The ARTeSYN Acquisition was accounted for as a purchase of a business under ASC 805, <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Business Combinations&#8221;</div></div>. The ARTeSYN Acquisition was funded through payment of $<ix:nonFraction name="us-gaap:PaymentsToAcquireBusinessesGross" contextRef="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">130.7</ix:nonFraction>&#160;million in cash, as well as issuance of <ix:nonFraction name="us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" contextRef="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_shares" decimals="0" scale="0" format="ixt:numdotdecimal">372,990</ix:nonFraction> unregistered shares of the Company&#8217;s common stock totaling $<ix:nonFraction name="us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" contextRef="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">69.4</ix:nonFraction>&#160;million, contingent consideration of approximately $<ix:nonFraction name="us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred" contextRef="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">1.5</ix:nonFraction>&#160;million, and settlement of preexisting invoices with Repligen of approximately $<ix:nonFraction name="rgen:BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices" contextRef="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">2.3</ix:nonFraction>&#160;million, for a total purchase price of $<ix:nonFraction name="us-gaap:BusinessCombinationConsiderationTransferred1" contextRef="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">204.0</ix:nonFraction>&#160;million. Under the acquisition method of accounting, the assets acquired and liabilities assumed of ARTeSYN were recorded as of the acquisition date, at their respective fair values, and consolidated with those of Repligen. The fair value of the net tangible assets acquired is estimated to be $<ix:nonFraction name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets" contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">7.9</ix:nonFraction>&#160;million, the fair value of the intangible assets acquired is estimated to be $<ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">67.4</ix:nonFraction>&#160;million, and the residual goodwill is estimated to be $<ix:nonFraction name="us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue" contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">128.7</ix:nonFraction>&#160;<div style="display:inline;">million. The estimated consideration and preliminary purchase price information has been prepared using a preliminary valuation. The final purchase price allocation will be completed upon payment of final consideration for working capital and other adjustments. The final allocation may include changes to: (1)&#160;deferred revenue; (2)&#160;inventory; (3) deferred tax liabilities, net; (4)&#160;allocations to intangible assets such as tradenames, developed technology and customer relationships as well as goodwill; (5)&#160;final consideration paid related to working capital adjustments; and (6)&#160;other assets and liabilities. </div> </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The preparation of the valuation required the use of significant assumptions and estimates. Critical estimates included, but were not limited to, future expected cash flows, including projected revenues and </div></div></ix:nonNumeric> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">89 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> </div> <div><div style="text-align: center;"><div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><ix:continuation id="TextSelection_18476254" continuedAt="TextSelectionAppend_18476254_1"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">expenses, and the applicable discount rates. These estimates were based on assumptions that Repligen believes to be reasonable. However, actual results may differ from these estimates. </div></div> <ix:nonNumeric name="rgen:ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock" contextRef="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total consideration transferred is as follows (amounts in thousands): </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 81%; font-family: ARIAL;"></td>
<td style="width: 7%; vertical-align: bottom; font-family: ARIAL;"></td>
<td style="font-family: ARIAL;"></td>
<td style="font-family: ARIAL;"></td>
<td style="font-family: ARIAL;"></td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Cash consideration</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:CashConsiderationExcludingRestrictedCash" contextRef="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">130,713</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Equity consideration</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" contextRef="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">69,422</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Contingent consideration</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred" contextRef="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,548</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Settlement of preexisting liabilities</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices" contextRef="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">2,310</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Fair value of net assets acquired</div></div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">$</div></div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonFraction name="us-gaap:BusinessCombinationConsiderationTransferred1" contextRef="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">203,993</ix:nonFraction></div></div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table> </ix:nonNumeric> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Acquisition related costs are not included as a component of consideration transferred but are expensed in the periods in which the costs are incurred. The Company incurred $<ix:nonFraction name="us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" contextRef="PAsOn12_31_2020_SellingGeneralAndAdministrativeExpensesMemberusgaapIncomeStatementLocationAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">4.0</ix:nonFraction>&#160;million in transaction costs associated with the ARTeSYN acquisition in 2020. The transaction costs are included in selling, general and administrative expenses in the consolidated statements of comprehensive income. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The consideration transferred includes $<ix:nonFraction name="us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred" contextRef="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">1.5</ix:nonFraction>&#160;million </div><div style="letter-spacing: 0px; top: 0px;;display:inline;">related to consideration that was deferred at the acquisition date, with payment to the Sellers contingent upon recognizing revenue on a large-scale system within 120 days of the acquisition date. This consideration is recorded at its estimated fair value as of the acquisition date, which includes the assumption of high probability of such revenue being recognized. During the measurement period, which may be up to one year from the acquisition date, we may record adjustments to the assets acquired and liabilities assumed with the corresponding offset to goodwill. Upon conclusion of the measurement period or final determination of the values of assets acquired or liabilities assumed, whichever comes first, any subsequent adjustments are recorded to our consolidated statements of comprehensive income. </div><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"> </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Fair Value of Net Assets Acquired </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The preliminary allocation of purchase price is based on the fair value of assets acquired and liabilities assumed as of the acquisition date, based on the preliminary valuation. As additional information becomes available, the Company may further revise its preliminary purchase price allocation during the remainder of the measurement period (which will not exceed 12 months from December&#160;3, 2020). Any such revision or changes may be material. </div></div> </ix:continuation> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">90 </div></div> </div></div><div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div><hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/><div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div><div style="text-align: center;"><div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><ix:continuation id="TextSelectionAppend_18476254_1" continuedAt="TextSelectionAppend_18476254_2"><ix:nonNumeric name="us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" contextRef="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The components and estimated allocation of the purchase price consists of the following amounts (amounts in thousands): </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 81%; font-family: ARIAL;"></td>
<td style="width: 7%; vertical-align: bottom; font-family: ARIAL;"></td>
<td style="font-family: ARIAL;"></td>
<td style="font-family: ARIAL;"></td>
<td style="font-family: ARIAL;"></td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Cash and cash equivalents</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">2,982</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accounts receivable</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">4,811</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Inventory</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">8,592</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Prepaid expenses and other current assets</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">5,561</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Property and equipment</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,836</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease right of use asset</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,611</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Other noncurrent assets</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">26</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Customer relationships</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">38,400</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Developed technology</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">27,060</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Trademark and tradename</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis_TrademarksAndTradeNamesMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,630</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Non-competition</div> agreements</div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis_NoncompeteAgreementsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">300</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Goodwill</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:Goodwill" contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">128,658</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accounts payable</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">2,161</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accrued liabilities</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">8,856</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Deferred revenue</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityCurrent" contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">3,583</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Deferred tax liabilities, net</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilitiesCurrent" contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,240</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Notes payable</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesNotesPayable" contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">24</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease liability</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent" contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">417</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease liability, long-term</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent" contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">1,193</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Fair value of net assets acquired</div></div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">$</div></div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">203,993</ix:nonFraction></div></div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table> </ix:nonNumeric> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Acquired Goodwill </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The goodwill of $<ix:nonFraction name="us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue" contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis_GoodwillMemberusgaapFairValueByAssetClassAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">128.7</ix:nonFraction>&#160;million represents future economic benefits expected to arise from synergies from combining operations and commercial organizations to increase market presence and the extension of existing customer relationships. Substantially all of the goodwill recorded is expected to be deductible for income tax purposes. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Intangible Assets </div></div></div> <ix:nonNumeric name="us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" contextRef="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following table sets forth the components of the identified intangible assets associated with the ARTeSYN Acquisition and their estimated useful lives: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 51%;"></td>
<td style="width: 14%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 14%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Useful&#160;life</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Fair&#160;Value</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts&#160;in&#160;thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Customer relationships</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"><ix:nonNumeric name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" contextRef="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" format="ixt-sec:durwordsen">17 years</ix:nonNumeric></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">38,400</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Developed technology</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"><ix:nonNumeric name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" contextRef="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" format="ixt-sec:durwordsen">15 years</ix:nonNumeric></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">27,060</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Trademark and tradename</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"><ix:nonNumeric name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" contextRef="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis_TradeNamesMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" format="ixt-sec:durwordsen">21 years</ix:nonNumeric></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis_TradeNamesMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,630</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Non-competition</div> agreements</div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"><ix:nonNumeric name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" contextRef="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis_NoncompeteAgreementsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" format="ixt-sec:durwordsen">3 years</ix:nonNumeric></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis_NoncompeteAgreementsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">300</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">67,390</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table> </ix:nonNumeric> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The preliminary purchase price allocation is subject to adjustment as purchase accounting is finalized. The final purchase price allocation will be determined upon completion of final valuation analysis, and the fair value allocation of assets acquired and liabilities assumed could differ materially from the preliminary valuation analysis. The final allocation may include changes to: (1)&#160;deferred revenue; (2)&#160;inventory; (3) deferred tax liabilities, net; (4)&#160;allocations to intangible assets such as tradenames, developed technology and customer relationships as well as goodwill; (5)&#160;final consideration paid related to working capital adjustments; and (6)&#160;other assets and liabilities. </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"> </div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </ix:continuation> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">91 </div></div> </div></div><div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div><hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/><div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div><div style="text-align: center;"><div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><ix:continuation id="TextSelectionAppend_18476254_2" continuedAt="TextSelectionAppend_18476254_3"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Non-Metallic</div> Solutions, Inc. </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">On October&#160;15, 2020, the Company executed a Stock Purchase Agreement with <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Non-Metallic</div> Solutions, Inc. (&#8220;NMS&#8221;), a Massachusetts corporation, and each of William Mallone&#233; and Derek Masser, the legal and beneficial owners of NMS, to purchase NMS, which transaction subsequently closed on October&#160;20, 2020 (the &#8220;NMS Acquisition&#8221;). </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">NMS, headquartered in Auburn, Massachusetts, is a manufacturer of fabricated plastics, custom containers, and related assemblies and components used in the manufacturing of biologic drugs. The acquisition of NMS allows Repligen to expand its line of <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">single-use</div> systems and associated integrated flow path assemblies, streamline the supply chain for current products, and gives the Company more flexibility to scale and expand <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">single-use</div> and systems portfolios. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Consideration Transferred </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">The NMS Acquisition was accounted for as a purchase of a business under ASC 805, <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;</div></div><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Business Combinations.</div></div><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8221;</div></div><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;"> </div></div>Total consideration paid was $<ix:nonFraction name="us-gaap:BusinessCombinationConsiderationTransferred1" contextRef="P01_01_2020To12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">16.2</ix:nonFraction>&#160;million, which included $<ix:nonFraction name="rgen:BusinessCombinationsCashDepositedInEscrowAccount" contextRef="P01_01_2020To12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">1.3</ix:nonFraction>&#160;million deposited into an escrow account against which the Company may make claims for indemnification. As disclosed in the Quarterly Report on Form <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">10-Q</div> for the period ended June&#160;30, 2020, the Company voluntarily adopted the amendments to financial disclosure requirements around the significance tests in the &#8220;significant subsidiaries&#8221; definition in Rule <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">1-02(w),</div> Securities Act Rule 405, and Exchange Act Rule <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">12b-2.</div> As a result, the Company determined that NMS is not a significant subsidiary and therefore no separate financial statements are required. The fair value of the net tangible assets acquired is estimated to be approximately $<ix:nonFraction name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets" contextRef="PAsOn12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">0.9</ix:nonFraction>&#160;million, the fair value of the intangible assets acquired is estimated to be $<ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" contextRef="PAsOn12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">8.5</ix:nonFraction>&#160;million, and the residual goodwill is estimated to be approximately $<ix:nonFraction name="us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue" contextRef="PAsOn12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">6.8</ix:nonFraction>&#160;million. Acquisition-related costs are not included as a component of consideration transferred but are expensed in the periods in which costs are incurred. The Company incurred $<ix:nonFraction name="us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" contextRef="PAsOn12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">0.2</ix:nonFraction>&#160;million of acquisition-related costs associated with the NMS Acquisition in 2020. The transaction costs are included in selling, general and administrative expenses in the consolidated statements of comprehensive income. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Fair Value of Net Assets Acquired </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The preliminary allocation of purchase price is based on the fair value of assets acquired and liabilities assumed as of the acquisition date, based on the preliminary valuation. As additional information becomes available, the Company may further revise its preliminary purchase price allocation during the remainder of the measurement period (which will not exceed 12 months from October&#160;20, 2020). </div></div> </ix:continuation> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">92 </div></div> </div></div><div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div><hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/><div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div></div> <div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><ix:continuation id="TextSelectionAppend_18476254_3" continuedAt="TextSelectionAppend_18476254_4"><ix:nonNumeric name="us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" contextRef="P01_01_2020To12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The components and estimated allocation of the purchase price consist of the following amounts (amounts in thousands): </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 83%; font-family: ARIAL;"></td>
<td style="width: 7%; vertical-align: bottom; font-family: ARIAL;"></td>
<td style="font-family: ARIAL;"></td>
<td style="font-family: ARIAL;"></td>
<td style="font-family: ARIAL;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Cash and cash equivalents</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" contextRef="PAsOn12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,163</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accounts receivable</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" contextRef="PAsOn12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">415</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Inventory</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" contextRef="PAsOn12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">334</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Prepaid expenses and other current assets</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" contextRef="PAsOn12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">13</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Property and equipment</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" contextRef="PAsOn12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">73</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease right of use asset</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" contextRef="PAsOn12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">194</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Customer relationships</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" contextRef="PAsOn12_31_2020_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">6,370</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Developed technology</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" contextRef="PAsOn12_31_2020_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,810</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Trademark and tradename</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" contextRef="PAsOn12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis_TrademarksAndTradeNamesMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">190</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Non-competition</div> agreements</div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" contextRef="PAsOn12_31_2020_NoncompeteAgreementsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">90</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Goodwill</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:Goodwill" contextRef="PAsOn12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">6,784</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Deferred tax assets</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets" contextRef="PAsOn12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">24</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accounts payable</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" contextRef="PAsOn12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">96</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accrued liabilities</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" contextRef="PAsOn12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">999</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease liability</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent" contextRef="PAsOn12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">136</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease liability, long-term</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent" contextRef="PAsOn12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">59</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Fair value of net assets acquired</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">$</div></div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" contextRef="PAsOn12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">16,170</ix:nonFraction></div></div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> </ix:nonNumeric> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Acquired Goodwill </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The goodwill of $<ix:nonFraction name="us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue" contextRef="PAsOn12_31_2020_GoodwillMemberusgaapFairValueByAssetClassAxis_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">6.8</ix:nonFraction>&#160;million represents future economic benefits expected to arise from anticipated synergies from the integration of NMS. These synergies include certain cost savings, operating efficiencies and other strategic benefits projected to be achieved as a result of the NMS Acquisition. Substantially all of the goodwill recorded is expected to be deductible for income tax purposes. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Intangible Assets </div></div></div> <ix:nonNumeric name="us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" contextRef="P01_01_2020To12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following table sets forth the components of the identified intangible assets associated with the NMS Acquisition and their estimated useful lives: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 51%;"></td>
<td style="width: 15%; vertical-align: bottom;"></td>
<td></td>
<td style="white-space: nowrap;"></td>
<td></td>
<td style="width: 15%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0); white-space: nowrap;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Useful&#160;life</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Fair&#160;Value</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts&#160;in&#160;thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Customer relationships</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"><ix:nonNumeric name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" contextRef="P01_01_2020To12_31_2020_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis" format="ixt-sec:durwordsen">14 years</ix:nonNumeric></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" contextRef="PAsOn12_31_2020_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">6,370</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Developed technology</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"><ix:nonNumeric name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" contextRef="P01_01_2020To12_31_2020_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis" format="ixt-sec:durwordsen">12 years</ix:nonNumeric></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" contextRef="PAsOn12_31_2020_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,810</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Trademark and tradename</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"><ix:nonNumeric name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" contextRef="P01_01_2020To12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis_TradeNamesMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" format="ixt-sec:durwordsen">15 years</ix:nonNumeric></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" contextRef="PAsOn12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis_TradeNamesMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">190</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Non-competition</div> agreements</div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"><ix:nonNumeric name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" contextRef="P01_01_2020To12_31_2020_NoncompeteAgreementsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis" format="ixt-sec:durwordsen">3 years</ix:nonNumeric></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" contextRef="PAsOn12_31_2020_NoncompeteAgreementsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">90</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" contextRef="PAsOn12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">8,460</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> </ix:nonNumeric> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Engineered Molding Technology LLC </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">On July&#160;13, 2020, the Company completed the acquisition of <ix:nonFraction name="us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired" contextRef="PAsOn07_13_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_pure" decimals="2" scale="-2" format="ixt:numdotdecimal">100</ix:nonFraction>% of the membership interests of EMT, a New York limited liability company, pursuant to a Membership Interest Purchase Agreement, dated June&#160;26, 2020, by and among the Company, EMT, and each of Michael Pandori and Todd Etesse, the legal and beneficial owners of EMT (such acquisition, the &#8220;EMT Acquisition&#8221;). </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">EMT, headquartered in Clifton Park, New York, is an innovator and manufacturer of <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">single-use</div> silicone assemblies and components used in the manufacturing of biologic drugs. EMT&#8217;s standard and custom molding as well as their over-molded connectors and silicone tubing products are key components in </div> </ix:continuation> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">93 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><ix:continuation id="TextSelectionAppend_18476254_4" continuedAt="TextSelectionAppend_18476254_5"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">single-use</div> filtration and chromatography systems. EMT&#8217;s products will complement and expand Repligen&#8217;s <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">single-use</div> product offerings. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Consideration Transferred </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">The EMT Acquisition was accounted for as a purchase of a business under ASC 805, <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Business Combinations&#8221;. </div></div>Total consideration paid was $<ix:nonFraction name="us-gaap:BusinessCombinationConsiderationTransferred1" contextRef="P01_01_2020To12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">28.5</ix:nonFraction>&#160;million, which included $<ix:nonFraction name="rgen:BusinessCombinationConsiderationIndemnificationEscrow" contextRef="P01_01_2020To12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">2.2</ix:nonFraction>&#160;million deposited into an escrow account against which the Company may make claims for indemnification. Under the acquisition method of accounting, the net assets of EMT were recorded as of the acquisition date, at their respective fair values, and consolidated with those of Repligen. The fair value of the net tangible assets acquired is estimated to be approximately $<ix:nonFraction name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets" contextRef="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">1.5</ix:nonFraction>&#160;million, the fair value of the intangible assets acquired is estimated to be $<ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" contextRef="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">14.4</ix:nonFraction>&#160;million, and the residual goodwill is estimated to be approximately $<ix:nonFraction name="us-gaap:Goodwill" contextRef="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">12.6</ix:nonFraction>&#160;million. The estimated consideration and preliminary purchase price information have been prepared using a preliminary valuation. The preparation of the valuation required the use of significant assumptions and estimates. Critical estimates included, but were not limited to, future expected cash flows, including projected revenues and expenses, and the applicable discount rates. These estimates were based on assumptions that Repligen believes to be reasonable. However, actual results may differ from these estimates. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Acquisition-related costs are not included as a component of consideration transferred but are expensed in the periods in which the costs are incurred. The Company incurred $<ix:nonFraction name="us-gaap:BusinessCombinationAcquisitionRelatedCosts" contextRef="P01_01_2020To12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">1.2</ix:nonFraction>&#160;million of acquisition related costs associated with the EMT Acquisition in 2020. The transaction costs are included in selling, general and administrative expenses in the consolidated statements of comprehensive income. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Fair Value of Net Assets Acquired </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The preliminary allocation of purchase price is based on the fair value of assets acquired and liabilities assumed as of the acquisition date, based on the preliminary valuation. As additional information becomes available, the Company may further revise its preliminary purchase price allocation during the remainder of the measurement period (which will not exceed 12 months from July&#160;13, 2020). Any such revisions or changes may be material. <ix:nonNumeric name="us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" contextRef="P01_01_2020To12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis" escape="true" continuedAt="TextSelection_18476260">The components and allocation of the purchase price consist of the following amounts (amounts in thousands):</ix:nonNumeric> </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <ix:continuation id="TextSelection_18476260">
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 83%; font-family: ARIAL;"></td>
<td style="width: 7%; vertical-align: bottom; font-family: ARIAL;"></td>
<td style="font-family: ARIAL;"></td>
<td style="font-family: ARIAL;"></td>
<td style="font-family: ARIAL;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Cash and cash equivalents</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" contextRef="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">69</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accounts receivable</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" contextRef="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,057</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Inventory</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" contextRef="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">449</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Prepaid expenses and other current assets</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" contextRef="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">7</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Property and equipment</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" contextRef="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">472</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease right of use assets</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" contextRef="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,050</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Customer relationships</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" contextRef="PAsOn12_31_2020_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">11,080</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Developed technology</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" contextRef="PAsOn12_31_2020_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">2,910</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Trademark and tradename</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" contextRef="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis_TrademarksAndTradeNamesMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">320</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Non-compete</div> agreements</div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" contextRef="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis_NoncompeteAgreementsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">50</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Goodwill</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:Goodwill" contextRef="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">12,585</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accounts payable</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" contextRef="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">283</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accrued liabilities</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" contextRef="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">202</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease liability</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent" contextRef="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">211</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease liability, long-term</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent" contextRef="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">839</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Fair value of net assets acquired</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">$</div></div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" contextRef="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">28,514</ix:nonFraction></div></div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> </ix:continuation></ix:continuation> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">94 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><ix:continuation id="TextSelectionAppend_18476254_5" continuedAt="TextSelectionAppend_18476254_6"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Acquired Goodwill </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The goodwill of $<ix:nonFraction name="us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue" contextRef="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis_GoodwillMemberusgaapFairValueByAssetClassAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">12.6</ix:nonFraction>&#160;million represents future economic benefits expected to arise from anticipated synergies from the integration of EMT. These synergies include certain cost savings, operating efficiencies and other strategic benefits projected to be achieved as a result of the EMT Acquisition. Substantially all of the goodwill recorded is expected to be deductible for income tax purposes. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Intangible Assets </div></div></div> <ix:nonNumeric name="us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" contextRef="P01_01_2020To12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following table sets forth the components of the identified intangible assets associated with the EMT Acquisition and their estimated useful lives: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 51%;"></td>
<td style="width: 14%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 14%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Useful&#160;life</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Fair&#160;Value</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts&#160;in&#160;thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Customer relationships</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"><ix:nonNumeric name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" contextRef="P01_01_2020To12_31_2020_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis" format="ixt-sec:durwordsen">14 years</ix:nonNumeric></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" contextRef="PAsOn12_31_2020_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">11,080</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Developed technology</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"><ix:nonNumeric name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" contextRef="P01_01_2020To12_31_2020_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis" format="ixt-sec:durwordsen">11 years</ix:nonNumeric></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" contextRef="PAsOn12_31_2020_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">2,910</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Trademark and tradename</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"><ix:nonNumeric name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" contextRef="P01_01_2020To12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis_TradeNamesMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" format="ixt-sec:durwordsen">14 years</ix:nonNumeric></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" contextRef="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis_TradeNamesMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">320</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Non-competition</div> agreements</div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"><ix:nonNumeric name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" contextRef="P01_01_2020To12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis_NoncompeteAgreementsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" format="ixt-sec:durwordsen">3 years</ix:nonNumeric></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" contextRef="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis_NoncompeteAgreementsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">50</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" contextRef="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">14,360</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> </ix:nonNumeric> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Revenue, Net Income and Pro Forma Presentation </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company has included the operating results of our 2020 acquisitions of ARTeSYN, NMS and EMT in its consolidated statements of comprehensive income since their respective acquisition dates. The Company does not consider these acquisitions to be material to its consolidated statements of comprehensive income and therefore has not included pro forma results. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">C Technologies </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">On May&#160;31, 2019, Repligen acquired C Technologies, pursuant to the terms of a Stock Purchase Agreement (the &#8220;Agreement&#8221;), by and among Repligen, C Technologies and Craig Harrison, an individual and sole stockholder of C Technologies (such acquisition, the &#8220;C Technologies Acquisition&#8221;). </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Acquisition-related costs are not included as a component of consideration transferred but are expensed in the periods in which the costs are incurred. The Company incurred $<ix:nonFraction name="us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">4.0</ix:nonFraction>&#160;million in transaction costs in 2019. The transaction costs are included in selling, general and administrative expenses in the consolidated statements of comprehensive income. In connection with the transaction, an additional $<ix:nonFraction name="us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" contextRef="PAsOn12_31_2020_TrustForBenefitOfEmployeesMembersrtTitleOfIndividualAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">9.0</ix:nonFraction>&#160;million was paid to employees during the second quarter of 2020, based on their continued employment with the Company one year after the date of the close of the C Technologies Acquisition. The Company has recognized $<ix:nonFraction name="us-gaap:CompensationExpenseExcludingCostOfGoodAndServiceSold" contextRef="P01_01_2020To12_31_2020_TrustForBenefitOfEmployeesMembersrtTitleOfIndividualAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">3.7</ix:nonFraction>&#160;million of compensation expense associated with this amount due to employees in 2020 and has recognized $<ix:nonFraction name="us-gaap:CompensationExpenseExcludingCostOfGoodAndServiceSold" contextRef="P01_01_2020To12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis_TrustForBenefitOfEmployeesMembersrtTitleOfIndividualAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">9.0</ix:nonFraction>&#160;million of compensation expense associated with this amount due since the C Technologies Acquisition. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Fair Value of Net Assets Acquired </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The allocation of purchase price is based on the fair value of assets acquired and liabilities assumed as of the acquisition date, based on the preliminary valuation. The Company obtained this information during due diligence and through other sources. In the months after closing, the Company obtained additional information about these assets and liabilities as it learned more about C Technologies. The Company refined the estimates of fair value to more accurately allocate the purchase price. Only items identified as of the acquisition date were considered for subsequent adjustment. We made appropriate adjustments to the purchase price allocation during the measurement period, which was one year from </div></div> </ix:continuation> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">95 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> </div> <div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><ix:continuation id="TextSelectionAppend_18476254_6" continuedAt="TextSelectionAppend_18476254_7"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">the acquisition date. <ix:nonNumeric name="us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" contextRef="P01_01_2020To12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis" escape="true" continuedAt="TextSelection_18476262">The components and allocation of the purchase price consists of the following amounts (amounts in thousands):</ix:nonNumeric> </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <ix:continuation id="TextSelection_18476262">
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 81%; font-family: ARIAL;"></td>
<td style="width: 7%; vertical-align: bottom; font-family: ARIAL;"></td>
<td style="font-family: ARIAL;"></td>
<td style="font-family: ARIAL;"></td>
<td style="font-family: ARIAL;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Cash and cash equivalents</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" contextRef="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">3,795</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Restricted cash</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRestrictedCash" contextRef="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">26,933</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accounts receivable</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" contextRef="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">3,044</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Inventory</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" contextRef="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">3,783</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Prepaid expenses and other current assets</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" contextRef="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">93</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Fixed assets</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" contextRef="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">40</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease right of use asset</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" contextRef="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">3,836</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Customer relationships</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" contextRef="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">59,680</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Developed technology</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" contextRef="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">28,920</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Trademark and tradename</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" contextRef="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis_TrademarksAndTradeNamesMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,570</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Non-competition</div> agreements</div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" contextRef="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis_NoncompeteAgreementsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">660</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Goodwill</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:Goodwill" contextRef="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">142,314</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Deferred taxes</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets" contextRef="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">895</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accounts payable</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" contextRef="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">436</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accrued liabilities</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" contextRef="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">2,767</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accrued bonus</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedBonus" contextRef="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">26,928</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Deferred revenue</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityCurrent" contextRef="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,709</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease liability</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent" contextRef="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">51</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease liability, long-term</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent" contextRef="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">3,785</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Fair value of net assets acquired</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">$</div></div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" contextRef="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">239,887</ix:nonFraction></div></div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> </ix:continuation> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Acquired Goodwill </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">The goodwill of $<ix:nonFraction name="us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue" contextRef="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis_GoodwillMemberusgaapFairValueByAssetClassAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">142.3</ix:nonFraction>&#160;million represents future economic benefits expected to arise from synergies from combining operations and commercial organizations to increase market presence and the extension of existing customer relationships. Substantially all of the goodwill recorded is expected to be deductible for income tax purposes. Pursuant to the Company&#8217;s business combination accounting policy included in Note 2, <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Summary of Significant Accounting Policies &#8211; Business Combinations, Goodwill and Intangible Assets,&#8221;</div></div> the Company recorded goodwill adjustments for the effects on goodwill of changes to net assets acquired during the period that such change is identified, provided that any such change is within the measurement period (up to one year from the date of the acquisition). In March 2020, the Company recorded an adjustment to goodwill of $<ix:nonFraction name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" contextRef="P01_01_2020To12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">0.3</ix:nonFraction>&#160;million related to additional state income tax liabilities to be paid by the seller, which were incurred from the Company&#8217;s finalized 338(h)(10) tax election. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Revenue, Net Income and Pro Forma Presentation </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company recorded revenue from C Technologies of $<ix:nonFraction name="us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual" contextRef="P05_31_2019To12_31_2019_CTechnologiesMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">16.4</ix:nonFraction>&#160;million from May&#160;31, 2019, the date of acquisition, to December&#160;31, 2019. The Company recorded a net loss from C Technologies&#8217; results of operations of $<ix:nonFraction name="us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss" contextRef="P05_31_2019To12_31_2019_CTechnologiesMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">7.4</ix:nonFraction>&#160;million from May&#160;31, 2019 to December&#160;31, 2019. The Company has included the operating results of C Technologies in its consolidated statements of comprehensive income since the May&#160;31, 2019 acquisition date. The following pro forma financial information presents the combined results of operations of Repligen and C Technologies as if the acquisition had occurred on January&#160;1, 2019 after giving effect to certain pro forma adjustments. The pro forma adjustments reflected herein include only those adjustments that are directly attributable to the C Technologies Acquisition, factually supportable and have a recurring impact. These pro forma adjustments include amortization expense on the acquired identifiable intangible assets, adjustments to stock-based compensation expense for equity compensation issued to C Technologies employees and the income tax effect of the adjustments made. In </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </ix:continuation> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">96 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><ix:continuation id="TextSelectionAppend_18476254_7"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">addition, acquisition-related transaction costs and an accounting adjustment to record inventory at fair value were excluded from pro forma net income in 2019. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Prior to the C Technologies Acquisition, C Technologies did not generate monthly or quarterly financial statements that were prepared in accordance with GAAP. </div></div> <ix:nonNumeric name="us-gaap:BusinessAcquisitionProFormaInformationTextBlock" contextRef="P01_01_2020To12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following pro forma financial information does not reflect any adjustments for anticipated expense savings resulting from the acquisition and is not necessarily indicative of the operating results that would have actually occurred had the transaction been consummated on January&#160;1, 2019 or of future results (amounts in thousands, except per share data): </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 66%;"></td>
<td style="width: 6%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 6%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2018</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total revenue</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessAcquisitionsProFormaRevenue" contextRef="P01_01_2019To12_31_2019_CTechnologiesMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">279,434</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessAcquisitionsProFormaRevenue" contextRef="P01_01_2018To12_31_2018_CTechnologiesMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">217,739</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Net income</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss" contextRef="P01_01_2019To12_31_2019_CTechnologiesMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">23,394</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss" contextRef="P01_01_2018To12_31_2018_CTechnologiesMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">21,195</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Earnings per share:</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Basic</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessAcquisitionProFormaEarningsPerShareBasic" contextRef="P01_01_2019To12_31_2019_CTechnologiesMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">0.48</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessAcquisitionProFormaEarningsPerShareBasic" contextRef="P01_01_2018To12_31_2018_CTechnologiesMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">0.44</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Diluted</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessAcquisitionProFormaEarningsPerShareDiluted" contextRef="P01_01_2019To12_31_2019_CTechnologiesMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">0.48</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BusinessAcquisitionProFormaEarningsPerShareDiluted" contextRef="P01_01_2018To12_31_2018_CTechnologiesMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">0.43</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> </ix:nonNumeric></ix:continuation> <div style="font-size: 18pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 18pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <ix:nonNumeric name="us-gaap:LesseeOperatingLeasesTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true" continuedAt="TextSelection_18476248">
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">4.</div></div></td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Leases </div></div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">The Company is a lessee under leases of manufacturing facilities, office spaces, machinery, certain office equipment and vehicles. A majority of the Company&#8217;s leases are operating leases with remaining lease terms between one month and 10 years. Finance leases are immaterial to the Company&#8217;s consolidated financial statements. The Company determines if an arrangement qualifies as a lease and what type of lease it is at inception. The Company elected the package of practical expedients permitted under the transition guidance within the new lease standard, which among other things, allowed it to continue to account for existing leases based on the historical lease classification. The Company also elected the practical expedients to combine lease and <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-lease</div> components and to exclude right of use assets and lease liabilities for leases with an initial term of 12 months or less from the balance sheet. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Some of the lease agreements the Company enters into include Company options to either extend and/or early terminate the lease, the costs of which are included in the Company&#8217;s operating lease liabilities to the extent that such options are reasonably certain of being exercised. Leases with renewal options allow the Company to extend the lease term typically between 1 and 5 years per option, some of its leases have multiple options to extend. When determining if a renewal option is reasonably certain of being exercised, the Company considers several economic factors, including but not limited to, the significance of leasehold improvements incurred on the property, whether the asset is difficult to replace, underlying contractual obligations, or specific characteristics unique to that particular lease that would make it reasonably certain that the Company would exercise such options. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">As of December&#160;31, 2020 and 2019, operating lease right of use assets were $<ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">25.2</ix:nonFraction>&#160;million and $<ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">25.7</ix:nonFraction>&#160;million, respectively and operating lease liabilities were $<ix:nonFraction name="us-gaap:OperatingLeaseLiability" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">31.7</ix:nonFraction>&#160;million and $<ix:nonFraction name="us-gaap:OperatingLeaseLiability" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">30.6</ix:nonFraction>&#160;million, respectively. The Company acquired EMT, NMS and ARTeSYN in 2020 and entered into a number of automobile leases among others. As a result, the operating right of use asset and operating lease liability balances increased by a total of $<ix:nonFraction name="rgen:IncreaseDecreaseInOperatingLeaseLiabilities" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">3.0</ix:nonFraction>&#160;million in 2020 on their commencement dates. On July&#160;7, 2020, the Company entered into a First Amendment to the current lease agreement associated with our Marlborough, Massachusetts facility, to expand the existing premises by <ix:nonFraction name="us-gaap:AreaOfLand" contextRef="PAsOn07_07_2020_MarlboroughMassachusettsMemberusgaapPropertySubjectToOrAvailableForOperatingLeaseAxis" unitRef="Unit_sqft" decimals="0" scale="0" format="ixt:numdotdecimal">66,939</ix:nonFraction> square feet and in December 2020, the Second Amendment to the current lease agreement was signed<div style="display:inline;">,</div> changing the commencement date of the expansion lease from April&#160;1, 2021 to January&#160;1, 2021. As a result, the operating right of use asset and operating lease liability balances increased by a total of </div></div></ix:nonNumeric> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">97 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><ix:continuation id="TextSelection_18476248"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">approximately $<ix:nonFraction name="rgen:IncreaseDecreaseInOperatingLeaseLiabilities" contextRef="P07_07_2020To12_31_2020_MarlboroughMassachusettsMemberusgaapPropertySubjectToOrAvailableForOperatingLeaseAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal"><ix:nonFraction name="rgen:IncreaseDecreaseInRightOfUseAssets" contextRef="P07_07_2020To12_31_2020_MarlboroughMassachusettsMemberusgaapPropertySubjectToOrAvailableForOperatingLeaseAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">2.8</ix:nonFraction></ix:nonFraction>&#160;million. Amounts related to financing leases were immaterial. <ix:nonNumeric name="us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true" continuedAt="TextSelection_18476314">The maturities of the Company&#8217;s operating lease liabilities as of December&#160;31, 2020 are as follows (amounts in thousands):</ix:nonNumeric> </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <ix:continuation id="TextSelection_18476314">
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 68%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 82%; font-family: ARIAL;"></td>
<td style="width: 8%; vertical-align: bottom; font-family: ARIAL;"></td>
<td style="font-family: ARIAL;"></td>
<td style="font-family: ARIAL;"></td>
<td style="font-family: ARIAL;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; white-space: nowrap; padding-bottom: 1pt;"> <div style="font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: table-cell; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">As of December&#160;31, 2020</div></div></div> </td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Amount</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2021</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">7,007</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2022</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">5,732</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2023</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">4,614</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2024</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">4,162</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2025</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">3,653</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2026 and thereafter</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">12,949</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total future minimum lease payments</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">38,117</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Less: amount of lease payment representing interest</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">6,438</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total operating lease liabilities</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:OperatingLeaseLiability" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">31,679</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> </ix:continuation><ix:nonNumeric name="rgen:AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total operating lease liabilities included on the Company&#8217;s consolidated balance sheet are as follows (amounts in thousands): </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 70%;"></td>
<td style="width: 6%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 6%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease liability</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityCurrent" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">5,254</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityCurrent" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">3,557</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease liability, long-term</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityNoncurrent" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">26,425</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityNoncurrent" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">26,995</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Minimum operating lease payments</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:OperatingLeaseLiability" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">31,679</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:OperatingLeaseLiability" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">30,552</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> </ix:nonNumeric> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Lease expense for these leases is recognized on a straight-line basis over the lease term, with variable lease payments recognized in the period those payments are incurred. <ix:nonNumeric name="us-gaap:LeaseCostTableTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true" continuedAt="TextSelection_18476251">For the year ended December&#160;31, 2020 and 2019, total lease cost is comprised of the following:</ix:nonNumeric> </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <ix:continuation id="TextSelection_18476251">
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 8pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 74%;"></td>
<td style="width: 6%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 6%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For&#160;the&#160;Years&#160;Ended<br/> December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; white-space: nowrap; padding-bottom: 1pt;"> <div style="font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: table-cell; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Lease Cost</div></div></div> </td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in<br/> thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease cost</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:OperatingLeaseCost" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">5,645</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:OperatingLeaseCost" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">4,480</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Variable operating lease cost</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:VariableOperatingLeaseCost" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">2,033</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:VariableOperatingLeaseCost" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,480</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Lease cost</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:LeaseCost" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">7,678</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:LeaseCost" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">5,960</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> </ix:continuation><ix:nonNumeric name="rgen:ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following information represents supplemental disclosure for the consolidated statements of cash flows related to operating leases (amounts in thousands): </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 8pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 72%;"></td>
<td style="width: 6%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 6%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended<br/> December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease cost</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:OperatingLeasePayments" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">5,647</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:OperatingLeasePayments" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">4,004</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr> </table> </ix:nonNumeric> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Most of the leases do not provide implicit interest rates and therefore the Company determines the discount rate based on its incremental borrowing rate. The incremental borrowing rate for the Company&#8217;s leases is determined based on lease term and currency in which the lease payments are made. </div></div> <ix:nonNumeric name="rgen:ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The weighted average remaining lease term and the weighted average discount rate used to measure the Company&#8217;s operating lease liabilities as of December&#160;31, 2020 were: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 68%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 89%; font-family: ARIAL;"></td>
<td style="width: 5%; vertical-align: bottom; font-family: ARIAL;"></td>
<td style="font-family: ARIAL;"></td>
<td style="font-family: ARIAL;"></td>
<td style="font-family: ARIAL;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Weighted average remaining lease term (years)</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonNumeric name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" contextRef="PAsOn12_31_2020" format="ixt-sec:duryear">7.19</ix:nonNumeric></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Weighted average discount rate</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" contextRef="PAsOn12_31_2020" unitRef="Unit_pure" decimals="4" scale="-2" format="ixt:numdotdecimal">4.90</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td> </tr> </table> </ix:nonNumeric></ix:continuation> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">98 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> </div> <div><div style="text-align: center;"><div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><ix:nonNumeric name="us-gaap:RevenueFromContractWithCustomerTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true" continuedAt="TextSelection_18476244">
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">5.</div></div></td>
<td style="vertical-align: top;;text-align:left;"><div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Revenue Recognition </div></div></div></td></tr></table><div style="clear: both; max-height: 0px; background: none;"></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">The Company generates revenue from the sale of bioprocessing products, equipment devices, and related consumables used with these equipment devices to customers in the life science and biopharmaceutical industries. Under ASC 606, <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Revenue from Contracts with Customers,&#8221; </div></div>revenue is recognized when, or as, obligations under the terms of a contract are satisfied, which occurs when control of the promised products or services is transferred to customers. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Disaggregation of Revenue </div></div></div></div><ix:nonNumeric name="us-gaap:DisaggregationOfRevenueTableTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Revenue for the years ended December&#160;31, 2020, 2019 and 2018 was as follows (amounts in thousands, except percentages): </div></div><div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 8pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 61%;"></td>
<td style="width: 4%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 4%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 4%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2018</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Product revenue</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P01_01_2020To12_31_2020_ProductMembersrtProductOrServiceAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">366,136</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P01_01_2019To12_31_2019_ProductMembersrtProductOrServiceAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">270,097</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P01_01_2018To12_31_2018_ProductMembersrtProductOrServiceAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">193,891</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Royalty and other income</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P01_01_2020To12_31_2020_RoyaltyMembersrtProductOrServiceAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">124</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P01_01_2019To12_31_2019_RoyaltyMembersrtProductOrServiceAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">148</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P01_01_2018To12_31_2018_RoyaltyMembersrtProductOrServiceAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">141</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total revenue</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">366,260</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">270,245</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">194,032</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table></ix:nonNumeric><div style="clear: both; max-height: 0px; background: none;"></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">When disaggregating revenue, the Company considered all of the economic factors that may affect its revenues. Because all of its revenues are from bioprocessing customers, there are no differences in the nature, timing and uncertainty of the Company&#8217;s revenues and cash flows from any of its product lines. However, given that the Company&#8217;s revenues are generated in different geographic regions, factors such as regulatory and geopolitical factors within those regions could impact the nature, timing and uncertainty of the Company&#8217;s revenues and cash flows. In addition, a significant portion of the Company&#8217;s revenues are generated from two customers; therefore, economic factors specific to these two customers could impact the nature, timing and uncertainty of the Company&#8217;s revenues and cash flows. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">Disaggregated revenue from contracts with customers by geographic region can be found in Note 2., <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Summary of Significant Accounting Policies &#8211; Segment Reporting,&#8221;</div></div> above. </div><ix:nonNumeric name="rgen:ScheduleOfRevenueByMajorCustomersTableTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Revenue from significant customers that represent 10% or more of the Company&#8217;s total revenue is as follows (amounts in thousands): </div></div><div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 8pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 64%;"></td>
<td style="width: 4%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 4%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 4%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2018</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">MilliporeSigma</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P01_01_2020To12_31_2020_MilliporeSigmaMembersrtMajorCustomersAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">39,511</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P01_01_2019To12_31_2019_MilliporeSigmaMembersrtMajorCustomersAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">36,190</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P01_01_2018To12_31_2018_MilliporeSigmaMembersrtMajorCustomersAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">29,843</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Cytiva (formerly GE Healthcare)</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">N/A</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P01_01_2019To12_31_2019_CytivaMembersrtMajorCustomersAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">31,441</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P01_01_2018To12_31_2018_CytivaMembersrtMajorCustomersAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">29,616</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr></table></ix:nonNumeric><div style="clear: both; max-height: 0px; background: none;"></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Filtration Products </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">The Company&#8217;s filtration products generate revenue through the sale of KrosFlo<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> hollow fiber TFF systems, TangenX<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> flat sheet cassettes, Spectrum<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> hollow fiber filters, membranes and modules, XCell ATF<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> systems and related consumables. Supporting our systems, we also sell ProConnex<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">single-use</div> flow path assemblies and custom silicone-based, <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">single-use</div> flow path assemblies and components from EMT, NMS and ARTeSYN, three acquisitions completed in 2020. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company&#8217;s KrosFlo systems are used in the filtration, isolation, purification and concentration of biologics and diagnostic products. TFF is a rapid and efficient method for separation and purification of biomolecules that is widely used in laboratory, process development and process scale applications in biopharmaceutical manufacturing. Sales of large-scale systems generally include components and </div></div></ix:nonNumeric><div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div><div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">99 </div></div></div></div><div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div><hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/><div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div><div style="text-align: center;"><div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><ix:continuation id="TextSelection_18476244" continuedAt="TextSelectionAppend_18476244_1"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">consumables as well as training and installation services at the request of the customer. Because the initial sale of components and consumables is necessary for the operation of the system, such items are combined with the systems as a single performance obligation. Training and installation services do not significantly modify or customize these systems and therefore represent a distinct performance obligation. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company&#8217;s TangenX flat sheet cassettes (SIUS<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div>, SIUS Gamma<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> and PRO) are not highly interdependent on one another and are therefore considered distinct products that represent separate performance obligations. Product revenue from the sale of TangenX flat sheet cassettes is generally recognized at a point in time upon transfer of control of the customer. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">The Company&#8217;s other filtration product offerings are not highly interdependent of one another and are therefore considered distinct products that represent separate performance obligations. Revenue on these products is generally recognized at a point in time upon transfer of control to the customer. The Company invoices the customer for the installation and training services in an amount that directly corresponds with the value to the customer of the Company&#8217;s performance to date; therefore, revenue recognized is based on the amount billable to the customer in accordance with the practical expedient under ASC <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">606-10-55-18.</div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">The Company also markets the XCell ATF system, a technologically advanced filtration device used in upstream processes to continuously remove cellular metabolic waste products during the course of a fermentation run, freeing healthy cells to continue producing the biologic drug of interest. XCell ATF systems typically include a filtration system and consumables (i.e., tubing sets, metal stands) as well as training and installation services at the request of the customer. The filtration system and consumables are considered distinct products and therefore represent separate performance obligations. First time purchasers of the systems typically purchase a controller that is shipped with the tubing set(s) and metal stand(s). The controller is not considered distinct as it is a proprietary product that is highly interdependent with the filtration system; therefore, the controller is combined with the filtration system and accounted for as a single performance obligation. The training and installation services do not significantly modify or customize the XCell ATF system and therefore represent a distinct performance obligation. XCell ATF system product revenue related to the filtration system (including the controller if applicable) and consumables is generally recognized at a point in time upon transfer of control to the customer. XCell ATF system service revenue related to training and installation services is generally recognized over time, as the customer simultaneously receives and consumes the benefits as the Company performs. The Company invoices the customer for the installation and training services in an amount that directly corresponds with the value to the customer of the Company&#8217;s performance to date; therefore, revenue recognized is based on the amount billable to the customer in accordance with the practical expedient under ASC <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">606-10-55-18.</div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">On July&#160;13, 2020, the Company completed the EMT Acquisition and added EMT&#8217;s silicone-based, <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">single-use</div> components and manifolds to its filtration franchise. These products are key components in <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">single-use</div> filtration and chromatography systems and will help expand its line of <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">single-use</div> ProConnex flow paths, streamline its supply chain for ATF and provide more flexibility as the Company scales and expands its <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">single-use</div> and systems portfolios. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">On October&#160;20, 2020, the Company completed the NMS Acquisition and added their fabricated plastics, custom containers and related assemblies and components to its filtration franchise. These products will complement and expand Repligen&#8217;s <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">single-use</div> product offerings. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">On December&#160;3, 2020, the Company completed the ARTeSYN Acquisition and added its suite of <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">single-use</div> solutions with the goal of enabling &#8220;abundance of medicine&#8221; by allowing ten times greater efficiency in biologics manufacturing. </div></ix:continuation><div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div><div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">100 </div></div></div></div><div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div><hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/><div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div><div style="text-align: center;"><div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><ix:continuation id="TextSelectionAppend_18476244_1" continuedAt="TextSelectionAppend_18476244_2"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Chromatography Products </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">The Company&#8217;s chromatography products include a number of products used in the downstream purification and quality control of biological drugs. The majority of chromatography revenue relates to the OPUS<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">pre-packed</div> chromatography column line. OPUS columns are designed to be disposable following a production campaign. Each OPUS column is delivered <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">pre-packaged</div> with the customer&#8217;s choice of chromatography resin, which is either provided by the Company for the customer or customer supplied. In either scenario, the OPUS column and resin are not interdependent of one another and are therefore considered distinct products that represent separate performance obligations. Chromatography product revenue is generally recognized at a point in time upon transfer of control to the customer. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Process Analytics Products </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">The Process Analytics franchise generates revenue primarily through the sale of the SoloVPE and FlowVPE Slope Spectroscopy systems, consumables and service. These products complement and support the Company&#8217;s existing Filtration, Chromatography and Proteins franchises as they allow <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">end-users</div> to make <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">in-line</div> protein concentration measurements in filtration, chromatography and fill-finish applications, designed to allow for real-time process monitoring. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Protein Products </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company&#8217;s Protein franchise generates revenue through the sale of Protein A affinity ligands and growth factors. Protein A ligands are an essential component of Protein A chromatography resins (media) used in the purification of virtually all mAb-based drugs on the market or in development. The Company manufactures multiple forms of Protein A ligands under long-term supply agreements with major life sciences companies, who in turn sell their Protein A chromatography media to end users (biopharmaceutical manufacturers). The Company also manufactures growth factors for sale under long-term supply agreements with certain life sciences companies as well as for direct sales to its customers. Each protein product is considered distinct and therefore represents a separate performance obligation. Protein product revenue is generally recognized at a point in time upon transfer of control to the customer. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Other Products </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company&#8217;s other products include operating room products sold to hospitals. Other product revenue is generally recognized at a point in time upon transfer of control to the customer. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Transaction Price Allocated to Future Performance Obligations </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">Remaining performance obligations represent the transaction price of contracts for which work has not been performed or has been partially performed. The Company&#8217;s future performance obligations relate primarily to the installation and training of certain of its systems sold to customers. These performance obligations are completed within one year of receipt of a purchase order from its customers. Accordingly, the Company has elected to not disclose the value of these unsatisfied performance obligations as provided under ASC <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">606-10-50-14.</div></div></div> </div></ix:continuation><div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div><div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">101 </div></div></div></div><div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div><hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/><div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div></div> <div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><ix:continuation id="TextSelectionAppend_18476244_2"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Contract Balances from Contracts with Customers </div></div></div></div> <ix:nonNumeric name="us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following table provides information about receivables and deferred revenue from contracts with customers as of December&#160;31, 2020 (amounts in thousands): </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 76%;"></td>
<td style="width: 4%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 4%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Balances from contracts with customers only:</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accounts receivable</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">71,257</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">43,068</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Deferred revenue (included in accrued liabilities in the consolidated balance sheets)</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:DeferredRevenue" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">15,318</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:DeferredRevenue" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">5,005</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Revenue recognized during years presented relating to:</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The beginning deferred revenue balance</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ContractWithCustomerLiability" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">3,361</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ContractWithCustomerLiability" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">833</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Changes in pricing related to products or services satisfied in previous periods</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr> </table> </ix:nonNumeric> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The timing of revenue recognition, billings and cash collections results in the accounts receivable and deferred revenue balances on the Company&#8217;s consolidated balance sheets. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">A contract asset is created when the Company satisfies a performance obligation by transferring a promised good to the customer. Contract assets may represent conditional or unconditional rights to consideration. The right is conditional, and recorded as a contract asset if the Company must first satisfy another performance obligation in the contract before it is entitled to payment from the customer. Contract assets are transferred to billed receivables once the right becomes unconditional. If the Company has the unconditional right to receive consideration from the customer, the contract asset is accounted for as a billed receivable and presented separately from other contract assets. A right is unconditional if nothing other than the passage of time is required before payment of that consideration is due. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">When consideration is received, or such consideration is unconditionally due, from a customer prior to transferring goods or services to the customer under the terms of a contract, a contract liability is recorded. Contract liabilities are recognized as revenue after control of the products or services is transferred to the customer and all revenue recognition criteria have been met. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Costs to Obtain or Fulfill a Customer Contract </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company&#8217;s sales commission structure is based on achieving revenue targets. The commissions are driven by revenue derived from customer purchase orders which are short term in nature. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">Applying the practical expedient in paragraph <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">340-40-25-4,</div></div></div> the Company recognizes the incremental costs of obtaining contracts as an expense when incurred if the amortization period of the assets that the Company otherwise would have recognized is one year or less. These costs are included in selling, general, and administrative expenses in our consolidated statement of comprehensive income. When shipping and handling costs are incurred after a customer obtains control of the products, the Company accounts for these as costs to fulfill the promise and not as a separate performance obligation. </div> </ix:continuation> <div style="font-size: 18pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 18pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <ix:nonNumeric name="us-gaap:CreditLossFinancialInstrumentTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true" continuedAt="TextSelection_18476242">
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">6.</div></div></td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Credit Losses </div></div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">Effective January&#160;1, 2020, the Company adopted ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2016-13,</div> <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Financial Instruments &#8211; Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments,&#8221;</div></div> prospectively. ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2016-13</div> replaces the incurred loss impairment model with an expected credit loss impairment model for financial instruments, including trade receivables. The guidance requires entities to consider forward-looking information to estimate expected credit losses, resulting in earlier recognition of losses for receivables that are current or not yet due. Upon adoption, changes in the allowance were not material for the transition period starting January&#160;1, 2020 through December&#160;31, 2020. </div></ix:nonNumeric> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">102 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><ix:continuation id="TextSelection_18476242"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company is exposed to credit losses primarily through sales of products and services. The Company&#8217;s expected loss allowance methodology for accounts receivable is developed using historical collection experience, current and future economic and market conditions and a review of the current status of customers&#8217; trade accounts receivable. Customers are pooled based on sharing specific risk factors, including geographic location. Due to the short-term nature of such receivables, the estimated accounts receivable that may not be collected is based on aging of the accounts receivable balances. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Customers are assessed for credit worthiness upfront through a credit review, which includes assessment based on the Company&#8217;s analysis of their financial statements when a credit rating is not available. The Company evaluates contract terms and conditions, country and political risk, and may require prepayment to mitigate risk of loss. Specific allowance amounts are established to record the appropriate provision for customers that have a higher probability of default. The Company monitors changes to the receivables balance on a timely basis, and balances are written off as they are determined to be uncollectable after all collection efforts have been exhausted. Estimates of potential credit losses are used to determine the allowance. It is based on assessment of anticipated payment and all other historical, current and future information that is reasonably available. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The accounts receivable balance on the Company&#8217;s consolidated balance sheet as of December&#160;31, 2020 was $<ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">71.3</ix:nonFraction>&#160;million, net of $<ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">0.8</ix:nonFraction>&#160;million of allowances. <ix:nonNumeric name="us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true" continuedAt="TextSelection_18476243">The following table provides a roll-forward of the allowance for credit losses in 2020 that is deducted from the amortized cost basis of accounts receivable to present the net amount expected to be collected (amounts in thousands):</ix:nonNumeric> </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <ix:continuation id="TextSelection_18476243">
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 91%;"></td>
<td style="width: 4%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Balance at January&#160;1, 2020</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">(<ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivable" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">525</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Current period change for expected credit losses</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">(<ix:nonFraction name="us-gaap:ProvisionForDoubtfulAccounts" contextRef="P01_01_2020To03_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">133</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Balance at March&#160;31, 2020</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">(<ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivable" contextRef="PAsOn03_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">658</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Current period change for write-offs</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs" contextRef="P04_01_2020To06_30_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">37</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Current period change for expected credit losses</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ProvisionForDoubtfulAccounts" contextRef="P04_01_2020To06_30_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">83</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Balance at June&#160;30, 2020</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">(<ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivable" contextRef="PAsOn06_30_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">538</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Current period change for expected credit losses</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">(<ix:nonFraction name="us-gaap:ProvisionForDoubtfulAccounts" contextRef="P07_01_2020To09_30_2020" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">83</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Balance at September&#160;30, 2020</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">(<ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivable" contextRef="PAsOn09_30_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">621</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Current period change for write-offs</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs" contextRef="P10_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">65</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Current period change for expected credit losses</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">(<ix:nonFraction name="us-gaap:ProvisionForDoubtfulAccounts" contextRef="P10_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">206</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Balance at December&#160;31, 2020</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">(<ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivable" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">762</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> </ix:continuation></ix:continuation> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">103 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><ix:nonNumeric name="us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true" continuedAt="TextSelection_18476238">
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">7.</div></div></td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Goodwill and Intangible Assets </div></div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Goodwill </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Goodwill represents the difference between the purchase price and the estimated fair value of identifiable assets acquired and liabilities assumed. Goodwill acquired in a business combination and determined to have an indefinite useful life is not amortized, but instead is tested for impairment at least annually in accordance with ASC 350. <ix:nonNumeric name="us-gaap:ScheduleOfGoodwillTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true" continuedAt="TextSelection_18476241">The following table represents the changes in the carrying value of goodwill for the years ended December&#160;31, 2020 and 2019 (amounts in thousands):</ix:nonNumeric> </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <ix:continuation id="TextSelection_18476241">
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 86%; font-family: ARIAL;"></td>
<td style="width: 5%; vertical-align: bottom; font-family: ARIAL;"></td>
<td style="font-family: ARIAL;"></td>
<td style="font-family: ARIAL;"></td>
<td style="font-family: ARIAL;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Balance as of December&#160;31, 2018</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:Goodwill" contextRef="PAsOn12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">326,735</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Acquisition of C Technologies</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:GoodwillAcquiredDuringPeriod" contextRef="P01_01_2019To12_31_2019_CTechnologiesMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">142,021</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Cumulative translation adjustment</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">343</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Balance as of December&#160;31, 2019</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:Goodwill" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">468,413</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Measurement period adjustment - C Technologies</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:GoodwillAcquiredDuringPeriod" contextRef="P01_01_2020To12_31_2020_SpectrumIncMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">293</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Acquisition of EMT</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:GoodwillAcquiredDuringPeriod" contextRef="P01_01_2020To12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">12,585</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Acquisition of NMS</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:GoodwillAcquiredDuringPeriod" contextRef="P01_01_2020To12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">6,784</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Acquisition of ARTeSYN</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:GoodwillAcquiredDuringPeriod" contextRef="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">128,658</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Cumulative translation adjustment</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">1,572</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Balance as of December&#160;31, 2020</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:Goodwill" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">618,305</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> </ix:continuation> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">During each of the fourth quarters of 2020, 2019 and 2018, the Company completed its annual impairment assessments and concluded that goodwill was not impaired in any of those years. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Intangible Assets </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Intangible assets with a definitive life are amortized over their useful lives using the straight-line method, and the amortization expense is recorded within cost of product revenue and selling, general and administrative expense in the Company&#8217;s consolidated statements of comprehensive income. Intangible assets and their related useful lives are reviewed at least annually to determine if any adverse conditions exist that would indicate the carrying value of these assets may not be recoverable. More frequent impairment assessments are conducted if certain conditions exist, including a change in the competitive landscape, any internal decisions to pursue new or different technology strategies, a loss of a significant customer, or a significant change in the marketplace, including changes in the prices paid for the Company&#8217;s products or changes in the size of the market for the Company&#8217;s products. If impairment indicators are present, the Company determines whether the underlying intangible asset is recoverable through estimated future undiscounted cash flows. If the asset is not found to be recoverable, it is written down to the estimated fair value of the asset based on the sum of the future discounted cash flows expected to result from the use and disposition of the asset. If the estimate of an intangible asset&#8217;s remaining useful life is changed, the remaining carrying amount of the intangible asset is amortized prospectively over the revised remaining useful life. The Company continues to believe that its definite-lived intangible assets are recoverable at December&#160;31, 2020. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Indefinite-lived intangible assets are tested for impairment at least annually. There has been no impairment of our intangible assets for the periods presented. </div></div></ix:nonNumeric> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">104 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> </div> <div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><ix:continuation id="TextSelection_18476238" continuedAt="TextSelectionAppend_18476238_1"><ix:nonNumeric name="rgen:ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true" continuedAt="TextSelection_18476239"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Intangible assets, net consisted of the following at December&#160;31, 2020: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 45%;"></td>
<td style="width: 6%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 6%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 6%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 6%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="14" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31, 2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Gross</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Carrying</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Value</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Accumulated</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Amortization</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Net</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Carrying</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Value</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Weighted</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Average</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Useful&#160;Life</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(in years)</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Finite-lived intangible assets:</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Technology - developed</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="PAsOn12_31_2020_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">114,217</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="PAsOn12_31_2020_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">14,444</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="PAsOn12_31_2020_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">99,773</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonNumeric name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" contextRef="P01_01_2020To12_31_2020_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" format="ixt-sec:duryear">17</ix:nonNumeric></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Patents</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="PAsOn12_31_2020_PatentsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">240</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="PAsOn12_31_2020_PatentsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">240</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonNumeric name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" contextRef="P01_01_2020To12_31_2020_PatentsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" format="ixt-sec:duryear">8</ix:nonNumeric></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Customer relationships</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="PAsOn12_31_2020_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">217,790</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="PAsOn12_31_2020_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">37,333</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="PAsOn12_31_2020_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">180,457</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonNumeric name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" contextRef="P01_01_2020To12_31_2020_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" format="ixt-sec:duryear">16</ix:nonNumeric></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Trademarks</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="PAsOn12_31_2020_TrademarksMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">5,893</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="PAsOn12_31_2020_TrademarksMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">541</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="PAsOn12_31_2020_TrademarksMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">5,352</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonNumeric name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" contextRef="P01_01_2020To12_31_2020_TrademarksMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" format="ixt-sec:duryear">20</ix:nonNumeric></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Other intangibles</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="PAsOn12_31_2020_OtherIntangibleAssetsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">2,142</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="PAsOn12_31_2020_OtherIntangibleAssetsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,324</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="PAsOn12_31_2020_OtherIntangibleAssetsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">818</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonNumeric name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" contextRef="P01_01_2020To12_31_2020_OtherIntangibleAssetsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" format="ixt-sec:duryear">3</ix:nonNumeric></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total finite-lived intangible assets</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">340,282</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">53,882</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">286,400</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonNumeric name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" contextRef="P01_01_2020To12_31_2020" format="ixt-sec:duryear">16</ix:nonNumeric></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Indefinite-lived intangible asset:</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Trademarks</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill" contextRef="PAsOn12_31_2020_TrademarksMemberusgaapIndefiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">700</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:IndefiniteLivedIntangibleAssetsNet" contextRef="PAsOn12_31_2020_TrademarksMemberusgaapIndefiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">700</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total intangible assets</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IntangibleAssetsGrossExcludingGoodwill" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">340,982</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="rgen:IndefiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">53,882</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IntangibleAssetsNetExcludingGoodwill" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">287,100</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr> </table> </ix:nonNumeric> <ix:continuation id="TextSelection_18476239"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Intangible assets consisted of the following at December&#160;31, 2019: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 45%;"></td>
<td style="width: 6%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 6%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 6%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 6%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="14" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31, 2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Gross</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Carrying</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Value</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Accumulated</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Amortization</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Net</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Carrying</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Value</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Weighted</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Average</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Useful&#160;Life</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(in years)</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Finite-lived intangible assets:</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Technology - developed</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="PAsOn12_31_2019_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">82,169</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="PAsOn12_31_2019_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">9,669</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="PAsOn12_31_2019_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">72,500</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonNumeric name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" contextRef="P01_01_2019To12_31_2019_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" format="ixt-sec:duryear">19</ix:nonNumeric></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Patents</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="PAsOn12_31_2019_PatentsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">240</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="PAsOn12_31_2019_PatentsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">240</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonNumeric name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" contextRef="P01_01_2019To12_31_2019_PatentsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" format="ixt-sec:duryear">8</ix:nonNumeric></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Customer relationships</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="PAsOn12_31_2019_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">160,825</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="PAsOn12_31_2019_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">25,642</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="PAsOn12_31_2019_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">135,183</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonNumeric name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" contextRef="P01_01_2019To12_31_2019_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" format="ixt-sec:duryear">15</ix:nonNumeric></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Trademarks</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="PAsOn12_31_2019_TrademarksMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">3,752</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="PAsOn12_31_2019_TrademarksMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">333</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="PAsOn12_31_2019_TrademarksMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">3,419</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonNumeric name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" contextRef="P01_01_2019To12_31_2019_TrademarksMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" format="ixt-sec:duryear">20</ix:nonNumeric></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Other intangibles</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="PAsOn12_31_2019_OtherIntangibleAssetsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,697</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="PAsOn12_31_2019_OtherIntangibleAssetsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">947</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="PAsOn12_31_2019_OtherIntangibleAssetsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">750</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonNumeric name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" contextRef="P01_01_2019To12_31_2019_OtherIntangibleAssetsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis" format="ixt-sec:duryear">3</ix:nonNumeric></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total finite-lived intangible assets</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">248,683</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">36,831</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">211,852</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonNumeric name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" contextRef="P01_01_2019To12_31_2019" format="ixt-sec:duryear">16</ix:nonNumeric></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Indefinite-lived intangible asset:</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Trademarks</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill" contextRef="PAsOn12_31_2019_TrademarksMemberusgaapIndefiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">700</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:IndefiniteLivedIntangibleAssetsNet" contextRef="PAsOn12_31_2019_TrademarksMemberusgaapIndefiniteLivedIntangibleAssetsByMajorClassAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">700</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total intangible assets</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IntangibleAssetsGrossExcludingGoodwill" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">249,383</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="rgen:IndefiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">36,831</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IntangibleAssetsNetExcludingGoodwill" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">212,552</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr> </table> </ix:continuation> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </ix:continuation> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">105 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><ix:continuation id="TextSelectionAppend_18476238_1"><ix:nonNumeric name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Amortization expense for finite-lived intangible assets was $<ix:nonFraction name="us-gaap:AmortizationOfIntangibleAssets" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">16.1</ix:nonFraction>&#160;million, $<ix:nonFraction name="us-gaap:AmortizationOfIntangibleAssets" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">13.6</ix:nonFraction>&#160;million and $<ix:nonFraction name="us-gaap:AmortizationOfIntangibleAssets" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">10.6</ix:nonFraction>&#160;million for the years ended December&#160;31, 2020, 2019 and 2018, respectively. As of December&#160;31, 2020, the Company expects to record the following amortization expense (amounts in thousands): </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 80%; font-family: ARIAL;"></td>
<td style="width: 9%; vertical-align: bottom; font-family: ARIAL;"></td>
<td style="font-family: ARIAL;"></td>
<td style="font-family: ARIAL;"></td>
<td style="font-family: ARIAL;"></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; white-space: nowrap; padding-bottom: 1pt;"> <div style="font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: table-cell; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">For the Years Ended December&#160;31,</div></div></div> </td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Estimated<br/> Amortization<br/> Expense</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2021</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">20,767</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2022</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">20,765</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2023</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">20,648</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2024</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">20,080</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2025</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">19,813</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2026 and thereafter</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">184,327</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">286,400</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> </ix:nonNumeric></ix:continuation> <div style="font-size: 18pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 18pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <ix:nonNumeric name="us-gaap:SupplementalBalanceSheetDisclosuresTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true" continuedAt="TextSelection_18476237">
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">8.</div></div></td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Consolidated Balance Sheet Detail </div></div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Inventories, net </div></div></div></div> <ix:nonNumeric name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Inventories, net consists of the following: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 70%;"></td>
<td style="width: 6%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 6%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts&#160;in&#160;thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Raw materials</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:InventoryRawMaterialsNetOfReserves" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">48,746</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:InventoryRawMaterialsNetOfReserves" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">29,328</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Work-in-process</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:InventoryWorkInProcessNetOfReserves" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">8,084</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:InventoryWorkInProcessNetOfReserves" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">8,360</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Finished products</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:InventoryFinishedGoodsNetOfReserves" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">38,195</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:InventoryFinishedGoodsNetOfReserves" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">17,144</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total inventories, net</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">95,025</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">54,832</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> </ix:nonNumeric> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Prepaid Expenses and Other Current Assets </div></div></div></div> <ix:nonNumeric name="us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Prepaid expenses and other current assets consist of the following: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 72%;"></td>
<td style="width: 6%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 6%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts&#160;in&#160;thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Equipment maintenance and services</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:PrepaidServicesAndProfessionalFees" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">4,601</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:PrepaidServicesAndProfessionalFees" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,662</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Prepaid income taxes</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:PrepaidTaxes" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">2,649</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:PrepaidTaxes" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">2,719</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Prepaid insurance</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:PrepaidInsurance" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,936</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:PrepaidInsurance" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">80</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Other</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:OtherAssetsCurrent" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">9,490</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:OtherAssetsCurrent" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,456</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total prepaid expenses and other current assets</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">18,676</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">5,917</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> </ix:nonNumeric> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div></ix:nonNumeric> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">106 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><ix:continuation id="TextSelection_18476237"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Property, Plant and Equipment </div></div></div></div> <ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Property, plant and equipment consist of the following: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 68%;"></td>
<td style="width: 7%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 7%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Land</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:Land" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,023</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:Land" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,023</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Buildings</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BuildingsAndImprovementsGross" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,007</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:BuildingsAndImprovementsGross" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">764</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Leasehold improvements</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:LeaseholdImprovementsGross" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">31,331</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:LeaseholdImprovementsGross" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">23,905</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Equipment</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:MachineryAndEquipmentGross" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">43,072</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:MachineryAndEquipmentGross" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">36,257</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Furniture, fixtures and office equipment</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:FurnitureAndFixturesGross" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">8,714</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:FurnitureAndFixturesGross" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">6,312</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Computer hardware and software</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:CapitalizedComputerSoftwareGross" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">15,397</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:CapitalizedComputerSoftwareGross" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">8,810</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Construction in progress</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ConstructionInProgressGross" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">14,927</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ConstructionInProgressGross" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">6,707</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Other</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentOther" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">455</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentOther" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">56</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total property, plant and equipment</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">115,926</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">83,834</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Less - Accumulated depreciation</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">49,056</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">(<ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">35,379</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total property, plant and equipment, net</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">66,870</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">48,455</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> </ix:nonNumeric> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Depreciation expense totaled $<ix:nonFraction name="us-gaap:Depreciation" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">10.9</ix:nonFraction>&#160;million, $<ix:nonFraction name="us-gaap:Depreciation" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">7.3</ix:nonFraction>&#160;million and $<ix:nonFraction name="us-gaap:Depreciation" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">5.2</ix:nonFraction>&#160;million in the fiscal years ended December&#160;31, 2020, 2019 and 2018, respectively. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Accrued Liabilities </div></div></div></div> <ix:nonNumeric name="us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accrued liabilities consist of the following: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 70%;"></td>
<td style="width: 6%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 6%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts&#160;in&#160;thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Employee compensation</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:EmployeeRelatedLiabilitiesCurrent" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">20,288</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:EmployeeRelatedLiabilitiesCurrent" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">19,850</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Income taxes payable</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:AccruedIncomeTaxesCurrent" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,423</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:AccruedIncomeTaxesCurrent" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">3,874</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Royalty and license fees</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:AccruedRoyaltiesCurrent" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">466</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:AccruedRoyaltiesCurrent" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">123</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Warranties</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ProductWarrantyAccrualClassifiedCurrent" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,576</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ProductWarrantyAccrualClassifiedCurrent" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,500</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Professional fees</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:AccruedProfessionalFeesCurrent" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,425</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:AccruedProfessionalFeesCurrent" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,081</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Deferred revenue</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:DeferredRevenueCurrent" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">15,318</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:DeferredRevenueCurrent" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">5,005</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Other</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:OtherAccruedLiabilitiesCurrent" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">12,589</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:OtherAccruedLiabilitiesCurrent" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,898</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total accrued liabilities</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:AccruedLiabilitiesCurrent" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">53,085</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:AccruedLiabilitiesCurrent" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">33,331</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> </ix:nonNumeric></ix:continuation><ix:nonNumeric name="us-gaap:IncomeTaxDisclosureTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true" continuedAt="TextSelection_18476217"><div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt; text-indent: 0px;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">9.</div></div></td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Income Taxes </div></div></div> </td> </tr> </table> <ix:nonNumeric name="us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The components of income before income taxes are as follows: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 8pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 70%;"></td>
<td style="width: 3%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 3%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 3%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For&#160;the&#160;Years&#160;Ended&#160;December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2020&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2019&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2018&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Domestic</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">27,545</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">5,432</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">73</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Foreign</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">31,672</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">31,583</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">21,509</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Income before income taxes</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">59,217</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">26,151</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">21,436</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> </ix:nonNumeric></ix:nonNumeric> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">107 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> </div> <div><div style="text-align: center;"><div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><ix:continuation id="TextSelection_18476217" continuedAt="TextSelectionAppend_18476217_1"><ix:nonNumeric name="us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The components of the income tax provision are as follows: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 69%;"></td>
<td style="width: 4%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 4%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 4%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For&#160;the&#160;Years&#160;Ended&#160;December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2020&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2019&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2018&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Components of the income tax (benefit) provision:</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Current</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:CurrentIncomeTaxExpenseBenefit" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">5,193</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:CurrentIncomeTaxExpenseBenefit" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">8,290</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:CurrentIncomeTaxExpenseBenefit" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">4,354</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Deferred</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="rgen:ProvisionForDeferredIncomeTaxExpenseBenefit" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">5,902</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="rgen:ProvisionForDeferredIncomeTaxExpenseBenefit" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">5,287</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:ProvisionForDeferredIncomeTaxExpenseBenefit" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">465</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Equity</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,737</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">709</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">4,740</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">4,819</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Jurisdictional components of the income tax (benefit) provision:</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Federal</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">4,741</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">965</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">393</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">State</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperations" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">3,011</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperations" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">1,764</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperations" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">718</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Foreign</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperations" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">7,043</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperations" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">7,469</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperations" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">4,494</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">709</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">4,740</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">4,819</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table> </ix:nonNumeric> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">During 2020, the Company generated $<ix:nonFraction name="us-gaap:OperatingLossCarryforwards" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">4.0</ix:nonFraction>&#160;million in federal net operating losses and $<ix:nonFraction name="us-gaap:OperatingLossCarryforwards" contextRef="PAsOn12_31_2020_StateAndLocalJurisdictionMemberusgaapIncomeTaxAuthorityAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">1.1</ix:nonFraction>&#160;million in state net operating losses. At December&#160;31, 2020, the </div><div style="letter-spacing: 0px; top: 0px;;display:inline;">Company had federal net operating loss carryforwards of </div><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">$<ix:nonFraction name="us-gaap:OperatingLossCarryforwards" contextRef="PAsOn12_31_2020_FederalAndStateMemberusgaapIncomeTaxAuthorityAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">2.9</ix:nonFraction>&#160;million and state net operating loss carryforwards of $<ix:nonFraction name="us-gaap:TaxCreditCarryforwardAmount" contextRef="PAsOn12_31_2020_DomesticCountryMemberusgaapIncomeTaxAuthorityAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">3.5</ix:nonFraction>&#160;million. The federal net operating loss carryforwards do not expire while the state net operating loss carryforwards will expire<div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div><ix:nonNumeric name="us-gaap:OtherInformationPertainingToIncomeTaxes" contextRef="P01_01_2020To12_31_2020_LatestTaxYearMemberusgaapTaxPeriodAxis">at various dates through December 2040.</ix:nonNumeric><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div>At December&#160;31, 2020, the Company had federal business tax credits carryforwards of $<ix:nonFraction name="us-gaap:TaxCreditCarryforwardAmount" contextRef="PAsOn12_31_2020_DomesticCountryMemberusgaapIncomeTaxAuthorityAxis_TaxYear2040MemberusgaapTaxPeriodAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">6.2</ix:nonFraction>&#160;million and state business tax credits carryforwards of $<ix:nonFraction name="us-gaap:TaxCreditCarryforwardAmount" contextRef="PAsOn12_31_2020_StateAndLocalJurisdictionMemberusgaapIncomeTaxAuthorityAxis_TaxYear2040MemberusgaapTaxPeriodAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">3.2</ix:nonFraction>&#160;million available to reduce future domestic income taxes. The business tax credit carryforwards will expire at various dates through December 2040. The net operating loss and business tax credit carryforwards are subject to review and possible adjustment by the Internal Revenue Service and may be limited in the event of certain changes in the ownership interest of significant stockholders. </div></div> </ix:continuation> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">108 </div></div> </div></div><div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div><hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/><div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div><div style="text-align: center;"><div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><ix:continuation id="TextSelectionAppend_18476217_1" continuedAt="TextSelectionAppend_18476217_2"><ix:nonNumeric name="us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The components of deferred income taxes are as follows:</div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 68%;"></td>
<td style="width: 6%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 6%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Deferred tax assets:</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Temporary timing differences:</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Stock-based compensation expense</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">3,320</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">2,922</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating leases</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:DeferredTaxAssetsOperatingLeases" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">7,257</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:DeferredTaxAssetsOperatingLeases" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">7,295</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accrued bonus</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:DeferredTaxAssetsAccruedBonus" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">25</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:DeferredTaxAssetsAccruedBonus" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,379</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Other</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseOther" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">5,749</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseOther" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">4,994</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 7em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total temporary timing differences</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpense" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">16,351</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpense" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">16,590</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Net operating loss carryforwards</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,539</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">221</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Tax business credits carryforwards</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxCreditCarryforwards" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">5,553</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxCreditCarryforwards" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">924</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total deferred tax assets</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsGross" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">23,443</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsGross" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">17,735</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Less: valuation allowance</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:DeferredTaxAssetsValuationAllowance" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">727</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:DeferredTaxAssetsValuationAllowance" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">6</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 7em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Net deferred tax assets</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsNet" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">22,716</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsNet" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">17,729</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Deferred tax liabilities:</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Goodwill</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,487</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,288</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Fixed assets</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="rgen:DeferredIncomeTaxLiabilitiesFixedAssets" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">4,233</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="rgen:DeferredIncomeTaxLiabilitiesFixedAssets" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">1,650</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Acquired intangible assets</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">27,152</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">24,605</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease right of use assets</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="rgen:DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">5,744</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="rgen:DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">6,144</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Conversion option on convertible notes</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="rgen:DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">8,651</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="rgen:DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">11,066</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 7em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total deferred tax liabilities</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:DeferredIncomeTaxLiabilities" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">47,267</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:DeferredIncomeTaxLiabilities" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">44,753</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total net deferred tax liabilities</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:DeferredTaxLiabilities" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">24,551</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:DeferredTaxLiabilities" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">27,024</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table> </ix:nonNumeric> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The net change in the total valuation allowance for the year ended December&#160;31, 20<div style="display:inline;">20</div>&#160;and 201<div style="display:inline;">9</div>&#160;was an increase of $<ix:nonFraction name="us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-5" scale="6" sign="-" format="ixt:numdotdecimal">0.7</ix:nonFraction>&#160;million and a decrease of $<ix:nonFraction name="us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">0.1</ix:nonFraction>&#160;million, respectively. </div></div> </ix:continuation> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">109 </div></div> </div></div><div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div><hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/><div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div><div style="text-align: center;"><div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><ix:continuation id="TextSelectionAppend_18476217_2" continuedAt="TextSelectionAppend_18476217_3"><ix:nonNumeric name="us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The reconciliation of the federal statutory rate to the effective income tax rate for the years ended December&#160;31, 2020, 2019 and 2018 is as follows: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 56%;"></td>
<td style="width: 2%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 2%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 2%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 2%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 2%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 2%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="22" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2018</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Amount</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">%</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Amount</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">%</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Amount</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">%</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="22" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands, except percentages)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Income before income taxes</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">59,217</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">26,151</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">21,436</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Expected tax at statutory rate</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">12,436</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_pure" decimals="INF" scale="-2" format="ixt:numdotdecimal">21.0</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">5,492</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_pure" decimals="INF" scale="-2" format="ixt:numdotdecimal">21.0</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">4,502</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_pure" decimals="INF" scale="-2" format="ixt:numdotdecimal">21.0</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Adjustments due to:</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Difference between U.S. and foreign tax</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">618</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_pure" decimals="3" scale="-2" format="ixt:numdotdecimal">1.0</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">436</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_pure" decimals="3" scale="-2" format="ixt:numdotdecimal">1.7</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">345</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_pure" decimals="3" scale="-2" format="ixt:numdotdecimal">1.6</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">State income and franchise tax</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">133</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_pure" decimals="3" scale="-2" format="ixt:numdotdecimal">0.2</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">179</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_pure" decimals="3" scale="-2" sign="-" format="ixt:numdotdecimal">0.7</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">91</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_pure" decimals="3" scale="-2" format="ixt:numdotdecimal">0.4</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Business tax credits</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:IncomeTaxReconciliationTaxCredits" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">4,660</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_pure" decimals="3" scale="-2" format="ixt:numdotdecimal">7.9</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:IncomeTaxReconciliationTaxCredits" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">2,746</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">(<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_pure" decimals="3" scale="-2" format="ixt:numdotdecimal">10.5</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:IncomeTaxReconciliationTaxCredits" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,760</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_pure" decimals="3" scale="-2" format="ixt:numdotdecimal">8.2</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Permanent differences:</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Stock-based compensation expense</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">9,243</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">(<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_pure" decimals="3" scale="-2" sign="-" format="ixt:numdotdecimal">15.6</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">1,877</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_pure" decimals="3" scale="-2" sign="-" format="ixt:numdotdecimal">7.2</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">1,213</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_pure" decimals="3" scale="-2" sign="-" format="ixt:numdotdecimal">5.7</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">U.S. taxation of foreign earnings</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncomeTaxReconciliationRepatriationOfForeignEarnings" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">51</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_pure" decimals="3" scale="-2" format="ixt:numdotdecimal">0.1</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncomeTaxReconciliationRepatriationOfForeignEarnings" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">2,227</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_pure" decimals="3" scale="-2" format="ixt:numdotdecimal">8.5</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncomeTaxReconciliationRepatriationOfForeignEarnings" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">2,190</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_pure" decimals="3" scale="-2" format="ixt:numdotdecimal">10.2</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Executive compensation</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,401</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_pure" decimals="3" scale="-2" format="ixt:numdotdecimal">2.4</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">841</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_pure" decimals="3" scale="-2" format="ixt:numdotdecimal">3.2</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">367</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_pure" decimals="3" scale="-2" format="ixt:numdotdecimal">1.7</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Other</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncomeTaxReconciliationNondeductibleExpenseOther" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">896</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_pure" decimals="3" scale="-2" format="ixt:numdotdecimal">1.5</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncomeTaxReconciliationNondeductibleExpenseOther" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">92</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_pure" decimals="3" scale="-2" format="ixt:numdotdecimal">0.4</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncomeTaxReconciliationNondeductibleExpenseOther" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">97</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_pure" decimals="3" scale="-2" format="ixt:numdotdecimal">0.5</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Change in U.S. federal tax rates</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:IncomeTaxReconciliationChangeInEnactedTaxRate" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">2,192</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_pure" decimals="3" scale="-2" sign="-" format="ixt:numdotdecimal">3.7</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_pure" decimals="3" scale="-2" format="ixt:numdotdecimal">0.0</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_pure" decimals="3" scale="-2" format="ixt:numdotdecimal">0.0</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Change in U.S. state tax rates</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="rgen:IncomeTaxReconciliationChangeInStateTaxRate" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">708</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="rgen:EffectiveIncomeTaxRateReconciliationChangeInStateTaxRate" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_pure" decimals="3" scale="-2" sign="-" format="ixt:numdotdecimal">1.2</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:EffectiveIncomeTaxRateReconciliationChangeInStateTaxRate" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_pure" decimals="3" scale="-2" format="ixt:numdotdecimal">0.0</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:IncomeTaxReconciliationChangeInStateTaxRate" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">748</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:EffectiveIncomeTaxRateReconciliationChangeInStateTaxRate" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_pure" decimals="3" scale="-2" format="ixt:numdotdecimal">3.5</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Change in Netherlands tax rate</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:IncomeTaxReconciliationChangeInForeignTaxRateAmount" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">250</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:EffectiveIncomeTaxRateReconciliationChangeInForeignTaxRateAmount" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_pure" decimals="3" scale="-2" format="ixt:numdotdecimal">0.4</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="rgen:IncomeTaxReconciliationChangeInForeignTaxRateAmount" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">193</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="rgen:EffectiveIncomeTaxRateReconciliationChangeInForeignTaxRateAmount" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_pure" decimals="3" scale="-2" sign="-" format="ixt:numdotdecimal">0.7</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="rgen:IncomeTaxReconciliationChangeInForeignTaxRateAmount" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">388</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="rgen:EffectiveIncomeTaxRateReconciliationChangeInForeignTaxRateAmount" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_pure" decimals="3" scale="-2" sign="-" format="ixt:numdotdecimal">1.8</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Transition tax</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTax" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_pure" decimals="3" scale="-2" format="ixt:numdotdecimal">0.0</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTax" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_pure" decimals="3" scale="-2" format="ixt:numdotdecimal">0.0</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="rgen:TransitionTaxForAccumulatedForeignEarningsProvisionalIncomeTaxExpense" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">1,338</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="rgen:EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTax" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_pure" decimals="3" scale="-2" sign="-" format="ixt:numdotdecimal">6.2</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Uncertain tax provisions</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:IncomeTaxReconciliationTaxContingencies" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">168</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_pure" decimals="3" scale="-2" sign="-" format="ixt:numdotdecimal">0.3</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncomeTaxReconciliationTaxContingencies" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,069</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_pure" decimals="3" scale="-2" format="ixt:numdotdecimal">4.1</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncomeTaxReconciliationTaxContingencies" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,021</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_pure" decimals="3" scale="-2" format="ixt:numdotdecimal">4.8</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Change in valuation allowance</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">12</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_pure" decimals="3" scale="-2" format="ixt:numdotdecimal">0.0</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">125</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_pure" decimals="3" scale="-2" sign="-" format="ixt:numdotdecimal">0.5</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">125</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_pure" decimals="3" scale="-2" format="ixt:numdotdecimal">0.6</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Return to provision adjustments</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="rgen:IncomeTaxReconciliationReturnToProvisionAdjustments" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">89</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="rgen:EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_pure" decimals="3" scale="-2" sign="-" format="ixt:numdotdecimal">0.2</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="rgen:IncomeTaxReconciliationReturnToProvisionAdjustments" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">79</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="rgen:EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_pure" decimals="3" scale="-2" sign="-" format="ixt:numdotdecimal">0.3</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:IncomeTaxReconciliationReturnToProvisionAdjustments" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">33</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_pure" decimals="3" scale="-2" format="ixt:numdotdecimal">0.2</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Other</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncomeTaxReconciliationOtherReconcilingItems" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">578</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_pure" decimals="3" scale="-2" format="ixt:numdotdecimal">1.0</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:IncomeTaxReconciliationOtherReconcilingItems" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">218</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_pure" decimals="3" scale="-2" sign="-" format="ixt:numdotdecimal">0.8</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:IncomeTaxReconciliationOtherReconcilingItems" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">1</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_pure" decimals="3" scale="-2" sign="-" format="ixt:numdotdecimal">0.1</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Income tax provision</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">709</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_pure" decimals="3" scale="-2" sign="-" format="ixt:numdotdecimal">1.2</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">4,740</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_pure" decimals="3" scale="-2" format="ixt:numdotdecimal">18.1</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">4,819</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_pure" decimals="3" scale="-2" format="ixt:numdotdecimal">22.5</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td></tr></table> </ix:nonNumeric><ix:nonNumeric name="us-gaap:SummaryOfIncomeTaxExaminationsTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company&#8217;s tax returns are subject to examination by federal, state and foreign tax authorities. The Company&#8217;s two major tax jurisdictions are subject to examination for the following periods: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 72%; font-family: ARIAL;"></td>
<td style="width: 13%; vertical-align: bottom; font-family: ARIAL;"></td>
<td style="font-family: ARIAL;"></td>
<td style="font-family: ARIAL;"></td>
<td style="font-family: ARIAL;"></td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid; white-space: nowrap;;text-align:center;"><div style="text-align: center; font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 1pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Jurisdiction</div></div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Fiscal&#160;Years&#160;Subject<br/> to Examination</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">United States - federal and state</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><ix:nonNumeric name="us-gaap:OpenTaxYear" contextRef="P01_01_2020To12_31_2020_EarliestTaxYearMemberusgaapTaxPeriodAxis_USsrtStatementGeographicalAxis">2017</ix:nonNumeric>-<ix:nonNumeric name="us-gaap:OpenTaxYear" contextRef="P01_01_2020To12_31_2020_LatestTaxYearMemberusgaapTaxPeriodAxis_USsrtStatementGeographicalAxis">2020</ix:nonNumeric></div></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Sweden</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonNumeric name="us-gaap:OpenTaxYear" contextRef="P01_01_2020To12_31_2020_EarliestTaxYearMemberusgaapTaxPeriodAxis_SEsrtStatementGeographicalAxis">2013</ix:nonNumeric>-<ix:nonNumeric name="us-gaap:OpenTaxYear" contextRef="P01_01_2020To12_31_2020_LatestTaxYearMemberusgaapTaxPeriodAxis_SEsrtStatementGeographicalAxis">2020</ix:nonNumeric></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr></table> </ix:nonNumeric> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </ix:continuation> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">110 </div></div> </div></div><div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div><hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/><div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div></div> <div><div style="text-align: center;"><div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><ix:continuation id="TextSelectionAppend_18476217_3" continuedAt="TextSelectionAppend_18476217_4"><ix:nonNumeric name="us-gaap:SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following is a tabular reconciliation of the total amounts of unrecognized tax benefits: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 64%;"></td>
<td style="width: 11%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 11%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For&#160;the&#160;Years&#160;Ended&#160;December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2020&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2019&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Balance of gross unrecognized tax benefits, beginning of period</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefits" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">3,422</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefits" contextRef="PAsOn12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">2,852</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Gross amounts of increases in unrecognized tax benefits as a result of tax positions taken in the current period</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">154</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">602</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Gross amounts of decreases in unrecognized tax benefits as a result of tax positions taken in the prior period</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">337</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">16</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Gross amounts of decrease due to release</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="rgen:UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">39</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="rgen:UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">16</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Balance of gross unrecognized tax benefits, end of period</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefits" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">3,200</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefits" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">3,422</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table> </ix:nonNumeric> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Included in the balance of unrecognized tax benefits as of December&#160;31, 2020 are $<ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">3.1</ix:nonFraction>&#160;million of tax benefits that, if recognized, would affect the effective tax rate. The Company classifies interest and penalties related to income taxes as components of its income tax provision. The amount of interest and penalties recorded in the accompanying consolidated statements of comprehensive income was approximately $<ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">17,000</ix:nonFraction>, $<ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">5,000</ix:nonFraction> and $<ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,000</ix:nonFraction> for the years ended December&#160;31, 2020, 2019 and 2018, respectively. The amount of interest and penalties recorded in the accompanying consolidated balance sheets was approximately $<ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">58,000</ix:nonFraction> and $<ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" contextRef="PAsOn12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">41,000</ix:nonFraction> as of December&#160;31, 2020 and 2019, respectively. The Company does not anticipate the amount of unrecognized tax benefits to change over the next twelve months. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">On March&#160;27, 2020, President Trump signed the $<ix:nonFraction name="rgen:CoronavirusAidReliefAndEconomicSecurityFundValue" contextRef="PAsOn03_27_2020" unitRef="Unit_USD" decimals="-11" scale="12" format="ixt:numdotdecimal">2.2</ix:nonFraction> trillion bipartisan Coronavirus Aid, Relief, and Economic Security (&#8220;CARES&#8221;) Act. The CARES Act, the third congressional bill to address <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">COVID-19,</div> provides for loans and other benefits to businesses, expanded unemployment insurance, direct payments to those with middle-income and below wages, new appropriations funding for healthcare and other priorities, and tax changes, including deferrals of employer payroll tax liabilities, coupled with an employee retention tax credit and rollbacks of TCJA limitations on net operating losses (&#8220;NOLs&#8221;) and the Section&#160;163(j) business interest limitation and a TCJA technical correction on qualified improvement property. The Company evaluated the provisions of the CARES Act and no provision had a material effect on the Company&#8217;s financial position or results of operations at December&#160;31, 2020 and for the year then ended. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">The Company is subject to a territorial tax system under the Tax Cuts and Jobs Act (&#8220;TCJA&#8221;) enacted in December 2017 (the &#8220;2017 Tax Act&#8221;), in which the Company is required to provide for tax on Global Intangible <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Low-Taxed</div> Income (&#8220;GILTI&#8221;) earned by certain foreign subsidiaries. The Company has adopted an accounting policy to provide for the tax expense related to GILTI in the year the tax is incurred as a period expense. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company also considered the impact of the newly issued tax regulations in recording its income tax accounts for the year ending December&#160;31, 2020 which reduced the foreign earnings subject to taxation under the GILTI provisions for the year ended December&#160;31, 2018 and prospectively. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">As of December&#160;31, 2020, the Company has accumulated undistributed earnings generated by its foreign subsidiaries of approximately $<ix:nonFraction name="us-gaap:UndistributedEarningsOfForeignSubsidiaries" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">113.1</ix:nonFraction>&#160;million. Because $<ix:nonFraction name="rgen:ForeignEarningsSubjectToOneTimeTransitionTax" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">58.0</ix:nonFraction>&#160;million of such earnings have previously been subject to the <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">one-time</div> transition tax on foreign earnings required by the 2017 Tax Act, any additional taxes due with respect to such earnings or the excess of the amount for financial reporting over the tax basis of the Company&#8217;s foreign investments would generally be limited to foreign and state</div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> </ix:continuation> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">111 </div></div> </div></div><div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div><hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/><div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div><div style="text-align: center;"><div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><ix:continuation id="TextSelectionAppend_18476217_4"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">taxes. At December&#160;31, 2020, the Company has not provided for taxes on outside basis differences of its foreign subsidiaries, as the Company has the ability and intent to indefinitely reinvest the undistributed earnings of its foreign subsidiaries, and there are no needs for such earnings in the United States that would contradict its plan to indefinitely reinvest. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">ASU 2016-16, <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Intra-Entity Transfers of Assets Other Than Inventory,&#8221;</div></div> requires the income tax consequences of intra-entity transfers of assets other than inventory to be recognized when the intra-entity transfer occurs rather than deferring recognition of income tax consequences until the transfer was made with an outside party. The Company adopted the provisions of this ASU in the first quarter of 2018. The adoption resulted in a decrease of $<ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="PAsOn01_01_2018_AccountingStandardsUpdate201606MemberusgaapAdjustmentsForNewAccountingPronouncementsAxis_OtherAssetsMemberusgaapBalanceSheetLocationAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">5.7</ix:nonFraction> million&#160;to other assets, a decrease of $<ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="PAsOn01_01_2018_AccountingStandardsUpdate201606MemberusgaapAdjustmentsForNewAccountingPronouncementsAxis_DeferredTaxLiablitiesMemberusgaapBalanceSheetLocationAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">5.0</ix:nonFraction> million&#160;to deferred tax liabilities and a decrease of&#160;$<ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="PAsOn01_01_2018_AccountingStandardsUpdate201606MemberusgaapAdjustmentsForNewAccountingPronouncementsAxis_AccumulatedDeficitMemberusgaapBalanceSheetLocationAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">0.7</ix:nonFraction> million&#160;to accumulated deficit at January&#160;1, 2018.</div></ix:continuation><div style="font-size: 18pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 18pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div><ix:nonNumeric name="us-gaap:StockholdersEquityNoteDisclosureTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true" continuedAt="TextSelection_18476162">
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 5%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">10.</div></div></td>
<td style="vertical-align: top;;text-align:left;"><div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Stockholders&#8217; Equity </div></div></div></td></tr></table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Public Offerings of Common Stock </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">On December&#160;8, 2020, the Company completed a public offering in which <ix:nonFraction name="us-gaap:CommonStockSharesIssued" contextRef="PAsOn12_08_2020" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:numdotdecimal">1,725,000</ix:nonFraction> shares of its common stock, including the underwriters&#8217; exercise in full of an option to purchase an additional <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="P12_08_2020To12_08_2020_CommonStockMemberusgaapStatementEquityComponentsAxis_UnderwriterMembersrtTitleOfIndividualAxis" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:numdotdecimal">225,000</ix:nonFraction> shares, were sold to the public at a price of $<ix:nonFraction name="rgen:CommonStockIssuePricePerShare" contextRef="PAsOn12_08_2020" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">181.00</ix:nonFraction> per share (the &#8220;December Stock Offering&#8221;). The net proceeds of the December Stock Offering, after deducting underwriting discounts and commissions and other estimated offering expenses payable by the Company, were approximately $<ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfCommonStock" contextRef="P12_08_2020To12_08_2020" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">297.8</ix:nonFraction>&#160;million. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">On July&#160;19, 2019, the Company completed a public offering in which <ix:nonFraction name="us-gaap:CommonStockSharesIssued" contextRef="PAsOn07_19_2019" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:numdotdecimal">1,587,000</ix:nonFraction> shares of its common stock, including the underwriters&#8217; exercise in full of an option to purchase an additional <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="P07_19_2019To07_19_2019_CommonStockMemberusgaapStatementEquityComponentsAxis_UnderwriterMembersrtTitleOfIndividualAxis" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:numdotdecimal">207,000</ix:nonFraction> shares, were sold to the public at a price of $<ix:nonFraction name="rgen:CommonStockIssuePricePerShare" contextRef="PAsOn07_19_2019" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">87.00</ix:nonFraction> per share (the &#8220;July Stock Offering&#8221;). The net proceeds of the Stock Offering, after deducting underwriting discounts and commissions and other estimated offering expenses payable by the Company, were approximately $<ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfCommonStock" contextRef="P07_19_2019To07_19_2019" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">131.1</ix:nonFraction>&#160;million. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">On May&#160;3, 2019, the Company completed a public offering in which <ix:nonFraction name="us-gaap:CommonStockSharesIssued" contextRef="PAsOn05_03_2019" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:numdotdecimal">3,144,531</ix:nonFraction> shares of its common stock, including the underwriters&#8217; full exercise of an option to purchase up to an additional <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="P05_03_2019To05_03_2019_CommonStockMemberusgaapStatementEquityComponentsAxis_UnderwriterMembersrtTitleOfIndividualAxis" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:numdotdecimal">410,156</ix:nonFraction> shares, were sold to the public at a price of $<ix:nonFraction name="rgen:CommonStockIssuePricePerShare" contextRef="PAsOn05_03_2019" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">64.00</ix:nonFraction> per share. The total proceeds received by the Company from this offering, net of underwriting discounts and commissions and other estimated offering expenses payable by the Company, totaled approximately $<ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfCommonStock" contextRef="P05_03_2019To05_03_2019" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">189.6</ix:nonFraction>&#160;million. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Stock Option and Incentive Plans </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">At the Company&#8217;s 2018 Annual Meeting of Stockholders held on May&#160;16, 2018, the Company&#8217;s shareholders approved the 2018 Stock Option and Incentive Plan (the &#8220;2018 Plan&#8221;). Under the 2018 Plan the number of shares of the Company&#8217;s common stock that are reserved and available for issuance shall be <ix:nonFraction name="us-gaap:CommonStockCapitalSharesReservedForFutureIssuance" contextRef="PAsOn12_31_2018_StockOptionAndIncentivePlanMemberusgaapPlanNameAxis" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:numdotdecimal">2,778,000</ix:nonFraction> plus the number of shares of common stock available for issuance under the Company&#8217;s Amended and Restated 2012 Stock Option and Incentive Plan (the &#8220;2012 Plan&#8221;). The shares of common stock underlying any awards under the 2018 Plan, 2012 Plan and the Second Amended and Restated 2001 Repligen Corporation Stock Plan (the &#8220;2001 Plan,&#8221; and together with the 2018 Plan and 2012 Plan, the &#8220;Plans&#8221;) that are forfeited, canceled or otherwise terminated (other than by exercise) shall be added back to the shares of stock available for issuance under the 2018 Plan. At December&#160;31, 2020, <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" contextRef="PAsOn12_31_2020_StockOptionAndIncentivePlanMemberusgaapPlanNameAxis" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:numdotdecimal">2,306,943</ix:nonFraction> shares were available for future grants under the 2018 Plan. </div></div></ix:nonNumeric> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">112 </div></div> </div></div><div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div><hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/><div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div><div style="text-align: center;"><div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><ix:continuation id="TextSelection_18476162" continuedAt="TextSelectionAppend_18476162_1"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Stock-Based Compensation </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company recorded stock-based compensation expense of $<ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">17.0</ix:nonFraction>&#160;million, $<ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">12.8</ix:nonFraction>&#160;million and $<ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">10.2</ix:nonFraction>&#160;million for the years ended December&#160;31, 2020, 2019 and 2018, respectively, for share-based awards granted under the Plans. <ix:nonNumeric name="us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true" continuedAt="TextSelection_18476164">The following table presents stock-based compensation expense in the Company&#8217;s consolidated statements of comprehensive income:</ix:nonNumeric> </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <ix:continuation id="TextSelection_18476164">
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 84%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 61%;"></td>
<td style="width: 5%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 5%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 5%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2018</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Cost of product revenue</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="P01_01_2020To12_31_2020_CostOfSalesMemberusgaapIncomeStatementLocationAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,929</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="P01_01_2019To12_31_2019_CostOfSalesMemberusgaapIncomeStatementLocationAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,368</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="P01_01_2018To12_31_2018_CostOfSalesMemberusgaapIncomeStatementLocationAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,019</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Research and development</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="P01_01_2020To12_31_2020_ResearchAndDevelopmentExpenseMemberusgaapIncomeStatementLocationAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,534</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="P01_01_2019To12_31_2019_ResearchAndDevelopmentExpenseMemberusgaapIncomeStatementLocationAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,373</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="P01_01_2018To12_31_2018_ResearchAndDevelopmentExpenseMemberusgaapIncomeStatementLocationAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">917</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Selling, general and administrative</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="P01_01_2020To12_31_2020_SellingGeneralAndAdministrativeExpensesMemberusgaapIncomeStatementLocationAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">13,544</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="P01_01_2019To12_31_2019_SellingGeneralAndAdministrativeExpensesMemberusgaapIncomeStatementLocationAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">10,106</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="P01_01_2018To12_31_2018_SellingGeneralAndAdministrativeExpensesMemberusgaapIncomeStatementLocationAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">8,256</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total stock-based compensation</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">17,007</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">12,847</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">10,192</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table> </ix:continuation> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">The 2018 Plan allows for the granting of incentive and nonqualified options to purchase shares of common stock, restricted stock and other equity awards. Except for the grant to the Company&#8217;s Chief Executive Officer (&#8220;CEO&#8221;) in 2018 mentioned below, employee grants under the Plans generally vest over a three- to five-year period, with <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" contextRef="P01_01_2020To12_31_2020_EmployeeStockOptionMemberusgaapAwardTypeAxis_MinimumMembersrtRangeAxis_ShareBasedCompensationAwardTrancheOneMemberusgaapVestingAxis" unitRef="Unit_pure" decimals="INF" scale="-2" format="ixt:numdotdecimal">20</ix:nonFraction>%-<ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" contextRef="P01_01_2020To12_31_2020_EmployeeStockOptionMemberusgaapAwardTypeAxis_MaximumMembersrtRangeAxis_ShareBasedCompensationAwardTrancheTwoMemberusgaapVestingAxis" unitRef="Unit_pure" decimals="INF" scale="-2" format="ixt:numdotdecimal">33</ix:nonFraction>%</div> vesting on the first anniversary of the date of grant and the remainder vesting in equal yearly installments thereafter. Nonqualified options issued to <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-employee</div> directors and consultants under the Plans generally vest over one year. In the first quarter of 2018, to create a longer-term retention incentive, the Company&#8217;s Compensation Committee granted long-term incentive compensation awards to its CEO which consisted of both stock options and restricted stock units that are subject to time-based vesting over nine years. Options granted under the Plans have a maximum term of ten years from the date of grant and generally, the exercise price of the stock options equals the fair market value of the Company&#8217;s common stock on the date of grant. At December&#160;31, 2020, options to purchase <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="PAsOn12_31_2020_OptionToPurchaseCommonStockMemberusgaapAwardTypeAxis" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:numdotdecimal">696,711</ix:nonFraction> shares and <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" contextRef="PAsOn12_31_2020_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:numdotdecimal">665,540</ix:nonFraction> stock units were outstanding under the Plans. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company uses the Black-Scholes option pricing model to calculate the fair value of stock option awards on the grant date, and the Company uses the value of the common stock as of the grant date to value RSUs. The Company measures stock-based compensation costs at the grant date based on the estimated fair value of the award. The Company recognizes expense on awards with service-based vesting over the employee&#8217;s requisite service period on a straight-line basis. The Company has issued performance stock units to certain employees which are tied to the achievement of certain Company financial goal metrics and the passage of time. Finally, during 2020, the Company implemented a program that issued performance stock units to certain employees set to vest upon the achievement of individual goals and the passage of time. The Company recognizes expense on performance-based awards over the vesting period based on the probability that the performance metrics will be achieved. The Company recognizes stock-based compensation expense for options that are ultimately expected to vest, and accordingly, such compensation expense has been adjusted for estimated forfeitures. </div>&#160;</div> <ix:nonNumeric name="us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The fair value of share-based awards granted during the years ended December&#160;31, 2020, 2019 and 2018 were calculated using the following estimated assumptions: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 40%;"></td>
<td style="width: 2%; vertical-align: bottom;"></td>
<td></td>
<td style="width: 2%; vertical-align: bottom;"></td>
<td></td>
<td style="width: 2%; vertical-align: bottom;"></td>
<td></td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="5" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended December&#160;31,</div></div></td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2018</div></div></td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Expected term (in&#160;years)</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;;text-align:center;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><ix:nonNumeric name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" contextRef="P01_01_2020To12_31_2020_MinimumMembersrtRangeAxis" format="ixt-sec:duryear">5.5</ix:nonNumeric>-<ix:nonNumeric name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" contextRef="P01_01_2020To12_31_2020_MaximumMembersrtRangeAxis" format="ixt-sec:duryear">6.5</ix:nonNumeric></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;;text-align:center;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><ix:nonNumeric name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" contextRef="P01_01_2019To12_31_2019_MinimumMembersrtRangeAxis" format="ixt-sec:duryear">5.5</ix:nonNumeric>-<ix:nonNumeric name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" contextRef="P01_01_2019To12_31_2019_MaximumMembersrtRangeAxis" format="ixt-sec:duryear">6.5</ix:nonNumeric></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;;text-align:center;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><ix:nonNumeric name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" contextRef="P01_01_2018To12_31_2018_MinimumMembersrtRangeAxis" format="ixt-sec:duryear">5.5</ix:nonNumeric>-<ix:nonNumeric name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" contextRef="P01_01_2018To12_31_2018_MaximumMembersrtRangeAxis" format="ixt-sec:duryear">7.5</ix:nonNumeric></div></td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Expected volatility (range)</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;;text-align:center;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_pure" decimals="4" scale="-2" format="ixt:numdotdecimal">45.14</ix:nonFraction>&#160;&#8211;&#160;<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_pure" decimals="4" scale="-2" format="ixt:numdotdecimal">50.87</ix:nonFraction>%</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;;text-align:center;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_pure" decimals="4" scale="-2" format="ixt:numdotdecimal">45.14</ix:nonFraction>&#160;&#8211;&#160;<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_pure" decimals="4" scale="-2" format="ixt:numdotdecimal">50.87</ix:nonFraction>%</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;;text-align:center;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_pure" decimals="4" scale="-2" format="ixt:numdotdecimal">45.14</ix:nonFraction>&#160;&#8211;&#160;<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_pure" decimals="4" scale="-2" format="ixt:numdotdecimal">50.87</ix:nonFraction>%</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Risk-free interest rate</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;;text-align:center;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_pure" decimals="4" scale="-2" format="ixt:numdotdecimal">0.34</ix:nonFraction>&#160;&#8211;&#160;<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_pure" decimals="4" scale="-2" format="ixt:numdotdecimal">1.15</ix:nonFraction>%</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;;text-align:center;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_pure" decimals="4" scale="-2" format="ixt:numdotdecimal">1.55</ix:nonFraction> &#8211; <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_pure" decimals="4" scale="-2" format="ixt:numdotdecimal">2.56</ix:nonFraction>%</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;;text-align:center;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_pure" decimals="4" scale="-2" format="ixt:numdotdecimal">2.63</ix:nonFraction> &#8211; <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_pure" decimals="4" scale="-2" format="ixt:numdotdecimal">2.96</ix:nonFraction>%</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Expected dividend yield</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;;text-align:center;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_pure" decimals="2" scale="-2" format="ixt:numdotdecimal">0</ix:nonFraction>%</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;;text-align:center;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_pure" decimals="2" scale="-2" format="ixt:numdotdecimal">0</ix:nonFraction>%</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;;text-align:center;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_pure" decimals="2" scale="-2" format="ixt:numdotdecimal">0</ix:nonFraction>%</td></tr></table> </ix:nonNumeric></ix:continuation> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">113 </div></div> </div></div><div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div><hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/><div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div></div> <div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><ix:continuation id="TextSelectionAppend_18476162_1" continuedAt="TextSelectionAppend_18476162_2"><ix:nonNumeric name="us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Information regarding option activity for the year ended December&#160;31, 2020 under the Plans is summarized below: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 47%;"></td>
<td style="width: 5%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 5%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 5%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 5%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Shares</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Weighted</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">average</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">exercise</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">price</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Weighted-</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Average</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Remaining</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Contractual</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Term</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(in Years)</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Aggregate</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Intrinsic</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Value</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(in&#160;Thousands)</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Options outstanding at December&#160;31, 2019</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="PAsOn12_31_2019" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:numdotdecimal">957,559</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="PAsOn12_31_2019" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">30.81</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Granted</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:numdotdecimal">79,698</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">115.81</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Exercised</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">(<ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:numdotdecimal">340,546</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">23.95</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Forfeited/expired/cancelled</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">$</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Options outstanding at December&#160;31, 2020</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="PAsOn12_31_2020" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:numdotdecimal">696,711</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="PAsOn12_31_2020" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">43.88</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonNumeric name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" contextRef="P01_01_2020To12_31_2020" format="ixt-sec:duryear">6.90</ix:nonNumeric></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">102,958</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Options exercisable at December&#160;31, 2020</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" contextRef="PAsOn12_31_2020" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:numdotdecimal">311,988</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" contextRef="PAsOn12_31_2020" unitRef="Unit_USD_per_Share" decimals="INF" scale="0" format="ixt:numdotdecimal">31.75</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonNumeric name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" contextRef="P01_01_2020To12_31_2020" format="ixt-sec:duryear">5.91</ix:nonNumeric></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">49,879</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Vested and expected to vest at December&#160;31, 2020<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">(1)</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" contextRef="PAsOn12_31_2020" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:numdotdecimal" id="Fact_18475833">667,220</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonNumeric name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" contextRef="P01_01_2020To12_31_2020" format="ixt-sec:duryear" id="Fact_18475834">6.86</ix:nonNumeric></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal" id="Fact_18475835">99,096</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="width: 11%; line-height: 8pt; margin-top: 0pt; margin-bottom: 2pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%; vertical-align: top;;text-align:left;">(1)</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;">Represents the number of vested options as of December&#160;31, 2020 plus the number of unvested options expected to vest as of December&#160;31, 2020 based on the unvested outstanding options at December&#160;31, 2020 adjusted for estimated forfeiture rates of <ix:nonFraction name="rgen:PercentageOfSharesSubjectToForfeiture" contextRef="PAsOn12_31_2020_EmployeeStockOptionMemberusgaapAwardTypeAxis_NonExecutiveMembersrtTitleOfIndividualAxis" unitRef="Unit_pure" decimals="2" scale="-2" format="ixt:numdotdecimal"><ix:nonFraction name="rgen:PercentageOfSharesSubjectToForfeiture" contextRef="PAsOn12_31_2020_NonExecutiveMembersrtTitleOfIndividualAxis" unitRef="Unit_pure" decimals="2" scale="-2" format="ixt:numdotdecimal">8</ix:nonFraction></ix:nonFraction>% for awards granted to <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-executive</div> level employees and <ix:nonFraction name="rgen:PercentageOfSharesSubjectToForfeiture" contextRef="PAsOn12_31_2020_EmployeeStockOptionMemberusgaapAwardTypeAxis_ExecutiveOfficerMembersrtTitleOfIndividualAxis" unitRef="Unit_pure" decimals="2" scale="-2" format="ixt:numdotdecimal"><ix:nonFraction name="rgen:PercentageOfSharesSubjectToForfeiture" contextRef="PAsOn12_31_2020_ExecutiveOfficerMembersrtTitleOfIndividualAxis" unitRef="Unit_pure" decimals="2" scale="-2" format="ixt:numdotdecimal">3</ix:nonFraction></ix:nonFraction>% for awards granted to executive level employees. </div> </td> </tr> </table> </ix:nonNumeric> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">The aggregate intrinsic value in the table above represents the total <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">pre-tax</div> intrinsic value (the difference between the closing price of the common stock on December&#160;31, 2020, the last business day of 2020, of $<ix:nonFraction name="us-gaap:SharePrice" contextRef="PAsOn12_31_2020_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis" unitRef="Unit_USD_per_Share" decimals="INF" scale="0" format="ixt:numdotdecimal">191.63</ix:nonFraction> per share and the exercise price of each <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">in-the-money</div></div> option) that would have been received by the option holders had all option holders exercised their options on December&#160;31, 2020. The aggregate intrinsic value of stock options exercised during the years ended December&#160;31, 2020, 2019 and 2018 was $<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">36.6</ix:nonFraction>&#160;million, $<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">5.5</ix:nonFraction>&#160;million and $<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">5.3</ix:nonFraction>&#160;million, respectively. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The weighted average grant date fair value of options granted during the years ended December&#160;31, 2020, 2019 and 2018 was $<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">53.06</ix:nonFraction>, $<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">31.27</ix:nonFraction> and $<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">18.90</ix:nonFraction>, respectively. The total fair value of stock options that vested during the years ended December&#160;31, 2020, 2019 and 2018 was $<ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">2.8</ix:nonFraction>&#160;million, $<ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">3.1</ix:nonFraction>&#160;million and $<ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" contextRef="P01_01_2018To12_31_2018" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">2.3</ix:nonFraction>&#160;million, respectively. </div></div> </ix:continuation> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">114 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><ix:continuation id="TextSelectionAppend_18476162_2"><ix:nonNumeric name="us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The fair value of stock units is calculated using the closing price of the Company&#8217;s common stock on the date of grant. Information regarding stock unit activity, which includes activity for restricted stock units and performance stock units, for the year ended December&#160;31, 2020 under the Plans is summarized below: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 84%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 51%;"></td>
<td style="width: 7%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 7%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 7%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Shares</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Weighted-</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Average</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Remaining</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Contractual</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Term</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(in Years)</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Aggregate</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Intrinsic</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Value</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(in&#160;Thousands)</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Unvested at December&#160;31, 2019</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" contextRef="PAsOn12_31_2019_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:numdotdecimal">734,984</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Awarded</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" contextRef="P01_01_2020To12_31_2020_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:numdotdecimal">207,788</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Vested</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">(<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" contextRef="P01_01_2020To12_31_2020_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:numdotdecimal">244,648</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Forfeited/expired/cancelled</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" contextRef="P01_01_2020To12_31_2020_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:numdotdecimal">32,584</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Unvested at December&#160;31, 2020</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" contextRef="PAsOn12_31_2020_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:numdotdecimal">665,540</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonNumeric name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" contextRef="P01_01_2020To12_31_2020_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis" format="ixt-sec:duryear">3.32</ix:nonNumeric></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" contextRef="PAsOn12_31_2020_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">127,904</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Vested and expected to vest at December&#160;31, 2020<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">(1)</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber" contextRef="P01_01_2020To12_31_2020_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis" unitRef="Unit_shares" decimals="INF" scale="0" format="ixt:numdotdecimal">650,047</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonNumeric name="rgen:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm" contextRef="P01_01_2020To12_31_2020_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis" format="ixt-sec:duryear">3.01</ix:nonNumeric></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="rgen:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" contextRef="PAsOn12_31_2020_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">124,568</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="width: 11%; line-height: 8pt; margin-top: 0pt; margin-bottom: 2pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%; vertical-align: top;;text-align:left;">(1)</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;">Represents the number of vested stock units as of December&#160;31, 2020 plus the number of unvested stock units expected to vest as of December&#160;31, 2020 based on the unvested outstanding stock units at December&#160;31, 2020 adjusted for estimated forfeiture rates of <ix:nonFraction name="rgen:PercentageOfSharesSubjectToForfeiture" contextRef="PAsOn12_31_2020_NonExecutiveMembersrtTitleOfIndividualAxis" unitRef="Unit_pure" decimals="2" scale="-2" format="ixt:numdotdecimal">8</ix:nonFraction>% for awards granted to <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-executive</div> level employees and <ix:nonFraction name="rgen:PercentageOfSharesSubjectToForfeiture" contextRef="PAsOn12_31_2020_ExecutiveOfficerMembersrtTitleOfIndividualAxis" unitRef="Unit_pure" decimals="2" scale="-2" format="ixt:numdotdecimal">3</ix:nonFraction>% for awards granted to executive level employees. </div> </td> </tr> </table> </ix:nonNumeric> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">The aggregate intrinsic value in the table above represents the total <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">pre-tax</div> intrinsic value (equal to the closing price of the common stock on December&#160;31, 2020, the last business day of 2020, of $<ix:nonFraction name="us-gaap:SharePrice" contextRef="PAsOn12_31_2020_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis" unitRef="Unit_USD_per_Share" decimals="INF" scale="0" format="ixt:numdotdecimal">191.63</ix:nonFraction> per share, as stock units do not have an exercise price) that would have been received by the stock unit holders had all holders exercised on December&#160;31, 2020. The aggregate intrinsic value of stock units vested during the years ended December&#160;31, 2020, 2019 and 2018 was $<ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" contextRef="P01_01_2020To12_31_2020_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">28.3</ix:nonFraction>&#160;million, $<ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" contextRef="P01_01_2019To12_31_2019_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">17.5</ix:nonFraction>&#160;million and $<ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" contextRef="P01_01_2018To12_31_2018_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">6.2</ix:nonFraction>&#160;million, respectively. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The weighted average grant date fair value of stock units granted during the years ended December&#160;31, 2020, 2019 and 2018 was $<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="P01_01_2020To12_31_2020_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">109.69</ix:nonFraction>, $<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="P01_01_2019To12_31_2019_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">49.68</ix:nonFraction> and $<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="P01_01_2018To12_31_2018_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">30.30</ix:nonFraction>, respectively. The total fair value of stock units that vested during the years ended December&#160;31, 2020, 2019 and 2018 was $<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" contextRef="P01_01_2020To12_31_2020_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">10.8</ix:nonFraction>&#160;million, $<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" contextRef="P01_01_2019To12_31_2019_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">8.5</ix:nonFraction>&#160;million and $<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" contextRef="P01_01_2018To12_31_2018_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">4.6</ix:nonFraction>&#160;million, respectively. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">As of December&#160;31, 2020, there was $<ix:nonFraction name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">46.7</ix:nonFraction>&#160;million of total unrecognized compensation cost related to unvested share-based awards.&#160;This cost is expected to be recognized over a weighted average remaining requisite service period of <ix:nonNumeric name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" contextRef="P01_01_2020To12_31_2020" format="ixt-sec:duryear">3.55</ix:nonNumeric> years. The Company expects <ix:nonFraction name="rgen:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares" contextRef="PAsOn12_31_2020" unitRef="Unit_shares" decimals="0" scale="0" format="ixt:numdotdecimal">1,853,028</ix:nonFraction> unvested options and stock units to vest over the next five years. </div></div> </ix:continuation> <div style="font-size: 18pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 18pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <ix:nonNumeric name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true" continuedAt="TextSelection_18476158">
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 5%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">11.</div></div></td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Commitments and Contingencies </div></div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Licensing and Research Agreements </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company licenses certain technologies that are, or may be, incorporated into its technology under several agreements and also has entered into several clinical research agreements that require the Company to fund certain research projects. Generally, the license agreements require the Company to pay annual maintenance fees and royalties on product sales once a product has been established using the technologies. Research and development expenses associated with license agreements were immaterial amounts for the years ended December&#160;31, 2020, 2019 and 2018. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">In September 2018, the Company entered into a collaboration agreement with Sartorius Stedim Biotech (&#8220;SSB&#8221;), a leading international supplier for the biopharmaceutical industry, to integrate our XCell ATF </div></div></ix:nonNumeric> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">115 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><ix:continuation id="TextSelection_18476158"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">cell retention control technology into Sartorius&#8217;s BIOSTAT<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> STR large-scale, <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">single-use</div> bioreactors to create novel perfusion-enabled bioreactors. As a result of this collaboration, <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">end-users</div> will stand to benefit from a single control system for <ix:nonFraction name="rgen:CapacityOfBioreactors" contextRef="P01_01_2020To12_31_2020_MinimumMembersrtRangeAxis" unitRef="Unit_l" decimals="0" scale="0" format="ixt:numdotdecimal">50</ix:nonFraction>L to <ix:nonFraction name="rgen:CapacityOfBioreactors" contextRef="P01_01_2020To12_31_2020_MaximumMembersrtRangeAxis" unitRef="Unit_l" decimals="0" scale="0" format="ixt:numdotdecimal">2,000</ix:nonFraction>L bioreactors used in perfusion cell culture applications. The single interface is designed to control cell growth, fluid management and cell retention in continuous and intensified bioprocessing and, ultimately, simplify the development and manufacture of biotechnological drugs under current good manufacturing practices. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">In June 2018, the Company secured an agreement with Navigo for the exclusive <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">co-development</div> of multiple affinity ligands for which Repligen holds commercialization rights. The Company is manufacturing and has agreed to supply the first of these ligands, <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">NGL-Impact</div><div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#8482;</div><div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px"> </div>A, exclusively to Purolite Life Sciences (&#8220;Purolite&#8221;), who will pair the Company&#8217;s high-performance ligand with Purolite&#8217;s agarose jetting base bead technology used in their Jetted A50 Protein A resin product. We also signed a long-term supply agreement with Purolite for <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">NGL-Impact</div> A and other potential additional affinity ligands that may advance from the Company&#8217;s Navigo collaboration. The Navigo and Purolite agreements are supportive of the Company&#8217;s strategy to secure and reinforce the Company&#8217;s proteins business. The Company made payments to Navigo of $<ix:nonFraction name="us-gaap:LongTermPurchaseCommitmentAmount" contextRef="P01_01_2020To12_31_2020_NGLImpactAMembersrtProductOrServiceAxis_ResearchAndDevelopmentArrangementMemberusgaapLongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">0.9</ix:nonFraction>&#160;million and $<ix:nonFraction name="us-gaap:LongTermPurchaseCommitmentAmount" contextRef="P01_01_2019To12_31_2019_NGLImpactAMembersrtProductOrServiceAxis_ResearchAndDevelopmentArrangementMemberusgaapLongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">1.0</ix:nonFraction>&#160;million in the years ended December&#160;31, 2020 and 2019, respectively, in connection with this program, which are recorded to research and development expenses in the Company&#8217;s consolidated statements of comprehensive income. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Purchase Orders, Supply Agreements and Other Contractual Obligations </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">In the normal course of business, the Company has entered into purchase orders and other agreements with manufacturers, distributors and others. Outstanding obligations at December&#160;31, 2020 of $55.3&#160;million are expected to be completed within one year. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Legal Proceedings </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">From time to time, in the normal course of its operations, the Company is subject to litigation matters and claims relating to employee relations, business practices and patent infringement. Litigation can be expensive and disruptive to normal business operations. Moreover, the results of complex legal proceedings are difficult to predict and the Company&#8217;s view of these matters may change in the future as the litigation and events related thereto unfold. The Company expenses legal fees as incurred. The Company records a provision for contingent losses when it is both probable that a liability has been incurred and the amount of the loss can be reasonably estimated. An unfavorable outcome to any legal matter, if material, could have an adverse effect on the Company&#8217;s operations or its financial results. </div></div> </ix:continuation> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">116 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> </div> <div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><ix:nonNumeric name="us-gaap:LongTermDebtTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true" continuedAt="TextSelection_18476128">
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 5%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">12.</div></div></td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Convertible Senior Notes </div></div></div> </td> </tr> </table> <ix:nonNumeric name="us-gaap:ConvertibleDebtTableTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The carrying value of the Company&#8217;s convertible senior notes is as follows: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 66%;"></td>
<td style="width: 6%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 6%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">0.375% convertible senior notes due 2024:</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="text-decoration: underline; letter-spacing: 0px; top: 0px;;display:inline;">Convertible senior notes, current portion:</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Principal amount</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:DebtInstrumentCarryingAmount" contextRef="PAsOn12_31_2020_ZeropointthreesevenfivepercentageconvertibleseniornotesduetwentytwentyfourmemberMemberusgaapDebtInstrumentAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">287,500</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">$</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Unamortized debt discount</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:DebtInstrumentUnamortizedDiscount" contextRef="PAsOn12_31_2020_ZeropointthreesevenfivepercentageconvertibleseniornotesduetwentytwentyfourmemberMemberusgaapDebtInstrumentAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">38,317</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Unamortized debt issuance costs</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:DeferredFinanceCostsNet" contextRef="PAsOn12_31_2020_ZeropointthreesevenfivepercentageconvertibleseniornotesduetwentytwentyfourmemberMemberusgaapDebtInstrumentAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">5,446</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total convertible senior notes, current portion</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="PAsOn12_31_2020_ZeropointthreesevenfivepercentageconvertibleseniornotesduetwentytwentyfourmemberMemberusgaapDebtInstrumentAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">243,737</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="text-decoration: underline; letter-spacing: 0px; top: 0px;;display:inline;">Convertible senior notes:</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Principal amount</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:DebtInstrumentCarryingAmount" contextRef="PAsOn12_31_2019_ZeropointthreesevenfivepercentageconvertibleseniornotesduetwentytwentyfourmemberMemberusgaapDebtInstrumentAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">287,500</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Unamortized debt discount</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:DebtInstrumentUnamortizedDiscount" contextRef="PAsOn12_31_2019_ZeropointthreesevenfivepercentageconvertibleseniornotesduetwentytwentyfourmemberMemberusgaapDebtInstrumentAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">47,921</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Unamortized debt issuance costs</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:DeferredFinanceCostsNet" contextRef="PAsOn12_31_2019_ZeropointthreesevenfivepercentageconvertibleseniornotesduetwentytwentyfourmemberMemberusgaapDebtInstrumentAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">6,812</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total convertible senior notes</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="PAsOn12_31_2020_ZeropointthreesevenfivepercentageconvertibleseniornotesduetwentytwentyfourmemberMemberusgaapDebtInstrumentAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">243,737</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="PAsOn12_31_2019_ZeropointthreesevenfivepercentageconvertibleseniornotesduetwentytwentyfourmemberMemberusgaapDebtInstrumentAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">232,767</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> </ix:nonNumeric> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">0.375% Convertible Senior Notes due 2024 </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">On July&#160;19, 2019, the Company issued $<ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="PAsOn07_19_2019_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis" unitRef="Unit_USD" decimals="INF" scale="6" format="ixt:numdotdecimal">287.5</ix:nonFraction>&#160;million aggregate principal amount of <ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="PAsOn07_19_2019_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis" unitRef="Unit_pure" decimals="5" scale="-2" format="ixt:numdotdecimal">0.375</ix:nonFraction>% Convertible Senior Notes due 2024 (&#8220;2019 Notes&#8221;), which includes the underwriters&#8217; exercise in full of an option to purchase an additional $<ix:nonFraction name="rgen:OptionToPurchaseAdditionalDebtFaceAmount" contextRef="PAsOn07_19_2019_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">37.5</ix:nonFraction>&#160;million aggregate principal amount of 2019 Notes (the &#8220;Notes Offering&#8221;). The net proceeds of the Notes Offering, after deducting underwriting discounts and commissions and other related offering expenses payable by the Company, were approximately $<ix:nonFraction name="us-gaap:ProceedsFromConvertibleDebt" contextRef="P07_19_2019To07_19_2019_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">278.5</ix:nonFraction>&#160;million. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The 2019 Notes are senior, unsecured obligations of the Company, and bear interest at a rate of <ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="PAsOn12_31_2020_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis" unitRef="Unit_pure" decimals="5" scale="-2" format="ixt:numdotdecimal">0.375</ix:nonFraction>% per year. <ix:nonNumeric name="us-gaap:DebtInstrumentInterestRateTerms" contextRef="P07_19_2019To07_19_2019_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis">Interest is payable semi-annually in arrears on January 15 and July 15 of each year, beginning on January 15, 2020.</ix:nonNumeric><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div>The 2019 Notes will mature on<div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div><ix:nonNumeric name="us-gaap:DebtInstrumentMaturityDate" contextRef="P07_19_2019To07_19_2019_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis" format="ixt:datemonthdayyearen">July 15, 2024</ix:nonNumeric>, unless earlier repurchased or converted in accordance with their terms. The initial conversion rate for the 2019 Notes is <ix:nonFraction name="us-gaap:DebtInstrumentConvertibleConversionRatio1" contextRef="P07_19_2019To07_19_2019_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis" unitRef="Unit_pure" decimals="INF" scale="0" format="ixt:numdotdecimal">8.6749</ix:nonFraction> shares of the Company&#8217;s common stock per $1,000 principal amount of 2019 Notes (which is equivalent to an initial conversion price of approximately $<ix:nonFraction name="us-gaap:DebtInstrumentConvertibleConversionPrice1" contextRef="PAsOn07_19_2019_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">115.28</ix:nonFraction> per share). Prior to the close of business on the business day immediately preceding April&#160;15, 2024, the 2019 Notes will be convertible at the option of the holders of 2019 Notes only upon the satisfaction of specified conditions and during certain periods. Thereafter until the close of business on the second scheduled trading day immediately preceding the maturity date, the 2019 Notes will be convertible at the options of the holders of 2019 Notes at any time regardless of these conditions. Conversion of the 2019 Notes will be settled in cash, shares of the Company&#8217;s common stock or a combination thereof, at the Company&#8217;s election. The 2019 Notes are not redeemable by the Company prior to maturity. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Holders of 2019 Notes may require the Company to repurchase their 2019 Notes upon the occurrence of a fundamental change prior to maturity at a repurchase price equal to <ix:nonFraction name="us-gaap:DebtInstrumentRedemptionPricePercentage" contextRef="P07_19_2019To07_19_2019_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis" unitRef="Unit_pure" decimals="INF" scale="-2" format="ixt:numdotdecimal">100</ix:nonFraction>% of the principal amount thereof, plus accrued and unpaid interest to, but excluding, the date of repurchase. In connection with certain corporate events, the Company will, under certain circumstances, increase the conversion rate for holders of 2019 Notes who elect to convert their 2019 Notes in connection with such corporate events. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">During the fourth quarter of 2020, the closing price of the Company&#8217;s common stock exceeded <ix:nonFraction name="us-gaap:DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" contextRef="P10_01_2020To12_31_2020" unitRef="Unit_pure" decimals="2" scale="-2" format="ixt:numdotdecimal">130</ix:nonFraction>% of the conversion price of the 2019 Notes for more than <ix:nonFraction name="us-gaap:DebtInstrumentConvertibleThresholdTradingDays" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_Day" decimals="0" scale="0" format="ixt:numdotdecimal">20</ix:nonFraction> trading days of the last <ix:nonFraction name="us-gaap:DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" contextRef="P01_01_2020To12_31_2020" unitRef="Unit_Day" decimals="0" scale="0" format="ixt:numdotdecimal">30</ix:nonFraction> consecutive trading </div></div></ix:nonNumeric> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">117 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><ix:continuation id="TextSelection_18476128" continuedAt="TextSelectionAppend_18476128_1"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">days of the quarter. As a result, the 2019 Notes are convertible at the option of the holders of the 2019 Notes during the first quarter of 2021, the quarter immediately following the quarter when the conditions are met, as stated in the terms of the 2019 Notes. Expecting to continue meeting these terms, the Company reclassified the carrying value of the 2019 Notes from long-term liabilities to current liabilities on the Company&#8217;s balance sheet as of December 31, 2020. As of the date of this filing, the Company received requests to convert $<ix:nonFraction name="rgen:DebtInstrumentConvertibleIntoEquity" contextRef="PAsOn12_31_2020" unitRef="Unit_USD" decimals="0" scale="0" format="ixt:numdotdecimal">3,000</ix:nonFraction> aggregate principal amount of 2019 Notes which we intend to pay or deliver, as the case may be, the settlement amount to be determined &#8211; paying the amount in excess of the aggregate principal portion of the converted notes in shares of our common stock. These conversions will be settled during the first quarter of 2021. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company accounts for the 2019 Notes as separate liability and equity components. The Company determined the carrying amount of the liability component as the present value of its cash flows using a discount rate of <ix:nonFraction name="rgen:DiscountRate" contextRef="P01_01_2019To12_31_2019_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis" unitRef="Unit_pure" decimals="3" scale="-2" format="ixt:numdotdecimal">4.5</ix:nonFraction>% based on comparative convertible transactions for similar companies. The proceeds allocated to the debt conversion feature were $<ix:nonFraction name="us-gaap:DebtInstrumentConvertibleBeneficialConversionFeature" contextRef="P01_01_2019To12_31_2019_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">52.1</ix:nonFraction>&#160;million. This amount was calculated by deducting the carrying value of the liability component from the principal amount of the 2019 Notes as a whole. The difference represents a debt discount that is amortized to interest expense on the Company&#8217;s consolidated statements of comprehensive income over the term of the 2019 Notes using the effective interest rate method. The Company will assess the equity classification of the cash conversion feature quarterly, and it is not remeasured as long as it continues to meet the conditions for equity classification. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company allocates transaction costs related to the issuance of the 2019 Notes to the liability and equity components using the same proportions as the initial carrying value of the 2019 Notes. Transaction costs related to the liability component were $<ix:nonFraction name="rgen:ConvertibleNotesTransactionCostsOfLiabilityComponent" contextRef="P01_01_2020To12_31_2020_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">7.4</ix:nonFraction>&#160;million and are being amortized to interest expense using the effective interest method over the term of the 2019 Notes. Transaction costs attributable to the equity component were $<ix:nonFraction name="rgen:ConvertibleNotesTransactionCostsOfEquityComponent" contextRef="PAsOn12_31_2020_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">1.6</ix:nonFraction>&#160;million and are netted with the equity component of the 2019 Notes in stockholders&#8217; equity of the Company&#8217;s consolidated balance sheet at December&#160;31, 2020. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Interest expense recognized on the 2019 Notes in 2020 was $<ix:nonFraction name="us-gaap:InterestExpenseDebtExcludingAmortization" contextRef="P01_01_2020To12_31_2020_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">1.1</ix:nonFraction>&#160;million, $<ix:nonFraction name="us-gaap:AmortizationOfDebtDiscountPremium" contextRef="P01_01_2020To12_31_2020_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">9.6</ix:nonFraction>&#160;million and $<ix:nonFraction name="us-gaap:AmortizationOfFinancingCosts" contextRef="P01_01_2020To12_31_2020_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">1.4</ix:nonFraction>&#160;million for the contractual coupon interest, the accretion of the debt discount and the amortization of the debt issuance costs, respectively. The effective interest rate on the 2019 Notes is <ix:nonFraction name="us-gaap:DebtInstrumentInterestRateEffectivePercentage" contextRef="PAsOn12_31_2020_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis" unitRef="Unit_pure" decimals="3" scale="-2" format="ixt:numdotdecimal">5.1</ix:nonFraction>%, which included the interest on the 2019 Notes, amortization of the debt discount and debt issuance costs. As of December&#160;31, 2020, the carrying value of the 2019 Notes was $<ix:nonFraction name="us-gaap:LongTermDebt" contextRef="PAsOn12_31_2020_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">243.7</ix:nonFraction>&#160;million and the fair value of the principal was $<ix:nonFraction name="us-gaap:LongTermDebtFairValue" contextRef="PAsOn12_31_2020_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">501.0</ix:nonFraction>&#160;million.&#160;The fair value of the 2019 Notes was determined based on the most recent trade activity of the 2019 Notes as of December&#160;31, 2020. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The 2019 Notes agreement contains customary terms and events of default. If an event of default (other than certain events of bankruptcy, insolvency or reorganization involving the Company) occurs and is continuing, the holders of at least 25% in aggregate principal amount of the outstanding 2019 Notes may declare 100% of the principal of, and any accrued and unpaid interest on, all of the 2019 Notes to be due and payable. Upon the occurrence of certain events of bankruptcy, insolvency or reorganization involving the Company, 100% of the principal of and accrued and unpaid interest, if any, on all of the 2019 Notes will become due and payable automatically. Notwithstanding the foregoing, the 2019 Notes provide that, to the extent the Company elects and for up to 270 days, the sole remedy for an event of default relating to certain failures by the Company to comply with certain reporting covenants consist exclusively of the right to receive additional interest on the 2019 Notes. The Company is not aware of any events of default, current events or market conditions that would allow holders to call or convert the 2019 Notes as of December&#160;31, 2020. </div></div> </ix:continuation> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">118 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><ix:continuation id="TextSelectionAppend_18476128_1"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Conversion of the 2.125% Convertible Senior Notes due 2021 </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company utilized a portion of the proceeds from the issuance of the 2019 Notes to settle its outstanding <ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="PAsOn12_31_2020_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis" unitRef="Unit_pure" decimals="5" scale="-2" format="ixt:numdotdecimal">2.125</ix:nonFraction>% Convertible Senior Notes due 2021 (the &#8220;2016 Notes&#8221;) during the third quarter of 2019. On July&#160;16, 2019, the Company entered into separate privately negotiated agreements with certain holders of the 2016 Notes to exchange an aggregate of $<ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="PAsOn07_16_2019_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis" unitRef="Unit_USD" decimals="INF" scale="6" format="ixt:numdotdecimal">92.0</ix:nonFraction>&#160;million principal aggregate amount of the 2016 Notes for shares of the Company&#8217;s common stock, together with cash, in private placement transactions (the &#8220;Note Exchanges&#8221;). On July&#160;19, 2019 and July&#160;22, 2019, the Company used approximately $<ix:nonFraction name="us-gaap:EarlyRepaymentOfSeniorDebt" contextRef="P07_19_2019To07_19_2019_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">92.3</ix:nonFraction>&#160;million (including $<ix:nonFraction name="us-gaap:DebtInstrumentIncreaseAccruedInterest" contextRef="P07_19_2019To07_19_2019_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">0.3</ix:nonFraction>&#160;million of accrued interest) and <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" contextRef="P07_22_2019To07_22_2019_CommonStockMemberusgaapStatementEquityComponentsAxis_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis" unitRef="Unit_shares" decimals="0" scale="0" format="ixt:numdotdecimal">1,850,155</ix:nonFraction> shares of its common stock valued at $<ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" contextRef="P07_22_2019To07_22_2019_CommonStockMemberusgaapStatementEquityComponentsAxis_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">161.0</ix:nonFraction>&#160;million to settle the Note Exchanges for total consideration of $<ix:nonFraction name="us-gaap:DebtConversionConvertedInstrumentAmount1" contextRef="P07_22_2019To07_22_2019_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">253.3</ix:nonFraction>&#160;million, of which $<ix:nonFraction name="us-gaap:DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent" contextRef="PAsOn07_22_2019_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">163.6</ix:nonFraction>&#160;million was allocated to reacquiring the equity component of the 2016 Notes. The Company allocated the consideration transferred to the liability and equity components using the same proportions as the initial carrying value of the 2016 Notes. The transaction resulted in a loss on extinguishment of debt of $<ix:nonFraction name="us-gaap:GainsLossesOnExtinguishmentOfDebt" contextRef="P01_01_2019To12_31_2019_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis" unitRef="Unit_USD" decimals="-5" scale="6" sign="-" format="ixt:numdotdecimal">4.6</ix:nonFraction>&#160;million in the Company&#8217;s consolidated statements of comprehensive income in 2019. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">On July&#160;19, 2019, the Company issued a Notice of Redemption in respect of the 2016 Notes, which provided that, on September&#160;23, 2019, the Company would redeem all 2016 Notes that had not been converted, repurchased or exchanged prior to such date at a redemption price in cash equal to 100% of the principal amount thereof plus accrued and unpaid interest. On September&#160;23, 2019, the Company used $<ix:nonFraction name="us-gaap:EarlyRepaymentOfSeniorDebt" contextRef="P08_24_2019To09_23_2019_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">23.0</ix:nonFraction>&#160;million and <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" contextRef="P08_24_2019To09_23_2019_CommonStockMemberusgaapStatementEquityComponentsAxis_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis" unitRef="Unit_shares" decimals="0" scale="0" format="ixt:numdotdecimal">466,045</ix:nonFraction> shares of its common stock valued at $<ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" contextRef="P08_24_2019To09_23_2019_CommonStockMemberusgaapStatementEquityComponentsAxis_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">37.8</ix:nonFraction>&#160;million to settle the remaining 2016 Notes for a total of $<ix:nonFraction name="rgen:DebtInstrumentFaceAmountRemaining" contextRef="PAsOn09_23_2019_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">60.8</ix:nonFraction>&#160;million, of which $<ix:nonFraction name="us-gaap:DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent" contextRef="PAsOn09_23_2019_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">38.3</ix:nonFraction>&#160;million was allocated to reacquiring the equity component of the 2016 Notes. This transaction resulted in a loss on extinguishment of debt of $<ix:nonFraction name="us-gaap:GainsLossesOnExtinguishmentOfDebt" contextRef="P08_24_2019To09_23_2019_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis" unitRef="Unit_USD" decimals="-5" scale="6" sign="-" format="ixt:numdotdecimal">1.1</ix:nonFraction>&#160;million recorded on the Company&#8217;s consolidated statements of comprehensive income. The total loss in 2019 of $<ix:nonFraction name="us-gaap:GainsLossesOnExtinguishmentOfDebt" contextRef="P01_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-5" scale="6" sign="-" format="ixt:numdotdecimal">5.7</ix:nonFraction>&#160;million represents the difference between the fair value of the liability component of the 2016 Notes and its related carrying value immediately before the exchange. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Interest expense recognized on the 2016 Notes in 2019 prior to conversion was $<ix:nonFraction name="us-gaap:InterestExpenseDebtExcludingAmortization" contextRef="P01_01_2020To12_31_2020_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">1.3</ix:nonFraction>&#160;million, $<ix:nonFraction name="us-gaap:AmortizationOfDebtDiscountPremium" contextRef="P01_01_2020To12_31_2020_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">2.4</ix:nonFraction>&#160;million and $<ix:nonFraction name="us-gaap:AmortizationOfFinancingCosts" contextRef="P01_01_2020To12_31_2020_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">0.4</ix:nonFraction>&#160;million for the contractual coupon interest, the accretion of the debt discount and the amortization of the debt issuance costs, respectively. The effective interest rate on the 2016 Notes was <ix:nonFraction name="us-gaap:DebtInstrumentInterestRateEffectivePercentage" contextRef="PAsOn12_31_2020_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis" unitRef="Unit_pure" decimals="3" scale="-2" format="ixt:numdotdecimal">6.6</ix:nonFraction>%, which included the interest on the 2016 Notes, amortization of the debt discount and debt issuance costs. </div></div> </ix:continuation> <div style="font-size: 18pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 18pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <ix:nonNumeric name="us-gaap:ComprehensiveIncomeNoteTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true">
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 5%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">13.</div></div></td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accumulated Other Comprehensive Income (Loss) </div></div></div> </td> </tr> </table> <ix:nonNumeric name="us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Changes in accumulated other comprehensive income (loss) consisted of the following for the years ended December&#160;31, 2020 and 2019 (amounts in thousands): </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 68%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 80%;"></td>
<td style="width: 9%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Foreign<br/> Currency<br/> Translation<br/> Adjustment</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Balance as of December&#160;31, 2018</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="PAsOn12_31_2018_AccumulatedTranslationAdjustmentMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">11,893</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Other comprehensive loss</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" contextRef="P01_01_2019To12_31_2019_AccumulatedTranslationAdjustmentMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">3,134</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Balance as of December&#160;31, 2019</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="PAsOn12_31_2019_AccumulatedTranslationAdjustmentMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">15,027</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Other comprehensive income</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" contextRef="P01_01_2020To12_31_2020_AccumulatedTranslationAdjustmentMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">17,112</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Balance as of December&#160;31, 2020</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="PAsOn12_31_2020_AccumulatedTranslationAdjustmentMemberusgaapStatementEquityComponentsAxis" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">2,085</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> </ix:nonNumeric></ix:nonNumeric> <div style="font-size: 18pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 18pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <ix:nonNumeric name="us-gaap:CompensationAndEmployeeBenefitPlansTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true" continuedAt="TextSelection_18476119">
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 5%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">14.</div></div></td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Employee Benefit Plans </div></div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">In the United States, the Repligen Corporation 401(k) Savings and Retirement Plan (the &#8220;401(k) Plan&#8221;) is a qualified defined contribution plan in accordance with Section&#160;401(k) of the Internal Revenue Code. </div></div></ix:nonNumeric> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">119 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><ix:continuation id="TextSelection_18476119"> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">All U.S. employees over the age of <ix:nonNumeric name="rgen:DefinedContributionPlanEmployeeEligibilityAge" contextRef="P01_01_2020To12_31_2020_MinimumMembersrtRangeAxis" format="ixt-sec:duryear">21</ix:nonNumeric> are eligible to make <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">pre-tax</div> contributions up to a specified percentage of their compensation. Under the 401(k) Plan, the Company may, but is not obligated to match a portion of the employees&#8217; contributions up to a defined maximum. The match is calculated on a calendar year basis. The Company matched $<ix:nonFraction name="us-gaap:DefinedBenefitPlanContributionsByEmployer" contextRef="P01_01_2020To12_31_2020_ForeignPlanMemberusgaapRetirementPlanSponsorLocationAxis_PensionPlansDefinedBenefitMemberusgaapRetirementPlanTypeAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">1.4</ix:nonFraction>&#160;million, $<ix:nonFraction name="us-gaap:DefinedBenefitPlanContributionsByEmployer" contextRef="P01_01_2019To12_31_2019_ForeignPlanMemberusgaapRetirementPlanSponsorLocationAxis_PensionPlansDefinedBenefitMemberusgaapRetirementPlanTypeAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">1.0</ix:nonFraction>&#160;million and $<ix:nonFraction name="us-gaap:DefinedBenefitPlanContributionsByEmployer" contextRef="P01_01_2018To12_31_2018_ForeignPlanMemberusgaapRetirementPlanSponsorLocationAxis_PensionPlansDefinedBenefitMemberusgaapRetirementPlanTypeAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">0.7</ix:nonFraction>&#160;million in the years ended December&#160;31, 2020, 2019 and 2018, respectively. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">In Sweden, the Company contributes to a government-mandated occupational pension plan that is a qualified defined contribution plan. All employees in Sweden are eligible for this pension plan. The Company pays premiums to a third-party occupational pension specialist who administers the pension plan. These premiums are based on various factors including each employee&#8217;s age, salary, employment history and selected benefits in the pension plan. When an employee terminates or retires, these premium payments cease for that employee and the Company has no further pension-related obligations for that employee. The Company contributed $<ix:nonFraction name="us-gaap:DefinedBenefitPlanContributionsByEmployer" contextRef="P01_01_2019To12_31_2019_DefinedContribution401KPlanMemberusgaapDeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal"><ix:nonFraction name="us-gaap:DefinedBenefitPlanContributionsByEmployer" contextRef="P01_01_2020To12_31_2020_DefinedContribution401KPlanMemberusgaapDeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal"><ix:nonFraction name="us-gaap:DefinedBenefitPlanContributionsByEmployer" contextRef="P01_01_2018To12_31_2018_DefinedContribution401KPlanMemberusgaapDeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">0.6</ix:nonFraction></ix:nonFraction></ix:nonFraction>&#160;million to the defined contribution plan for each of the years ended December&#160;31, 2020, 2019 and 2018. </div></div> </ix:continuation> <div style="font-size: 18pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 18pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <ix:nonNumeric name="us-gaap:RelatedPartyTransactionsDisclosureTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true">
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 5%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">15.</div></div></td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Related Party Transactions </div></div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">At December&#160;31, 2020, the Company had an outstanding tax liability of $<ix:nonFraction name="us-gaap:TaxesPayableCurrent" contextRef="PAsOn12_31_2020_CTechnologiesMemberusgaapRelatedPartyTransactionsByRelatedPartyAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">0.5</ix:nonFraction>&#160;million due to the seller of C Technologies. This tax liability was paid subsequent to year end in January 2021 and concluded the remaining tax liability the Company had with the seller due to the 338(h)(10) tax election. The Company paid the seller a total of $<ix:nonFraction name="us-gaap:IncomeTaxesPaid" contextRef="P01_01_2020To12_31_2020_CTechnologiesMemberusgaapRelatedPartyTransactionsByRelatedPartyAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">0.3</ix:nonFraction>&#160;million and $<ix:nonFraction name="us-gaap:IncomeTaxesPaid" contextRef="P01_01_2019To12_31_2019_CTechnologiesMemberusgaapRelatedPartyTransactionsByRelatedPartyAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">1.6</ix:nonFraction>&#160;million related to the tax liability associated with the 338(h)(10) election as of December&#160;31, 2020 and 2019, respectively. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Certain facilities leased by Spectrum, a company the Company acquired in 2017, are owned by Roy Eddleman, the former owner of Spectrum. As of December&#160;31, 2020, Mr.&#160;Eddleman owned greater than <ix:nonFraction name="us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners" contextRef="PAsOn12_31_2020_MinimumMembersrtRangeAxis_PrincipalOwnerMemberusgaapRelatedPartyTransactionsByRelatedPartyAxis_SpectrumIncMembersrtOwnershipAxis" unitRef="Unit_pure" decimals="INF" scale="-2" format="ixt:numdotdecimal">5</ix:nonFraction>% of the Company&#8217;s outstanding shares and the Company considers him to be a related party. The lease amounts paid to this shareholder prior to the public offering were negotiated in connection with the Spectrum Acquisition. The Company incurred rent expense totaling $<ix:nonFraction name="us-gaap:ProfessionalFees" contextRef="P01_01_2020To12_31_2020_PrincipalOwnerMemberusgaapRelatedPartyTransactionsByRelatedPartyAxis" unitRef="Unit_USD" decimals="-5" scale="6" format="ixt:numdotdecimal">0.7</ix:nonFraction>&#160;million for the year ended December&#160;31, 2020 related to these leases. </div></div></ix:nonNumeric> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">120 </div></div> </div> </div> <div style="margin-top: 1em; margin-bottom: 0em; page-break-before: always;"></div> <hr style="width: 100%; height: 3px; color: rgb(153, 153, 153);"/> <div style="font-size: 13.28px; margin-top: 1.67em; margin-bottom: 1.67em;; margin-block-start: 1.67em; margin-block-end: 1.67em;;font-weight: bold;"><a href="#toc">Table of Contents</a></div> <div style="text-align: center;"> <div style="width: 8.5in; text-align: left; margin-right: auto; margin-left: auto;"><ix:nonNumeric name="us-gaap:QuarterlyFinancialInformationTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true">
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 5%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">16.</div></div></td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Selected Quarterly Financial Data (Unaudited) </div></div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following table sets forth certain unaudited quarterly results of operations for 2020 and 2019. In the opinion of management, this information has been prepared on the same basis as the audited consolidated financial statements and all necessary adjustments, consisting only of normal recurring adjustments, have been included in the amounts stated below to present fairly the quarterly information when read in conjunction with the audited consolidated financial statements and notes thereto included elsewhere in this Form 10-K. The quarterly operating results are not necessarily indicative of future results of operations. </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <ix:nonNumeric name="us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock" contextRef="P01_01_2020To12_31_2020" escape="true" continuedAt="TextSelection_18476112">
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 51%;"></td>
<td style="width: 4%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 4%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 4%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 4%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="14" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended December 31, 2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Q1</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Q2</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Q3</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Q4</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="14" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands, except per share data)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Revenue</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P01_01_2020To03_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">76,090</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P04_01_2020To06_30_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">87,462</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P07_01_2020To09_30_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">94,060</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P10_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">108,648</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Gross profit</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="P01_01_2020To03_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">44,108</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="P04_01_2020To06_30_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">50,599</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="P07_01_2020To09_30_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">54,434</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="P10_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">60,485</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating expenses</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:OperatingExpenses" contextRef="P01_01_2020To03_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">64,184</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:OperatingExpenses" contextRef="P04_01_2020To06_30_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">67,925</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:OperatingExpenses" contextRef="P07_01_2020To09_30_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">73,099</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:OperatingExpenses" contextRef="P10_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">91,229</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Net income</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="P01_01_2020To03_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">9,815</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="P04_01_2020To06_30_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">15,861</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="P07_01_2020To09_30_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">14,552</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="P10_01_2020To12_31_2020" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">19,698</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Earnings per share:</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Basic</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="P01_01_2020To03_31_2020" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">0.19</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="P04_01_2020To06_30_2020" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">0.30</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="P07_01_2020To09_30_2020" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">0.28</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="P10_01_2020To12_31_2020" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">0.37</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Diluted</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="P01_01_2020To03_31_2020" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">0.18</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="P04_01_2020To06_30_2020" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">0.30</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="P07_01_2020To09_30_2020" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">0.27</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="P10_01_2020To12_31_2020" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">0.36</ix:nonFraction></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr> </table> </ix:nonNumeric> <div style="clear: both; max-height: 0px; background: none;"></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;<div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div></div></div> <ix:continuation id="TextSelection_18476112">
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 52%;"></td>
<td style="width: 4%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 4%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 4%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td>
<td style="width: 4%; vertical-align: bottom;"></td>
<td></td>
<td></td>
<td></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td colspan="14" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended December 31, 2019</div></div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Q1</div></div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Q2</div></div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Q3</div></div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Q4</div></div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td colspan="14" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands, except per share data)</div></div></div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top; font-size: 10pt;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Revenue</div></div></div> </td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">$</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P01_01_2019To03_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">60,634</ix:nonFraction></div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">$</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P04_01_2019To06_30_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">70,692</ix:nonFraction></div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">$</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P07_01_2019To09_30_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">69,445</ix:nonFraction></div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">$</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="P10_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">69,474</ix:nonFraction></div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top; font-size: 10pt;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Gross profit</div></div></div> </td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="P01_01_2019To03_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">33,789</ix:nonFraction></div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="P04_01_2019To06_30_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">39,984</ix:nonFraction></div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="P07_01_2019To09_30_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">38,020</ix:nonFraction></div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="P10_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">39,353</ix:nonFraction></div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top; font-size: 10pt;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating expenses</div></div></div> </td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><ix:nonFraction name="us-gaap:OperatingExpenses" contextRef="P01_01_2019To03_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">49,463</ix:nonFraction></div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><ix:nonFraction name="us-gaap:OperatingExpenses" contextRef="P04_01_2019To06_30_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">59,638</ix:nonFraction></div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><ix:nonFraction name="us-gaap:OperatingExpenses" contextRef="P07_01_2019To09_30_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">61,481</ix:nonFraction></div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><ix:nonFraction name="us-gaap:OperatingExpenses" contextRef="P10_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">63,580</ix:nonFraction></div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top; font-size: 10pt;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Net income</div></div></div> </td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="P01_01_2019To03_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">8,053</ix:nonFraction></div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="P04_01_2019To06_30_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">8,095</ix:nonFraction></div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="P07_01_2019To09_30_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">1,659</ix:nonFraction></div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="P10_01_2019To12_31_2019" unitRef="Unit_USD" decimals="-3" scale="3" format="ixt:numdotdecimal">3,604</ix:nonFraction></div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top; font-size: 10pt;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Earnings per share:</div></div></div> </td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top; font-size: 10pt;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Basic</div></div></div> </td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">$</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="P01_01_2019To03_31_2019" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">0.18</ix:nonFraction></div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">$</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="P04_01_2019To06_30_2019" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">0.17</ix:nonFraction></div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">$</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="P07_01_2019To09_30_2019" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">0.03</ix:nonFraction></div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">$</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="P10_01_2019To12_31_2019" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">0.07</ix:nonFraction></div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top; font-size: 10pt;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Diluted</div></div></div> </td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">$</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="P01_01_2019To03_31_2019" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">0.17</ix:nonFraction></div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">$</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="P04_01_2019To06_30_2019" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">0.17</ix:nonFraction></div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">$</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="P07_01_2019To09_30_2019" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">0.03</ix:nonFraction></div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">$</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="P10_01_2019To12_31_2019" unitRef="Unit_USD_per_Share" decimals="2" scale="0" format="ixt:numdotdecimal">0.07</ix:nonFraction></div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td> </tr> </table> </ix:continuation></ix:nonNumeric> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">&#160;</div> <div style="text-align: center; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">121 </div></div> </div> </div> </div>
</body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-21.1
<SEQUENCE>2
<FILENAME>d105808dex211.htm
<DESCRIPTION>EX-21.1
<TEXT>
<HTML><HEAD>
<TITLE>EX-21.1</TITLE>
</HEAD>
 <BODY BGCOLOR="WHITE">

<Center><DIV STYLE="width:8.5in" align="left">
 <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="right"><B>Exhibit 21.1 </B></P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>SUBSIDIARIES OF THE REGISTRANT </B></P> <P STYLE="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE CELLSPACING="0" CELLPADDING="0" WIDTH="100%" BORDER="0" STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" ALIGN="center">


<TR>

<TD WIDTH="44%"></TD>

<TD VALIGN="bottom" WIDTH="1%"></TD>
<TD WIDTH="11%"></TD>

<TD VALIGN="bottom" WIDTH="1%"></TD>
<TD WIDTH="43%"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<TD VALIGN="bottom" NOWRAP STYLE="border-bottom:1.00pt solid #000000"> <P STYLE="margin-top:0pt; margin-bottom:1pt; font-size:8pt; font-family:Times New Roman"><B>Subsidiary Name</B></P></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom" STYLE="border-bottom:1.00pt solid #000000"> <P STYLE="margin-top:0pt; margin-bottom:1pt; font-size:8pt; font-family:Times New Roman"><B>Subsidiary Jurisdiction</B></P></TD></TR>


<TR STYLE="font-size:1pt">
<TD HEIGHT="8"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">Repligen Sweden AB</P></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top">
<P STYLE=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom">Sweden</TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="8"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">Repligen GmbH</P></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom">Germany</TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="8"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">Repligen Singapore Pte. Ltd.</P></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom">Singapore</TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="8"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">Repligen Europe B.V.</P></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom">Netherlands</TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="8"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">Repligen (Shanghai) Biotechnology Co. Ltd.</P></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom">China</TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="8"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">Repligen Japan LLC</P></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom">Japan</TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="8"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">Repligen India Private Limited</P></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom">India</TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="8"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">Repligen Korea Co. Ltd.</P></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom">South Korea</TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="8"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">ARTeSYN Biosolutions Holdings Ireland Limited</P></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom">Ireland</TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="8"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">ARTeSYN Biosolutions Ireland Limited</P></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom">Ireland</TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="8"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">ARTeSYN Biosolutions Estonia O&Uuml;</P></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom">Estonia</TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="8"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">Spectrum Lifesciences, LLC</P></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom">United States</TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="8"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">Spectrum Molecular Separations, Inc.</P></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom">United States</TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="8"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">C Technologies, Inc.</P></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom">United States</TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="8"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">Engineered Molding Technology LLC</P></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom">United States</TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="8"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman"><FONT STYLE="white-space:nowrap">Non-Metallic</FONT> Solutions, Inc.</P></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom">United States</TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="8"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">ARTeSYN Biosolutions USA, LLC</P></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom">United States</TD></TR>
</TABLE>
</DIV></Center>

</BODY></HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-23.1
<SEQUENCE>3
<FILENAME>d105808dex231.htm
<DESCRIPTION>EX-23.1
<TEXT>
<HTML><HEAD>
<TITLE>EX-23.1</TITLE>
</HEAD>
 <BODY BGCOLOR="WHITE">

<Center><DIV STYLE="width:8.5in" align="left">
 <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="right"><B>Exhibit 23.1 </B></P>
<P STYLE="margin-top:24pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>CONSENT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM </B></P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">We consent to the incorporation by reference in the following Registration Statements: </P>
<P STYLE="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
<TR style = "page-break-inside:avoid">
<TD WIDTH="4%">&nbsp;</TD>
<TD WIDTH="5%" VALIGN="top" ALIGN="left">(1)</TD>
<TD ALIGN="left" VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman; " ALIGN="left">Registration Statements (Form <FONT STYLE="white-space:nowrap">S-8</FONT>
<FONT STYLE="white-space:nowrap">No.&nbsp;333-224978)</FONT> pertaining to the 2018 Stock Option and Incentive Plan of Repligen Corporation, </P></TD></TR></TABLE> <P STYLE="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
<TR style = "page-break-inside:avoid">
<TD WIDTH="4%">&nbsp;</TD>
<TD WIDTH="5%" VALIGN="top" ALIGN="left">(2)</TD>
<TD ALIGN="left" VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman; " ALIGN="left">Registration Statements (Form <FONT STYLE="white-space:nowrap">S-8</FONT>
<FONT STYLE="white-space:nowrap">No.&nbsp;333-196456)</FONT> pertaining to the Repligen Corporation Amended and Restated 2012 Stock Option and Incentive Plan, </P></TD></TR></TABLE>
<P STYLE="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
<TR style = "page-break-inside:avoid">
<TD WIDTH="4%">&nbsp;</TD>
<TD WIDTH="5%" VALIGN="top" ALIGN="left">(3)</TD>
<TD ALIGN="left" VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman; " ALIGN="left">Registration Statements (Form <FONT STYLE="white-space:nowrap">S-8</FONT>
<FONT STYLE="white-space:nowrap">No.&nbsp;333-157168)</FONT> pertaining to the Second Amended and Restated 2001 Repligen Corporation Stock Plan, and </P></TD></TR></TABLE> <P STYLE="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
<TR style = "page-break-inside:avoid">
<TD WIDTH="4%">&nbsp;</TD>
<TD WIDTH="5%" VALIGN="top" ALIGN="left">(4)</TD>
<TD ALIGN="left" VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman; " ALIGN="left">Registration Statement (Form <FONT STYLE="white-space:nowrap">S-3</FONT>
<FONT STYLE="white-space:nowrap">No.&nbsp;333-231098)</FONT> of Repligen Corporation </P></TD></TR></TABLE> <P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">of our reports dated February&nbsp;24, 2021 with
respect to the consolidated financial statements of Repligen Corporation and the effectiveness of internal control over financial reporting of Repligen Corporation, included in this Annual Report
<FONT STYLE="white-space:nowrap">(Form&nbsp;10-K)&nbsp;of</FONT> Repligen Corporation for the year ended December&nbsp;31, 2020. </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; margin-left:55%; text-indent:-2%; font-size:10pt; font-family:Times New Roman">/s/ Ernst&nbsp;&amp; Young LLP </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">Boston, Massachusetts </P> <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">February&nbsp;24, 2021 </P>
</DIV></Center>

</BODY></HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>4
<FILENAME>d105808dex311.htm
<DESCRIPTION>EX-31.1
<TEXT>
<HTML><HEAD>
<TITLE>EX-31.1</TITLE>
</HEAD>
 <BODY BGCOLOR="WHITE">

<Center><DIV STYLE="width:8.5in" align="left">
 <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="right"><B>Exhibit 31.1 </B></P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>CERTIFICATION </B></P> <P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">I, Tony Hunt, certify
that: </P> <P STYLE="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
<TR style = "page-break-inside:avoid">
<TD WIDTH="4%" VALIGN="top" ALIGN="left">1.</TD>
<TD ALIGN="left" VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman; " ALIGN="left">I have reviewed this Annual Report on Form <FONT STYLE="white-space:nowrap">10-K</FONT> of Repligen
Corporation; </P></TD></TR></TABLE> <P STYLE="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
<TR style = "page-break-inside:avoid">
<TD WIDTH="4%" VALIGN="top" ALIGN="left">2.</TD>
<TD ALIGN="left" VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman; " ALIGN="left">Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a
material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report; </P></TD></TR></TABLE>
<P STYLE="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
<TR style = "page-break-inside:avoid">
<TD WIDTH="4%" VALIGN="top" ALIGN="left">3.</TD>
<TD ALIGN="left" VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman; " ALIGN="left">Based on my knowledge, the financial statements, and other financial information included in this report,
fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report; </P></TD></TR></TABLE>
<P STYLE="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
<TR style = "page-break-inside:avoid">
<TD WIDTH="4%" VALIGN="top" ALIGN="left">4.</TD>
<TD ALIGN="left" VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman; " ALIGN="left">The registrant&#146;s other certifying officer(s) and I are responsible for establishing and maintaining
disclosure controls and procedures (as defined in Exchange Act Rules <FONT STYLE="white-space:nowrap">13a-15(e)</FONT> and <FONT STYLE="white-space:nowrap">15d-15(e))</FONT> and internal control over financial reporting (as defined in Exchange Act
Rules <FONT STYLE="white-space:nowrap">13a-15(f)</FONT> and <FONT STYLE="white-space:nowrap">15d-15(f))</FONT> for the registrant and have: </P></TD></TR></TABLE> <P STYLE="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
<TR style = "page-break-inside:avoid">
<TD WIDTH="4%">&nbsp;</TD>
<TD WIDTH="5%" VALIGN="top" ALIGN="left">(a)</TD>
<TD ALIGN="left" VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman; " ALIGN="left">Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be
designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is
being prepared; </P></TD></TR></TABLE> <P STYLE="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
<TR style = "page-break-inside:avoid">
<TD WIDTH="4%">&nbsp;</TD>
<TD WIDTH="5%" VALIGN="top" ALIGN="left">(b)</TD>
<TD ALIGN="left" VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman; " ALIGN="left">Designed such internal control over financial reporting, or caused such internal control over financial
reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting
principles; </P></TD></TR></TABLE> <P STYLE="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
<TR style = "page-break-inside:avoid">
<TD WIDTH="4%">&nbsp;</TD>
<TD WIDTH="5%" VALIGN="top" ALIGN="left">(c)</TD>
<TD ALIGN="left" VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman; " ALIGN="left">Evaluated the effectiveness of the registrant&#146;s disclosure controls and procedures and presented in this
report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and </P></TD></TR></TABLE>
<P STYLE="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
<TR style = "page-break-inside:avoid">
<TD WIDTH="4%">&nbsp;</TD>
<TD WIDTH="5%" VALIGN="top" ALIGN="left">(d)</TD>
<TD ALIGN="left" VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman; " ALIGN="left">Disclosed in this report any change in the registrant&#146;s internal control over financial reporting that
occurred during the registrant&#146;s most recent fiscal quarter (the registrant&#146;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#146;s internal
control over financial reporting; and </P></TD></TR></TABLE> <P STYLE="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
<TR style = "page-break-inside:avoid">
<TD WIDTH="4%" VALIGN="top" ALIGN="left">5.</TD>
<TD ALIGN="left" VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman; " ALIGN="left">The registrant&#146;s other certifying officer(s) and I have disclosed, based on our most recent evaluation of
internal control over financial reporting, to the registrant&#146;s auditors and the audit committee of the registrant&#146;s board of directors (or persons performing the equivalent functions): </P></TD></TR></TABLE>
<P STYLE="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
<TR style = "page-break-inside:avoid">
<TD WIDTH="4%">&nbsp;</TD>
<TD WIDTH="5%" VALIGN="top" ALIGN="left">(a)</TD>
<TD ALIGN="left" VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman; " ALIGN="left">All significant deficiencies and material weaknesses in the design or operation of internal control over
financial reporting which are reasonably likely to adversely affect the registrant&#146;s ability to record, process, summarize and report financial information; and </P></TD></TR></TABLE>
<P STYLE="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
<TR style = "page-break-inside:avoid">
<TD WIDTH="4%">&nbsp;</TD>
<TD WIDTH="5%" VALIGN="top" ALIGN="left">(b)</TD>
<TD ALIGN="left" VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman; " ALIGN="left">Any fraud, whether or not material, that involves management or other employees who have a significant role in
the registrant&#146;s internal control over financial reporting. </P></TD></TR></TABLE> <P STYLE="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P><DIV ALIGN="right">
<TABLE CELLSPACING="0" CELLPADDING="0" WIDTH="40%" BORDER="0" STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt">


<TR>

<TD WIDTH="100%"></TD></TR>


<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">Date: February&nbsp;24, 2021</P></TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="16"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="bottom"> <P STYLE="margin-top:0pt; margin-bottom:1pt; border-bottom:1px solid #000000; font-size:10pt; font-family:Times New Roman" ALIGN="center">/S/ TONY J. HUNT</P></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="bottom" ALIGN="center"><B>Tony J. Hunt</B></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="bottom" ALIGN="center"><B>Chief Executive Officer and President</B></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="bottom" ALIGN="center"><B>(Principal executive officer)</B></TD></TR>
</TABLE></DIV>
</DIV></Center>

</BODY></HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>5
<FILENAME>d105808dex312.htm
<DESCRIPTION>EX-31.2
<TEXT>
<HTML><HEAD>
<TITLE>EX-31.2</TITLE>
</HEAD>
 <BODY BGCOLOR="WHITE">

<Center><DIV STYLE="width:8.5in" align="left">
 <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="right"><B>Exhibit 31.2 </B></P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>CERTIFICATION </B></P> <P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">I, Jon K. Snodgres,
certify that: </P> <P STYLE="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
<TR style = "page-break-inside:avoid">
<TD WIDTH="4%" VALIGN="top" ALIGN="left">1.</TD>
<TD ALIGN="left" VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman; " ALIGN="left">I have reviewed this Annual Report on Form <FONT STYLE="white-space:nowrap">10-K</FONT> of Repligen
Corporation; </P></TD></TR></TABLE> <P STYLE="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
<TR style = "page-break-inside:avoid">
<TD WIDTH="4%" VALIGN="top" ALIGN="left">2.</TD>
<TD ALIGN="left" VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman; " ALIGN="left">Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a
material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report; </P></TD></TR></TABLE>
<P STYLE="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
<TR style = "page-break-inside:avoid">
<TD WIDTH="4%" VALIGN="top" ALIGN="left">3.</TD>
<TD ALIGN="left" VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman; " ALIGN="left">Based on my knowledge, the financial statements, and other financial information included in this report,
fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report; </P></TD></TR></TABLE>
<P STYLE="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
<TR style = "page-break-inside:avoid">
<TD WIDTH="4%" VALIGN="top" ALIGN="left">4.</TD>
<TD ALIGN="left" VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman; " ALIGN="left">The registrant&#146;s other certifying officer(s) and I are responsible for establishing and maintaining
disclosure controls and procedures (as defined in Exchange Act Rules <FONT STYLE="white-space:nowrap">13a-15(e)</FONT> and <FONT STYLE="white-space:nowrap">15d-15(e))</FONT> and internal control over financial reporting (as defined in Exchange Act
Rules <FONT STYLE="white-space:nowrap">13a-15(f)</FONT> and <FONT STYLE="white-space:nowrap">15d-15(f))</FONT> for the registrant and have: </P></TD></TR></TABLE> <P STYLE="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
<TR style = "page-break-inside:avoid">
<TD WIDTH="9%">&nbsp;</TD>
<TD WIDTH="4%" VALIGN="top" ALIGN="left">(a)</TD>
<TD ALIGN="left" VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman; " ALIGN="left">Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be
designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is
being prepared; </P></TD></TR></TABLE> <P STYLE="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
<TR style = "page-break-inside:avoid">
<TD WIDTH="9%">&nbsp;</TD>
<TD WIDTH="4%" VALIGN="top" ALIGN="left">(b)</TD>
<TD ALIGN="left" VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman; " ALIGN="left">Designed such internal control over financial reporting, or caused such internal control over financial
reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting
principles; </P></TD></TR></TABLE> <P STYLE="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
<TR style = "page-break-inside:avoid">
<TD WIDTH="9%">&nbsp;</TD>
<TD WIDTH="4%" VALIGN="top" ALIGN="left">(c)</TD>
<TD ALIGN="left" VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman; " ALIGN="left">Evaluated the effectiveness of the registrant&#146;s disclosure controls and procedures and presented in this
report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and </P></TD></TR></TABLE>
<P STYLE="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
<TR style = "page-break-inside:avoid">
<TD WIDTH="9%">&nbsp;</TD>
<TD WIDTH="4%" VALIGN="top" ALIGN="left">(d)</TD>
<TD ALIGN="left" VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman; " ALIGN="left">Disclosed in this report any change in the registrant&#146;s internal control over financial reporting that
occurred during the registrant&#146;s most recent fiscal quarter (the registrant&#146;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#146;s internal
control over financial reporting; and </P></TD></TR></TABLE> <P STYLE="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
<TR style = "page-break-inside:avoid">
<TD WIDTH="4%" VALIGN="top" ALIGN="left">5.</TD>
<TD ALIGN="left" VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman; " ALIGN="left">The registrant&#146;s other certifying officer(s) and I have disclosed, based on our most recent evaluation of
internal control over financial reporting, to the registrant&#146;s auditors and the audit committee of the registrant&#146;s board of directors (or persons performing the equivalent functions): </P></TD></TR></TABLE>
<P STYLE="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
<TR style = "page-break-inside:avoid">
<TD WIDTH="9%">&nbsp;</TD>
<TD WIDTH="4%" VALIGN="top" ALIGN="left">(a)</TD>
<TD ALIGN="left" VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman; " ALIGN="left">All significant deficiencies and material weaknesses in the design or operation of internal control over
financial reporting which are reasonably likely to adversely affect the registrant&#146;s ability to record, process, summarize and report financial information; and </P></TD></TR></TABLE>
<P STYLE="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
<TR style = "page-break-inside:avoid">
<TD WIDTH="9%">&nbsp;</TD>
<TD WIDTH="4%" VALIGN="top" ALIGN="left">(b)</TD>
<TD ALIGN="left" VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman; " ALIGN="left">Any fraud, whether or not material, that involves management or other employees who have a significant role in
the registrant&#146;s internal control over financial reporting. </P></TD></TR></TABLE> <P STYLE="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P><DIV ALIGN="right">
<TABLE CELLSPACING="0" CELLPADDING="0" WIDTH="40%" BORDER="0" STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt">


<TR>

<TD WIDTH="100%"></TD></TR>


<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman">Date: February&nbsp;24, 2021</P></TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="16"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="bottom"> <P STYLE="margin-top:0pt; margin-bottom:1pt; border-bottom:1px solid #000000; font-size:10pt; font-family:Times New Roman" ALIGN="center">/S/ JON K. SNODGRES</P></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="bottom" ALIGN="center"><B>Jon K. Snodgres</B></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="bottom" ALIGN="center"><B>Chief Financial Officer</B></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="bottom" ALIGN="center"><B>(Principal financial officer)</B></TD></TR>
</TABLE></DIV>
</DIV></Center>

</BODY></HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>6
<FILENAME>d105808dex321.htm
<DESCRIPTION>EX-32.1
<TEXT>
<HTML><HEAD>
<TITLE>EX-32.1</TITLE>
</HEAD>
 <BODY BGCOLOR="WHITE">

<Center><DIV STYLE="width:8.5in" align="left">
 <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="right"><B>Exhibit 32.1 </B></P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>CERTIFICATION PURSUANT TO </B></P>
<P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>18 U.S.C. SECTION 1350, </B></P>
<P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>AS ADOPTED PURSUANT TO </B></P>
<P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002 </B></P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">In connection with the Annual Report of Repligen Corporation (the &#147;Company&#148;) on Form <FONT STYLE="white-space:nowrap">10-K</FONT> for the period
ending December&nbsp;31, 2020 as filed with the Securities and Exchange Commission on the date hereof (the &#147;Report&#148;), the undersigned officers of the Company hereby certify, pursuant to 18 U.S.C. Section&nbsp;1350, as adopted pursuant to
Section&nbsp;906 of the Sarbanes-Oxley Act of 2002, to my knowledge, that: </P> <P STYLE="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
<TR style = "page-break-inside:avoid">
<TD WIDTH="4%">&nbsp;</TD>
<TD WIDTH="5%" VALIGN="top" ALIGN="left">(1)</TD>
<TD ALIGN="left" VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman; " ALIGN="left">The Report fully complies with the requirements of section 13(a) or 15(d) of the Securities Exchange Act of
1934; and </P></TD></TR></TABLE> <P STYLE="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
<TR style = "page-break-inside:avoid">
<TD WIDTH="4%">&nbsp;</TD>
<TD WIDTH="5%" VALIGN="top" ALIGN="left">(2)</TD>
<TD ALIGN="left" VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman; " ALIGN="left">The information contained in the Report fairly presents, in all material respects, the financial condition and
results of operations of the Company. </P></TD></TR></TABLE> <P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">This certification is being provided pursuant to 18 U.S.C. 1350 and is not to be deemed a part of
the Report, nor is it to be deemed to be &#147;filed&#148; for any purpose whatsoever. </P> <P STYLE="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE CELLSPACING="0" CELLPADDING="0" WIDTH="100%" BORDER="0" STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" ALIGN="center">


<TR>

<TD WIDTH="45%"></TD>

<TD VALIGN="bottom" WIDTH="1%"></TD>
<TD WIDTH="4%"></TD>

<TD VALIGN="bottom"></TD>
<TD WIDTH="3%"></TD>

<TD VALIGN="bottom" WIDTH="1%"></TD>
<TD WIDTH="45%"></TD></TR>


<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top">Date: February&nbsp;24, 2021</TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top">By:</TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"> <P STYLE="margin-top:0pt; margin-bottom:1pt; border-bottom:1px solid #000000; font-size:10pt; font-family:Times New Roman" ALIGN="center">/S/ TONY J. HUNT</P></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top" ALIGN="center"><B>Tony J. Hunt</B></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top" ALIGN="center"><B>Chief Executive Officer and President</B></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top" ALIGN="center"><B>(Principal executive officer)</B></TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="16"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top">Date: February&nbsp;24, 2021</TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top">By:</TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"> <P STYLE="margin-top:0pt; margin-bottom:1pt; border-bottom:1px solid #000000; font-size:10pt; font-family:Times New Roman" ALIGN="center">/S/ JON K. SNODGRES</P></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top" ALIGN="center"><B>Jon K. Snodgres</B></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top" ALIGN="center"><B>Chief Financial Officer</B></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top" ALIGN="center"><B>(Principal financial officer)</B></TD></TR>
</TABLE>
</DIV></Center>

</BODY></HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>7
<FILENAME>rgen-20201231.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by DFIN XBRL Instance Document - http://www.dfinsolutions.com/ - Version R3.0 - on 25-February-2021 [12:39:25] {AM}-->
<schema targetNamespace="http://www.repligencorp.com/20201231" elementFormDefault="qualified" xmlns:rgen="http://www.repligencorp.com/20201231" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xl="http://www.xbrl.org/2003/XLink" xmlns:us-gaap="http://fasb.org/us-gaap/2020-01-31" xmlns:country="http://xbrl.sec.gov/country/2020-01-31" xmlns:currency="http://xbrl.sec.gov/currency/2020-01-31" xmlns:dei="http://xbrl.sec.gov/dei/2020-01-31" xmlns:exch="http://xbrl.sec.gov/exch/2020-01-31" xmlns:naics="http://xbrl.sec.gov/naics/2017-01-31" xmlns:sic="http://xbrl.sec.gov/sic/2020-01-31" xmlns:us-types="http://fasb.org/us-types/2020-01-31" xmlns:stpr="http://xbrl.sec.gov/stpr/2018-01-31" xmlns:deprecated="http://www.xbrl.org/2009/arcrole/fact-explanatoryFact" xmlns:nonnum="http://www.xbrl.org/dtr/type/non-numeric" xmlns:num="http://www.xbrl.org/dtr/type/numeric" xmlns:srt="http://fasb.org/srt/2020-01-31" xmlns:srt-types="http://fasb.org/srt-types/2020-01-31">
<annotation>
<appinfo>
<link:roleType roleURI="http://www.repligencorp.com/role/CoverPage" id="CoverPage">
<link:definition>1001 - Document - Cover Page</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/ConsolidatedBalanceSheets" id="ConsolidatedBalanceSheets">
<link:definition>1002 - Statement - CONSOLIDATED BALANCE SHEETS</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/ConsolidatedBalanceSheetsParenthetical" id="ConsolidatedBalanceSheetsParenthetical">
<link:definition>1003 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome" id="ConsolidatedStatementsOfComprehensiveIncome">
<link:definition>1004 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquity" id="ConsolidatedStatementsOfStockholdersEquity">
<link:definition>1005 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquityParenthetical" id="ConsolidatedStatementsOfStockholdersEquityParenthetical">
<link:definition>1006 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows" id="ConsolidatedStatementsOfCashFlows">
<link:definition>1007 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlowsParenthetical" id="ConsolidatedStatementsOfCashFlowsParenthetical">
<link:definition>1008 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS (Parenthetical)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/OrganizationAndNatureOfBusiness" id="OrganizationAndNatureOfBusiness">
<link:definition>1009 - Disclosure - Organization and Nature of Business</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/SummaryOfSignificantAccountingPolicies" id="SummaryOfSignificantAccountingPolicies">
<link:definition>1010 - Disclosure - Summary of Significant Accounting Policies</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/Acquisitions" id="Acquisitions">
<link:definition>1011 - Disclosure - Acquisitions</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/Leases" id="Leases">
<link:definition>1012 - Disclosure - Leases</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/RevenueRecognition" id="RevenueRecognition">
<link:definition>1013 - Disclosure - Revenue Recognition</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/CreditLosses" id="CreditLosses">
<link:definition>1014 - Disclosure - Credit Losses</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/GoodwillAndIntangibleAssets" id="GoodwillAndIntangibleAssets">
<link:definition>1015 - Disclosure - Goodwill and Intangible Assets</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/ConsolidatedBalanceSheetDetail" id="ConsolidatedBalanceSheetDetail">
<link:definition>1016 - Disclosure - Consolidated Balance Sheet Detail</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/IncomeTaxes" id="IncomeTaxes">
<link:definition>1017 - Disclosure - Income Taxes</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/StockholdersEquity" id="StockholdersEquity">
<link:definition>1018 - Disclosure - Stockholders' Equity</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/CommitmentsAndContingencies" id="CommitmentsAndContingencies">
<link:definition>1019 - Disclosure - Commitments and Contingencies</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/ConvertibleSeniorNotes" id="ConvertibleSeniorNotes">
<link:definition>1020 - Disclosure - Convertible Senior Notes</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/AccumulatedOtherComprehensiveIncomeLoss" id="AccumulatedOtherComprehensiveIncomeLoss">
<link:definition>1021 - Disclosure - Accumulated Other Comprehensive Income (Loss)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/EmployeeBenefitPlans" id="EmployeeBenefitPlans">
<link:definition>1022 - Disclosure - Employee Benefit Plans</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/RelatedPartyTransactions" id="RelatedPartyTransactions">
<link:definition>1023 - Disclosure - Related Party Transactions</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/SelectedQuarterlyFinancialDataUnaudited" id="SelectedQuarterlyFinancialDataUnaudited">
<link:definition>1024 - Disclosure - Selected Quarterly Financial Data (Unaudited)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesPolicies" id="SummaryOfSignificantAccountingPoliciesPolicies">
<link:definition>1025 - Disclosure - Summary of Significant Accounting Policies (Policies)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesTables" id="SummaryOfSignificantAccountingPoliciesTables">
<link:definition>1026 - Disclosure - Summary of Significant Accounting Policies (Tables)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/AcquisitionsTables" id="AcquisitionsTables">
<link:definition>1027 - Disclosure - Acquisitions (Tables)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/LeasesTables" id="LeasesTables">
<link:definition>1028 - Disclosure - Leases (Tables)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/RevenueRecognitionTables" id="RevenueRecognitionTables">
<link:definition>1029 - Disclosure - Revenue Recognition (Tables)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/CreditLossesTables" id="CreditLossesTables">
<link:definition>1030 - Disclosure - Credit Losses (Tables)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsTables" id="GoodwillAndIntangibleAssetsTables">
<link:definition>1031 - Disclosure - Goodwill and Intangible Assets (Tables)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/ConsolidatedBalanceSheetDetailTables" id="ConsolidatedBalanceSheetDetailTables">
<link:definition>1032 - Disclosure - Consolidated Balance Sheet Detail (Tables)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/IncomeTaxesTables" id="IncomeTaxesTables">
<link:definition>1033 - Disclosure - Income Taxes (Tables)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/StockholdersEquityTables" id="StockholdersEquityTables">
<link:definition>1034 - Disclosure - Stockholders' Equity (Tables)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/ConvertibleSeniorNotesTables" id="ConvertibleSeniorNotesTables">
<link:definition>1035 - Disclosure - Convertible Senior Notes (Tables)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/AccumulatedOtherComprehensiveIncomeLossTables" id="AccumulatedOtherComprehensiveIncomeLossTables">
<link:definition>1036 - Disclosure - Accumulated Other Comprehensive Income (Loss) (Tables)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/SelectedQuarterlyFinancialDataUnauditedTables" id="SelectedQuarterlyFinancialDataUnauditedTables">
<link:definition>1037 - Disclosure - Selected Quarterly Financial Data (Unaudited) (Tables)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" id="SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail">
<link:definition>1038 - Disclosure - Summary Of Significant Accounting Policies  -  Additional Information (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/ScheduleOfCashCashEquivalentsAndRestrictedCashDetail" id="ScheduleOfCashCashEquivalentsAndRestrictedCashDetail">
<link:definition>1039 - Disclosure - Schedule of Cash, Cash Equivalents and Restricted Cash (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/EstimatedUsefulLifeOfAssetsDetail" id="EstimatedUsefulLifeOfAssetsDetail">
<link:definition>1040 - Disclosure - Estimated Useful Life of Assets (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/ReconciliationOfBasicAndDilutedSharesAmountsDetail" id="ReconciliationOfBasicAndDilutedSharesAmountsDetail">
<link:definition>1041 - Disclosure - Reconciliation of Basic and Diluted Shares Amounts (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/SummaryOfProductRevenuesByProductLineDetail" id="SummaryOfProductRevenuesByProductLineDetail">
<link:definition>1042 - Disclosure - Summary of Product Revenues by Product Line (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/PercentageOfRevenueByGeographicAreaDetail" id="PercentageOfRevenueByGeographicAreaDetail">
<link:definition>1043 - Disclosure - Percentage of Revenue by Geographic Area (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/TotalAssetsByGeographicAreaDetail" id="TotalAssetsByGeographicAreaDetail">
<link:definition>1044 - Disclosure - Total Assets by Geographic Area (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/LongLivedAssetsByGeographicAreaDetail" id="LongLivedAssetsByGeographicAreaDetail">
<link:definition>1045 - Disclosure - Long Lived Assets by Geographic Area (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/PercentageOfRevenueFromSignificantCustomersDetail" id="PercentageOfRevenueFromSignificantCustomersDetail">
<link:definition>1046 - Disclosure - Percentage of Revenue from Significant Customers (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail" id="AcquisitionsAdditionalInformationDetail">
<link:definition>1047 - Disclosure - Acquisitions - Additional Information (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/AcquisitionsConsiderationTransferredDetail" id="AcquisitionsConsiderationTransferredDetail">
<link:definition>1048 - Disclosure - Acquisitions (Consideration Transferred) (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/AcquisitionsFairValueOfNetAssetsAcquiredDetail" id="AcquisitionsFairValueOfNetAssetsAcquiredDetail">
<link:definition>1049 - Disclosure - Acquisitions (Fair Value of Net Assets Acquired) (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/AcquisitionsEstimatedUsefulLifeAndFairValueDetail" id="AcquisitionsEstimatedUsefulLifeAndFairValueDetail">
<link:definition>1050 - Disclosure - Acquisitions (Estimated Useful Life and Fair Value) (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/AcquisitionsUnauditedSupplementalProFormaInformationDetail" id="AcquisitionsUnauditedSupplementalProFormaInformationDetail">
<link:definition>1051 - Disclosure - Acquisitions (Unaudited Supplemental Pro Forma Information) (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/LeasesAdditionalInformationDetail" id="LeasesAdditionalInformationDetail">
<link:definition>1052 - Disclosure - Leases - Additional Information (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetail" id="LeasesMaturitiesOfLeaseLiabilitiesDetail">
<link:definition>1053 - Disclosure - Leases (Maturities of lease liabilities) (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/LeasesConsolidatedBalanceSheetDetail" id="LeasesConsolidatedBalanceSheetDetail">
<link:definition>1054 - Disclosure - Leases (Consolidated Balance Sheet) (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/LeasesConsolidatedStatementsOfComprehensiveIncomeDetail" id="LeasesConsolidatedStatementsOfComprehensiveIncomeDetail">
<link:definition>1055 - Disclosure - Leases (Consolidated Statements of Comprehensive Income) (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/LeasesConsolidatedStatementsOfCashFlowsRelatedToOperatingLeasesDetail" id="LeasesConsolidatedStatementsOfCashFlowsRelatedToOperatingLeasesDetail">
<link:definition>1056 - Disclosure - Leases (Consolidated Statements of Cash flows Related to Operating Leases) (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/LeasesOperatingLeaseLiabilitiesDetail" id="LeasesOperatingLeaseLiabilitiesDetail">
<link:definition>1057 - Schedule - Leases (Operating Lease Liabilities) (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/SummaryOfDisaggregationOfProductRevenuesFromContractsWithCustomersByMajorProductLineDetail" id="SummaryOfDisaggregationOfProductRevenuesFromContractsWithCustomersByMajorProductLineDetail">
<link:definition>1058 - Schedule - Summary of Disaggregation of Product Revenues from Contracts with Customers by Major Product Line (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/RevenueFromSignificantCustomersDetail" id="RevenueFromSignificantCustomersDetail">
<link:definition>1059 - Disclosure - Revenue from Significant Customers (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/SummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail" id="SummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail">
<link:definition>1060 - Disclosure - Summary of Receivables and Deferred Revenue from Contracts with Customers (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/CreditLossesSummaryOfAllowanceForCreditLossesForAccountsReceivablesDetail" id="CreditLossesSummaryOfAllowanceForCreditLossesForAccountsReceivablesDetail">
<link:definition>1061 - Schedule - Credit Losses - Summary Of Allowance For Credit Losses For Accounts Receivables (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/CreditLossesAdditionalInformationDetail" id="CreditLossesAdditionalInformationDetail">
<link:definition>1062 - Schedule - Credit Losses - Additional Information (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/ChangesInCarryingValueOfGoodwillDetail" id="ChangesInCarryingValueOfGoodwillDetail">
<link:definition>1063 - Disclosure - Changes in Carrying Value of Goodwill (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsDetail" id="GoodwillAndIntangibleAssetsDetail">
<link:definition>1064 - Disclosure - Goodwill and Intangible Assets (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail" id="GoodwillAndIntangibleAssetsAdditionalInformationDetail">
<link:definition>1065 - Disclosure - Goodwill and Intangible Assets - Additional Information (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/AmortizationExpenseForAmortizedIntangibleAssetsDetail" id="AmortizationExpenseForAmortizedIntangibleAssetsDetail">
<link:definition>1066 - Disclosure - Amortization Expense for Amortized Intangible Assets (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/ScheduleOfInventoriesDetail" id="ScheduleOfInventoriesDetail">
<link:definition>1067 - Disclosure - Schedule of Inventories (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/PrepaidExpensesAndOtherCurrentAssetsDetail" id="PrepaidExpensesAndOtherCurrentAssetsDetail">
<link:definition>1068 - Disclosure - Prepaid Expenses and Other Current Assets (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/PropertyPlantAndEquipmentDetail" id="PropertyPlantAndEquipmentDetail">
<link:definition>1069 - Disclosure - Property, Plant and Equipment (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/ConsolidatedBalanceSheetAdditionalInformationDetail" id="ConsolidatedBalanceSheetAdditionalInformationDetail">
<link:definition>1070 - Disclosure - Consolidated Balance Sheet - Additional Information (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/ScheduleOfAccruedLiabilitiesDetail" id="ScheduleOfAccruedLiabilitiesDetail">
<link:definition>1071 - Disclosure - Schedule of Accrued Liabilities (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/IncomeBeforeIncomeTaxesDetail" id="IncomeBeforeIncomeTaxesDetail">
<link:definition>1072 - Disclosure - Income Before Income Taxes (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/CurrentDeferredAndEquityIncomeTaxesDetail" id="CurrentDeferredAndEquityIncomeTaxesDetail">
<link:definition>1073 - Disclosure - Current, Deferred and Equity Income Taxes (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/ProvisionForIncomeTaxesByJurisdictionDetail" id="ProvisionForIncomeTaxesByJurisdictionDetail">
<link:definition>1074 - Disclosure - Provision for Income Taxes by Jurisdiction (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/IncomeTaxesAdditionalInformationDetail" id="IncomeTaxesAdditionalInformationDetail">
<link:definition>1075 - Disclosure - Income Taxes - Additional Information (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail" id="ConsolidatedDeferredTaxAssetsLiabilitiesDetail">
<link:definition>1076 - Disclosure - Consolidated Deferred Tax Assets (Liabilities) (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail" id="ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail">
<link:definition>1077 - Disclosure - Reconciliation of Federal Statutory Rate to Effective Income Tax Rate (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/SummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail" id="SummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail">
<link:definition>1078 - Disclosure - Summary of Tax Returns Periods Subject to Examination by Federal, State and Foreign Tax Authorities (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/ReconciliationOfUnrecognizedTaxBenefitsDetail" id="ReconciliationOfUnrecognizedTaxBenefitsDetail">
<link:definition>1079 - Disclosure - Reconciliation of Unrecognized Tax Benefits (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail" id="StockholdersEquityAdditionalInformationDetail">
<link:definition>1080 - Disclosure - Stockholders' Equity - Additional Information (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/StockBasedCompensationExpenseDetail" id="StockBasedCompensationExpenseDetail">
<link:definition>1081 - Disclosure - Stock-Based Compensation Expense (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/EstimatedWeightedAverageAssumptionsDetail" id="EstimatedWeightedAverageAssumptionsDetail">
<link:definition>1082 - Disclosure - Estimated Weighted Average Assumptions (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/SummaryOfOptionActivityDetail" id="SummaryOfOptionActivityDetail">
<link:definition>1083 - Disclosure - Summary of Option Activity (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/SummaryOfOptionActivityParentheticalDetail" id="SummaryOfOptionActivityParentheticalDetail">
<link:definition>1084 - Disclosure - Summary of Option Activity (Parenthetical) (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/SummaryOfRestrictedStockUnitActivityDetail" id="SummaryOfRestrictedStockUnitActivityDetail">
<link:definition>1085 - Disclosure - Summary of Restricted Stock Unit Activity (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/SummaryOfRestrictedStockUnitActivityParentheticalDetail" id="SummaryOfRestrictedStockUnitActivityParentheticalDetail">
<link:definition>1086 - Disclosure - Summary of Restricted Stock Unit Activity (Parenthetical) (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/CommitmentsAndContingenciesAdditionalInformationDetail" id="CommitmentsAndContingenciesAdditionalInformationDetail">
<link:definition>1087 - Disclosure - Commitments and Contingencies - Additional Information (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/CarryingValueOfConvertibleSeniorNotesDetail" id="CarryingValueOfConvertibleSeniorNotesDetail">
<link:definition>1088 - Disclosure - Carrying Value of Convertible Senior Notes (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail" id="ConvertibleSeniorNotesAdditionalInformationDetail">
<link:definition>1089 - Disclosure - Convertible Senior Notes - Additional Information (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/ChangeInChangeInAccumulatedOtherComprehensiveLossDetailDetail" id="ChangeInChangeInAccumulatedOtherComprehensiveLossDetailDetail">
<link:definition>1090 - Disclosure - Change in Change in Accumulated Other Comprehensive Loss (Detail) (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/EmployeeBenefitPlansAdditionalInformationDetail" id="EmployeeBenefitPlansAdditionalInformationDetail">
<link:definition>1091 - Disclosure - Employee Benefit Plans - Additional Information (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/RelatedPartyTransactionsAdditionalInformationDetail" id="RelatedPartyTransactionsAdditionalInformationDetail">
<link:definition>1092 - Disclosure - Related Party Transactions - Additional Information (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/ConsolidatedStatementsOfOperationsInformationForEachOfPreviousEightQuartersDetail" id="ConsolidatedStatementsOfOperationsInformationForEachOfPreviousEightQuartersDetail">
<link:definition>1093 - Disclosure - Consolidated Statements of Operations Information for Each of Previous Eight Quarters (Detail)</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.repligencorp.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetailAlternate1" id="LeasesMaturitiesOfLeaseLiabilitiesDetailAlternate1">
<link:definition>1094 - Statement - Leases (Maturities of lease liabilities) (Detail) Alternate 1</link:definition>
<link:usedOn>link:presentationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:calculationLink</link:usedOn>
</link:roleType>
<link:linkbaseRef xlink:type="simple" xlink:href="rgen-20201231_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
<link:linkbaseRef xlink:type="simple" xlink:href="rgen-20201231_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
<link:linkbaseRef xlink:type="simple" xlink:href="rgen-20201231_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
<link:linkbaseRef xlink:type="simple" xlink:href="rgen-20201231_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
</appinfo>
</annotation>
<import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd" />
<import namespace="http://www.xbrl.org/2003/linkbase" schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" />
<import namespace="http://xbrl.org/2005/xbrldt" schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd" />
<import namespace="http://fasb.org/us-gaap/2020-01-31" schemaLocation="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd" />
<import namespace="http://xbrl.sec.gov/country/2020-01-31" schemaLocation="https://xbrl.sec.gov/country/2020/country-2020-01-31.xsd" />
<import namespace="http://xbrl.sec.gov/currency/2020-01-31" schemaLocation="https://xbrl.sec.gov/currency/2020/currency-2020-01-31.xsd" />
<import namespace="http://xbrl.sec.gov/exch/2020-01-31" schemaLocation="https://xbrl.sec.gov/exch/2020/exch-2020-01-31.xsd" />
<import namespace="http://xbrl.sec.gov/naics/2017-01-31" schemaLocation="https://xbrl.sec.gov/naics/2017/naics-2017-01-31.xsd" />
<import namespace="http://xbrl.sec.gov/sic/2020-01-31" schemaLocation="https://xbrl.sec.gov/sic/2020/sic-2020-01-31.xsd" />
<import namespace="http://xbrl.sec.gov/stpr/2018-01-31" schemaLocation="https://xbrl.sec.gov/stpr/2018/stpr-2018-01-31.xsd" />
<import namespace="http://www.xbrl.org/2009/role/negated" schemaLocation="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd" />
<import namespace="http://www.xbrl.org/2009/role/net" schemaLocation="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd" />
<import namespace="http://www.xbrl.org/2009/arcrole/fact-explanatoryFact" schemaLocation="http://www.xbrl.org/lrr/arcrole/factExplanatory-2009-12-16.xsd" />
<import namespace="http://xbrl.sec.gov/dei/2020-01-31" schemaLocation="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd" />
<import namespace="http://www.xbrl.org/dtr/type/numeric" schemaLocation="http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd" />
<import namespace="http://www.xbrl.org/dtr/type/non-numeric" schemaLocation="http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd" />
<import namespace="http://fasb.org/us-types/2020-01-31" schemaLocation="http://xbrl.fasb.org/us-gaap/2020/elts/us-types-2020-01-31.xsd" />
<import namespace="http://fasb.org/srt-types/2020-01-31" schemaLocation="http://xbrl.fasb.org/srt/2020/elts/srt-types-2020-01-31.xsd" />
<import namespace="http://fasb.org/srt/2020-01-31" schemaLocation="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd" />
<element name="AdjustmentsToAdditionalPaidInCapitalReductionForEquityComponentOfConvertibleDebt" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="rgen_AdjustmentsToAdditionalPaidInCapitalReductionForEquityComponentOfConvertibleDebt" substitutionGroup="xbrli:item" xbrli:balance="debit" />
<element name="ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember" type="nonnum:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember" substitutionGroup="xbrli:item" />
<element name="IncreasedecreaseInOperatingLeaseRightOfUseAsset" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset" substitutionGroup="xbrli:item" xbrli:balance="credit" />
<element name="IncreasedecreaseInOperatingLeaseLiability" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="rgen_IncreasedecreaseInOperatingLeaseLiability" substitutionGroup="xbrli:item" xbrli:balance="debit" />
<element name="NonCashEffectOfAdoptionOfAsu201616" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="rgen_NonCashEffectOfAdoptionOfAsu201616" substitutionGroup="xbrli:item" xbrli:balance="credit" />
<element name="PropertyPlantAndEquipmentRelatedToLeaseIncentives" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="rgen_PropertyPlantAndEquipmentRelatedToLeaseIncentives" substitutionGroup="xbrli:item" xbrli:balance="debit" />
<element name="AssetsAcquiredUnderOperatingLeases" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="rgen_AssetsAcquiredUnderOperatingLeases" substitutionGroup="xbrli:item" xbrli:balance="debit" />
<element name="ArtesynBiosolutionsHoldingsIrelandLimitedMember" type="nonnum:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember" substitutionGroup="xbrli:item" />
<element name="CTechnologiesIncMember" type="nonnum:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_CTechnologiesIncMember" substitutionGroup="xbrli:item" />
<element name="AccruedLiabilitiesPolicyTextBlock" type="nonnum:textBlockItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="rgen_AccruedLiabilitiesPolicyTextBlock" substitutionGroup="xbrli:item" />
<element name="RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock" type="nonnum:textBlockItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="rgen_RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock" substitutionGroup="xbrli:item" />
<element name="ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock" type="nonnum:textBlockItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock" substitutionGroup="xbrli:item" />
<element name="ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock" type="nonnum:textBlockItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock" substitutionGroup="xbrli:item" />
<element name="SalesRevenuesGoodsNetMember" type="nonnum:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_SalesRevenuesGoodsNetMember" substitutionGroup="xbrli:item" />
<element name="ArtesynBiosolutionsMember" type="nonnum:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_ArtesynBiosolutionsMember" substitutionGroup="xbrli:item" />
<element name="CTechnologiesMember" type="nonnum:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_CTechnologiesMember" substitutionGroup="xbrli:item" />
<element name="NonMetallicSolutionsMember" type="nonnum:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_NonMetallicSolutionsMember" substitutionGroup="xbrli:item" />
<element name="EngineeredMoldingTechnologyLlcMember" type="nonnum:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_EngineeredMoldingTechnologyLlcMember" substitutionGroup="xbrli:item" />
<element name="ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock" type="nonnum:textBlockItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock" substitutionGroup="xbrli:item" />
<element name="ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock" type="nonnum:textBlockItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="rgen_ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock" substitutionGroup="xbrli:item" />
<element name="AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock" type="nonnum:textBlockItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="rgen_AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock" substitutionGroup="xbrli:item" />
<element name="ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock" type="nonnum:textBlockItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="rgen_ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock" substitutionGroup="xbrli:item" />
<element name="ScheduleOfRevenueByMajorCustomersTableTextBlock" type="nonnum:textBlockItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="rgen_ScheduleOfRevenueByMajorCustomersTableTextBlock" substitutionGroup="xbrli:item" />
<element name="ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock" type="nonnum:textBlockItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock" substitutionGroup="xbrli:item" />
<element name="SummaryOfSignificantAccountingPoliciesTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_SummaryOfSignificantAccountingPoliciesTable" substitutionGroup="xbrldt:hypercubeItem" />
<element name="NonEmployeeDirectorStockOptionMember" type="nonnum:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_NonEmployeeDirectorStockOptionMember" substitutionGroup="xbrli:item" />
<element name="OptionToPurchaseCommonStockMember" type="nonnum:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_OptionToPurchaseCommonStockMember" substitutionGroup="xbrli:item" />
<element name="CytivaMember" type="nonnum:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_CytivaMember" substitutionGroup="xbrli:item" />
<element name="SummaryOfSignificantAccountingPoliciesLineItems" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_SummaryOfSignificantAccountingPoliciesLineItems" substitutionGroup="xbrli:item" />
<element name="PercentageOfSharesSubjectToForfeiture" type="num:percentItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="rgen_PercentageOfSharesSubjectToForfeiture" substitutionGroup="xbrli:item" />
<element name="NonExecutiveMember" type="nonnum:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_NonExecutiveMember" substitutionGroup="xbrli:item" />
<element name="FurnitureFixturesAndOfficeEquipmentMemberMember" type="nonnum:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_FurnitureFixturesAndOfficeEquipmentMemberMember" substitutionGroup="xbrli:item" />
<element name="ComputerHardwareAndSoftwareMemberMember" type="nonnum:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_ComputerHardwareAndSoftwareMemberMember" substitutionGroup="xbrli:item" />
<element name="ReconciliationOfBasicAndDilutedAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_ReconciliationOfBasicAndDilutedAbstract" substitutionGroup="xbrli:item" />
<element name="ScheduleOfEarningsPerShareBasicAndDilutedTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable" substitutionGroup="xbrldt:hypercubeItem" />
<element name="ScheduleOfEarningsPerShareBasicAndDilutedLineItems" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems" substitutionGroup="xbrli:item" />
<element name="ChromatographyProductsMember" type="nonnum:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_ChromatographyProductsMember" substitutionGroup="xbrli:item" />
<element name="FiltrationProductsMember" type="nonnum:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_FiltrationProductsMember" substitutionGroup="xbrli:item" />
<element name="ProcessAnalyticsProductsMember" type="nonnum:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_ProcessAnalyticsProductsMember" substitutionGroup="xbrli:item" />
<element name="ProteinsProductsMember" type="nonnum:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_ProteinsProductsMember" substitutionGroup="xbrli:item" />
<element name="OtherProductsMember" type="nonnum:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_OtherProductsMember" substitutionGroup="xbrli:item" />
<element name="APACOtherMember" type="nonnum:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_APACOtherMember" substitutionGroup="xbrli:item" />
<element name="APACMember" type="nonnum:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_APACMember" substitutionGroup="xbrli:item" />
<element name="AssetsNonCurrentExcludingDifferedTaxAssets" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="rgen_AssetsNonCurrentExcludingDifferedTaxAssets" substitutionGroup="xbrli:item" xbrli:balance="debit" />
<element name="MilliporeSigmaMember" type="nonnum:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_MilliporeSigmaMember" substitutionGroup="xbrli:item" />
<element name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets" substitutionGroup="xbrli:item" xbrli:balance="debit" />
<element name="BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices" substitutionGroup="xbrli:item" xbrli:balance="credit" />
<element name="BusinessCombinationsCashDepositedInEscrowAccount" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="rgen_BusinessCombinationsCashDepositedInEscrowAccount" substitutionGroup="xbrli:item" xbrli:balance="credit" />
<element name="BusinessCombinationConsiderationIndemnificationEscrow" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="rgen_BusinessCombinationConsiderationIndemnificationEscrow" substitutionGroup="xbrli:item" xbrli:balance="credit" />
<element name="CashConsiderationExcludingRestrictedCash" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="rgen_CashConsiderationExcludingRestrictedCash" substitutionGroup="xbrli:item" xbrli:balance="credit" />
<element name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRestrictedCash" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRestrictedCash" substitutionGroup="xbrli:item" xbrli:balance="debit" />
<element name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" substitutionGroup="xbrli:item" xbrli:balance="debit" />
<element name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent" substitutionGroup="xbrli:item" xbrli:balance="credit" />
<element name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" substitutionGroup="xbrli:item" xbrli:balance="credit" />
<element name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent" substitutionGroup="xbrli:item" xbrli:balance="credit" />
<element name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityCurrent" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityCurrent" substitutionGroup="xbrli:item" xbrli:balance="credit" />
<element name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesNotesPayable" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesNotesPayable" substitutionGroup="xbrli:item" xbrli:balance="credit" />
<element name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedBonus" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedBonus" substitutionGroup="xbrli:item" xbrli:balance="credit" />
<element name="IncreaseDecreaseInRightOfUseAssets" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="rgen_IncreaseDecreaseInRightOfUseAssets" substitutionGroup="xbrli:item" xbrli:balance="debit" />
<element name="IncreaseDecreaseInOperatingLeaseLiabilities" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="rgen_IncreaseDecreaseInOperatingLeaseLiabilities" substitutionGroup="xbrli:item" xbrli:balance="debit" />
<element name="MarlboroughMassachusettsMember" type="nonnum:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_MarlboroughMassachusettsMember" substitutionGroup="xbrli:item" />
<element name="VariableOperatingLeaseCost" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="rgen_VariableOperatingLeaseCost" substitutionGroup="xbrli:item" xbrli:balance="debit" />
<element name="SpectrumIncMember" type="nonnum:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_SpectrumIncMember" substitutionGroup="xbrli:item" />
<element name="ScheduleOfIntangibleAssetsTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_ScheduleOfIntangibleAssetsTable" substitutionGroup="xbrldt:hypercubeItem" />
<element name="IntangibleAssetsLineItems" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_IntangibleAssetsLineItems" substitutionGroup="xbrli:item" />
<element name="IndefiniteLivedIntangibleAssetsNet" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="rgen_IndefiniteLivedIntangibleAssetsNet" substitutionGroup="xbrli:item" xbrli:balance="debit" />
<element name="IndefiniteLivedIntangibleAssetsAccumulatedAmortization" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization" substitutionGroup="xbrli:item" xbrli:balance="credit" />
<element name="FiniteLivedIntangibleLiabilitiesLineItems" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_FiniteLivedIntangibleLiabilitiesLineItems" substitutionGroup="xbrli:item" />
<element name="UncategorizedAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_UncategorizedAbstract" substitutionGroup="xbrli:item" />
<element name="PrepaidExpensesAndOtherCurrentAssetsTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_PrepaidExpensesAndOtherCurrentAssetsTable" substitutionGroup="xbrldt:hypercubeItem" />
<element name="PrepaidExpensesAndOtherCurrentAssetsLineItems" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems" substitutionGroup="xbrli:item" />
<element name="PrepaidServicesAndProfessionalFees" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="rgen_PrepaidServicesAndProfessionalFees" substitutionGroup="xbrli:item" xbrli:balance="debit" />
<element name="FacilityAxis" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_FacilityAxis" substitutionGroup="xbrldt:dimensionItem" />
<element name="FacilityDomain" type="nonnum:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_FacilityDomain" substitutionGroup="xbrli:item" />
<element name="RgenFacilityAxis" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_RgenFacilityAxis" substitutionGroup="xbrldt:dimensionItem" />
<element name="RgenFacilityDomain" type="nonnum:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_RgenFacilityDomain" substitutionGroup="xbrli:item" />
<element name="ScheduleOfAccruedLiabilitiesTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_ScheduleOfAccruedLiabilitiesTable" substitutionGroup="xbrldt:hypercubeItem" />
<element name="ScheduleOfAccruedLiabilitiesLineItems" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_ScheduleOfAccruedLiabilitiesLineItems" substitutionGroup="xbrli:item" />
<element name="ScheduleOfIncomeBeforeIncomeTaxTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_ScheduleOfIncomeBeforeIncomeTaxTable" substitutionGroup="xbrldt:hypercubeItem" />
<element name="ScheduleOfIncomeBeforeIncomeTaxLineItems" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems" substitutionGroup="xbrli:item" />
<element name="IncomeTaxesTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_IncomeTaxesTable" substitutionGroup="xbrldt:hypercubeItem" />
<element name="IncomeTaxesLineItems" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_IncomeTaxesLineItems" substitutionGroup="xbrli:item" />
<element name="ProvisionForDeferredIncomeTaxExpenseBenefit" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="rgen_ProvisionForDeferredIncomeTaxExpenseBenefit" substitutionGroup="xbrli:item" xbrli:balance="debit" />
<element name="FederalAndStateMember" type="nonnum:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_FederalAndStateMember" substitutionGroup="xbrli:item" />
<element name="TaxYear2040Member" type="nonnum:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_TaxYear2040Member" substitutionGroup="xbrli:item" />
<element name="ForeignEarningsSubjectToOneTimeTransitionTax" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="rgen_ForeignEarningsSubjectToOneTimeTransitionTax" substitutionGroup="xbrli:item" xbrli:balance="credit" />
<element name="CoronavirusAidReliefAndEconomicSecurityFundValue" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="rgen_CoronavirusAidReliefAndEconomicSecurityFundValue" substitutionGroup="xbrli:item" xbrli:balance="credit" />
<element name="DeferredTaxLiablitiesMember" type="nonnum:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_DeferredTaxLiablitiesMember" substitutionGroup="xbrli:item" />
<element name="AccumulatedDeficitMember" type="nonnum:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_AccumulatedDeficitMember" substitutionGroup="xbrli:item" />
<element name="ScheduleOfDeferredTaxAssetsAndLiabilitiesTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable" substitutionGroup="xbrldt:hypercubeItem" />
<element name="ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems" substitutionGroup="xbrli:item" />
<element name="DeferredTaxAssetsOperatingLeases" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="rgen_DeferredTaxAssetsOperatingLeases" substitutionGroup="xbrli:item" xbrli:balance="debit" />
<element name="DeferredTaxAssetsAccruedBonus" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="rgen_DeferredTaxAssetsAccruedBonus" substitutionGroup="xbrli:item" xbrli:balance="debit" />
<element name="DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes" substitutionGroup="xbrli:item" xbrli:balance="credit" />
<element name="DeferredIncomeTaxLiabilitiesFixedAssets" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="rgen_DeferredIncomeTaxLiabilitiesFixedAssets" substitutionGroup="xbrli:item" xbrli:balance="debit" />
<element name="DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" substitutionGroup="xbrli:item" xbrli:balance="debit" />
<element name="IncomeTaxRateReconciliationTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_IncomeTaxRateReconciliationTable" substitutionGroup="xbrldt:hypercubeItem" />
<element name="IncomeTaxRateReconciliationLineItems" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_IncomeTaxRateReconciliationLineItems" substitutionGroup="xbrli:item" />
<element name="EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTax" type="num:percentItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="rgen_EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTax" substitutionGroup="xbrli:item" />
<element name="IncomeTaxReconciliationChangeInForeignTaxRateAmount" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="rgen_IncomeTaxReconciliationChangeInForeignTaxRateAmount" substitutionGroup="xbrli:item" xbrli:balance="debit" />
<element name="EffectiveIncomeTaxRateReconciliationChangeInForeignTaxRateAmount" type="num:percentItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="rgen_EffectiveIncomeTaxRateReconciliationChangeInForeignTaxRateAmount" substitutionGroup="xbrli:item" />
<element name="IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation" substitutionGroup="xbrli:item" xbrli:balance="debit" />
<element name="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation" type="num:percentItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation" substitutionGroup="xbrli:item" />
<element name="IncomeTaxReconciliationReturnToProvisionAdjustments" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="rgen_IncomeTaxReconciliationReturnToProvisionAdjustments" substitutionGroup="xbrli:item" xbrli:balance="debit" />
<element name="EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments" type="num:percentItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments" substitutionGroup="xbrli:item" />
<element name="IncomeTaxReconciliationChangeInStateTaxRate" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="rgen_IncomeTaxReconciliationChangeInStateTaxRate" substitutionGroup="xbrli:item" xbrli:balance="debit" />
<element name="EffectiveIncomeTaxRateReconciliationChangeInStateTaxRate" type="num:percentItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="rgen_EffectiveIncomeTaxRateReconciliationChangeInStateTaxRate" substitutionGroup="xbrli:item" />
<element name="TransitionTaxForAccumulatedForeignEarningsProvisionalIncomeTaxExpense" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="rgen_TransitionTaxForAccumulatedForeignEarningsProvisionalIncomeTaxExpense" substitutionGroup="xbrli:item" xbrli:balance="debit" />
<element name="UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease" substitutionGroup="xbrli:item" xbrli:balance="debit" />
<element name="StockholdersEquityNoteDisclosureTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_StockholdersEquityNoteDisclosureTable" substitutionGroup="xbrldt:hypercubeItem" />
<element name="StockholdersEquityNoteDisclosureLineItems" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_StockholdersEquityNoteDisclosureLineItems" substitutionGroup="xbrli:item" />
<element name="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares" type="xbrli:sharesItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares" substitutionGroup="xbrli:item" />
<element name="CommonStockIssuePricePerShare" type="num:perShareItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="rgen_CommonStockIssuePricePerShare" substitutionGroup="xbrli:item" />
<element name="StockOptionAndIncentivePlanMember" type="nonnum:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_StockOptionAndIncentivePlanMember" substitutionGroup="xbrli:item" />
<element name="UnderwriterMember" type="nonnum:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_UnderwriterMember" substitutionGroup="xbrli:item" />
<element name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract" substitutionGroup="xbrli:item" />
<element name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" substitutionGroup="xbrli:item" xbrli:balance="debit" />
<element name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm" type="xbrli:durationItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm" substitutionGroup="xbrli:item" />
<element name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber" type="xbrli:sharesItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber" substitutionGroup="xbrli:item" />
<element name="CommitmentsAndContingenciesTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_CommitmentsAndContingenciesTable" substitutionGroup="xbrldt:hypercubeItem" />
<element name="CommitmentsAndContingenciesLineItems" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_CommitmentsAndContingenciesLineItems" substitutionGroup="xbrli:item" />
<element name="CapacityOfBioreactors" type="num:volumeItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="rgen_CapacityOfBioreactors" substitutionGroup="xbrli:item" />
<element name="AmendmentAxis" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_AmendmentAxis" substitutionGroup="xbrldt:dimensionItem" />
<element name="AmendmentDomain" type="nonnum:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_AmendmentDomain" substitutionGroup="xbrli:item" />
<element name="NGLImpactAMember" type="nonnum:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_NGLImpactAMember" substitutionGroup="xbrli:item" />
<element name="ZeropointthreesevenfivepercentageconvertibleseniornotesduetwentytwentyfourmemberMember" type="nonnum:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_ZeropointthreesevenfivepercentageconvertibleseniornotesduetwentytwentyfourmemberMember" substitutionGroup="xbrli:item" />
<element name="TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMember" type="nonnum:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMember" substitutionGroup="xbrli:item" />
<element name="ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" type="nonnum:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" substitutionGroup="xbrli:item" />
<element name="DebtInstrumentFaceAmountRemaining" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="rgen_DebtInstrumentFaceAmountRemaining" substitutionGroup="xbrli:item" xbrli:balance="debit" />
<element name="DebtInstrumentConvertibleIntoEquity" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="rgen_DebtInstrumentConvertibleIntoEquity" substitutionGroup="xbrli:item" xbrli:balance="credit" />
<element name="OptionToPurchaseAdditionalDebtFaceAmount" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="rgen_OptionToPurchaseAdditionalDebtFaceAmount" substitutionGroup="xbrli:item" xbrli:balance="credit" />
<element name="DiscountRate" type="num:percentItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="rgen_DiscountRate" substitutionGroup="xbrli:item" />
<element name="ConvertibleNotesTransactionCostsOfLiabilityComponent" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent" substitutionGroup="xbrli:item" xbrli:balance="debit" />
<element name="ConvertibleNotesTransactionCostsOfEquityComponent" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" nillable="true" id="rgen_ConvertibleNotesTransactionCostsOfEquityComponent" substitutionGroup="xbrli:item" xbrli:balance="debit" />
<element name="DefinedContribution401KPlanMember" type="nonnum:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_DefinedContribution401KPlanMember" substitutionGroup="xbrli:item" />
<element name="DefinedContributionPlanEmployeeEligibilityAge" type="xbrli:durationItemType" abstract="false" xbrli:periodType="duration" nillable="true" id="rgen_DefinedContributionPlanEmployeeEligibilityAge" substitutionGroup="xbrli:item" />
<element name="QuarterlyFinancialInformationTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_QuarterlyFinancialInformationTable" substitutionGroup="xbrldt:hypercubeItem" />
<element name="QuarterlyFinancialInformationLineItems" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" id="rgen_QuarterlyFinancialInformationLineItems" substitutionGroup="xbrli:item" />
</schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>8
<FILENAME>rgen-20201231_cal.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION CALCULATION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by DFIN XBRL Instance Document - http://www.dfinsolutions.com/ - Version R3.0 - on 25-February-2021 [12:39:24] {AM}-->
<linkbase xmlns="http://www.xbrl.org/2003/linkbase" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ConsolidatedBalanceSheets" roleURI="http://www.repligencorp.com/role/ConsolidatedBalanceSheets" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ConsolidatedStatementsOfComprehensiveIncome" roleURI="http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ConsolidatedStatementsOfCashFlows" roleURI="http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ScheduleOfCashCashEquivalentsAndRestrictedCashDetail" roleURI="http://www.repligencorp.com/role/ScheduleOfCashCashEquivalentsAndRestrictedCashDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ReconciliationOfBasicAndDilutedSharesAmountsDetail" roleURI="http://www.repligencorp.com/role/ReconciliationOfBasicAndDilutedSharesAmountsDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#AcquisitionsConsiderationTransferredDetail" roleURI="http://www.repligencorp.com/role/AcquisitionsConsiderationTransferredDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#LeasesMaturitiesOfLeaseLiabilitiesDetail" roleURI="http://www.repligencorp.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#LeasesConsolidatedStatementsOfComprehensiveIncomeDetail" roleURI="http://www.repligencorp.com/role/LeasesConsolidatedStatementsOfComprehensiveIncomeDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#AmortizationExpenseForAmortizedIntangibleAssetsDetail" roleURI="http://www.repligencorp.com/role/AmortizationExpenseForAmortizedIntangibleAssetsDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ScheduleOfInventoriesDetail" roleURI="http://www.repligencorp.com/role/ScheduleOfInventoriesDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#PrepaidExpensesAndOtherCurrentAssetsDetail" roleURI="http://www.repligencorp.com/role/PrepaidExpensesAndOtherCurrentAssetsDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#PropertyPlantAndEquipmentDetail" roleURI="http://www.repligencorp.com/role/PropertyPlantAndEquipmentDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ScheduleOfAccruedLiabilitiesDetail" roleURI="http://www.repligencorp.com/role/ScheduleOfAccruedLiabilitiesDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#CurrentDeferredAndEquityIncomeTaxesDetail" roleURI="http://www.repligencorp.com/role/CurrentDeferredAndEquityIncomeTaxesDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ConsolidatedDeferredTaxAssetsLiabilitiesDetail" roleURI="http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#CarryingValueOfConvertibleSeniorNotesDetail" roleURI="http://www.repligencorp.com/role/CarryingValueOfConvertibleSeniorNotesDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#LeasesMaturitiesOfLeaseLiabilitiesDetailAlternate1" roleURI="http://www.repligencorp.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetailAlternate1" />
<calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ConsolidatedBalanceSheets">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="loc_us-gaap_StockholdersEquity" use="optional" order="1" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockValue" xlink:label="loc_us-gaap_PreferredStockValue" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity" xlink:to="loc_us-gaap_PreferredStockValue" use="optional" order="2" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockValue" xlink:label="loc_us-gaap_CommonStockValue" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity" xlink:to="loc_us-gaap_CommonStockValue" use="optional" order="3" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="loc_us-gaap_AdditionalPaidInCapitalCommonStock" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity" xlink:to="loc_us-gaap_AdditionalPaidInCapitalCommonStock" use="optional" order="4" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" use="optional" order="5" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit" use="optional" order="6" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaap_Liabilities" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="loc_us-gaap_Liabilities" use="optional" order="7" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaap_LiabilitiesCurrent" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities" xlink:to="loc_us-gaap_LiabilitiesCurrent" use="optional" order="8" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaap_AccountsPayableCurrent" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent" xlink:to="loc_us-gaap_AccountsPayableCurrent" use="optional" order="9" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent" use="optional" order="10" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConvertibleNotesPayableCurrent" xlink:label="loc_us-gaap_ConvertibleNotesPayableCurrent" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent" xlink:to="loc_us-gaap_ConvertibleNotesPayableCurrent" use="optional" order="11" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent" use="optional" order="12" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxLiabilitiesNoncurrent" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesNoncurrent" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesNoncurrent" use="optional" order="13" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities" xlink:to="loc_us-gaap_OtherLiabilitiesNoncurrent" use="optional" order="14" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent" use="optional" order="15" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConvertibleLongTermNotesPayable" xlink:label="loc_us-gaap_ConvertibleLongTermNotesPayable" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities" xlink:to="loc_us-gaap_ConvertibleLongTermNotesPayable" use="optional" order="16" weight="1" />
</calculationLink>
<calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ConsolidatedBalanceSheets">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Assets" xlink:label="loc_us-gaap_Assets" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaap_AssetsCurrent" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="loc_us-gaap_AssetsCurrent" use="optional" order="17" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue" use="optional" order="18" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent" use="optional" order="19" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherReceivablesGrossCurrent" xlink:label="loc_us-gaap_OtherReceivablesGrossCurrent" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent" xlink:to="loc_us-gaap_OtherReceivablesGrossCurrent" use="optional" order="20" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaap_InventoryNet" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent" xlink:to="loc_us-gaap_InventoryNet" use="optional" order="21" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" use="optional" order="22" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="loc_us-gaap_UnbilledReceivablesCurrent" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent" xlink:to="loc_us-gaap_UnbilledReceivablesCurrent" use="optional" order="23" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedCash" xlink:label="loc_us-gaap_RestrictedCash" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent" xlink:to="loc_us-gaap_RestrictedCash" use="optional" order="24" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet" use="optional" order="25" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill" use="optional" order="26" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaap_Goodwill" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="loc_us-gaap_Goodwill" use="optional" order="27" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="loc_us-gaap_OtherAssetsNoncurrent" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="loc_us-gaap_OtherAssetsNoncurrent" use="optional" order="28" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent" xlink:label="loc_us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="loc_us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent" use="optional" order="29" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset" use="optional" order="30" weight="1" />
</calculationLink>
<calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLoss" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" use="optional" order="1" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaap_OperatingIncomeLoss" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="loc_us-gaap_OperatingIncomeLoss" use="optional" order="2" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CostsAndExpenses" xlink:label="loc_us-gaap_CostsAndExpenses" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss" xlink:to="loc_us-gaap_CostsAndExpenses" use="optional" order="3" weight="-1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CostsAndExpenses" xlink:to="loc_us-gaap_CostOfGoodsAndServicesSold" use="optional" order="4" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CostsAndExpenses" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpense" use="optional" order="5" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CostsAndExpenses" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpense" use="optional" order="6" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" use="optional" order="7" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="loc_us-gaap_NonoperatingIncomeExpense" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="loc_us-gaap_NonoperatingIncomeExpense" use="optional" order="8" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InvestmentIncomeNet" xlink:label="loc_us-gaap_InvestmentIncomeNet" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NonoperatingIncomeExpense" xlink:to="loc_us-gaap_InvestmentIncomeNet" use="optional" order="9" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NonoperatingIncomeExpense" xlink:to="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt" use="optional" order="10" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InterestExpense" xlink:label="loc_us-gaap_InterestExpense" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NonoperatingIncomeExpense" xlink:to="loc_us-gaap_InterestExpense" use="optional" order="11" weight="-1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NonoperatingIncomeExpense" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense" use="optional" order="12" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLoss" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit" use="optional" order="13" weight="-1" />
</calculationLink>
<calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="loc_us-gaap_NetIncomeLoss" use="optional" order="14" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" use="optional" order="15" weight="1" />
</calculationLink>
<calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities" use="optional" order="1" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromConvertibleDebt" xlink:label="loc_us-gaap_ProceedsFromConvertibleDebt" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaap_ProceedsFromConvertibleDebt" use="optional" order="2" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfCommonStock" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfCommonStock" use="optional" order="3" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="loc_us-gaap_ProceedsFromStockOptionsExercised" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaap_ProceedsFromStockOptionsExercised" use="optional" order="4" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RepaymentsOfConvertibleDebt" xlink:label="loc_us-gaap_RepaymentsOfConvertibleDebt" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaap_RepaymentsOfConvertibleDebt" use="optional" order="5" weight="-1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" use="optional" order="6" weight="-1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents" xlink:label="loc_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="loc_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents" use="optional" order="7" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" use="optional" order="8" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DepreciationAndAmortization" xlink:label="loc_us-gaap_DepreciationAndAmortization" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaap_DepreciationAndAmortization" use="optional" order="9" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensation" xlink:label="loc_us-gaap_ShareBasedCompensation" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaap_ShareBasedCompensation" use="optional" order="10" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefit" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaap_DeferredIncomeTaxExpenseBenefit" use="optional" order="11" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherNoncashIncomeExpense" xlink:label="loc_us-gaap_OtherNoncashIncomeExpense" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaap_OtherNoncashIncomeExpense" use="optional" order="12" weight="-1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt" use="optional" order="13" weight="-1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaap_NetIncomeLoss" use="optional" order="14" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsReceivable" use="optional" order="15" weight="-1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInOtherReceivables" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherReceivables" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherReceivables" use="optional" order="16" weight="-1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaap_IncreaseDecreaseInInventories" use="optional" order="17" weight="-1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" use="optional" order="18" weight="-1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayable" use="optional" order="19" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities" use="optional" order="20" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:label="loc_us-gaap_IncreaseDecreaseInContractWithCustomerAsset" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaap_IncreaseDecreaseInContractWithCustomerAsset" use="optional" order="21" weight="-1" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset" xlink:label="loc_RGEN_IncreasedecreaseInOperatingLeaseRightOfUseAsset" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="loc_RGEN_IncreasedecreaseInOperatingLeaseRightOfUseAsset" use="optional" order="22" weight="-1" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IncreasedecreaseInOperatingLeaseLiability" xlink:label="loc_RGEN_IncreasedecreaseInOperatingLeaseLiability" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="loc_RGEN_IncreasedecreaseInOperatingLeaseLiability" use="optional" order="23" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" use="optional" order="24" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AmortizationOfFinancingCostsAndDiscounts" xlink:label="loc_us-gaap_AmortizationOfFinancingCostsAndDiscounts" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaap_AmortizationOfFinancingCostsAndDiscounts" use="optional" order="25" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" use="optional" order="26" weight="-1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities" use="optional" order="27" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsToDevelopSoftware" xlink:label="loc_us-gaap_PaymentsToDevelopSoftware" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="loc_us-gaap_PaymentsToDevelopSoftware" use="optional" order="28" weight="-1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsToAcquireSoftware" xlink:label="loc_us-gaap_PaymentsToAcquireSoftware" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="loc_us-gaap_PaymentsToAcquireSoftware" use="optional" order="29" weight="-1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" use="optional" order="30" weight="-1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" use="optional" order="31" weight="-1" />
</calculationLink>
<calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ScheduleOfCashCashEquivalentsAndRestrictedCashDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue" use="optional" order="1" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedCash" xlink:label="loc_us-gaap_RestrictedCash" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="loc_us-gaap_RestrictedCash" use="optional" order="2" weight="1" />
</calculationLink>
<calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ReconciliationOfBasicAndDilutedSharesAmountsDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:label="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesRestrictedStock" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesRestrictedStock" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesRestrictedStock" use="optional" order="1" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:to="loc_us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities" use="optional" order="2" weight="1" />
</calculationLink>
<calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/AcquisitionsConsiderationTransferredDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferred1" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_CashConsiderationExcludingRestrictedCash" xlink:label="loc_RGEN_CashConsiderationExcludingRestrictedCash" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationConsiderationTransferred1" xlink:to="loc_RGEN_CashConsiderationExcludingRestrictedCash" use="optional" order="1" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationConsiderationTransferred1" xlink:to="loc_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" use="optional" order="2" weight="1" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices" xlink:label="loc_RGEN_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationConsiderationTransferred1" xlink:to="loc_RGEN_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices" use="optional" order="3" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationConsiderationTransferred1" xlink:to="loc_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" use="optional" order="4" weight="1" />
</calculationLink>
<calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" use="optional" order="1" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" use="optional" order="2" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" use="optional" order="3" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" use="optional" order="4" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" use="optional" order="5" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" use="optional" order="6" weight="1" />
</calculationLink>
<calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetailAlternate1">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" use="optional" order="7" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiability" xlink:label="loc_us-gaap_OperatingLeaseLiability" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="loc_us-gaap_OperatingLeaseLiability" use="optional" order="8" weight="1" />
</calculationLink>
<calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/LeasesConsolidatedStatementsOfComprehensiveIncomeDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LeaseCost" xlink:label="loc_us-gaap_LeaseCost" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseCost" xlink:label="loc_us-gaap_OperatingLeaseCost" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LeaseCost" xlink:to="loc_us-gaap_OperatingLeaseCost" use="optional" order="1" weight="1" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_VariableOperatingLeaseCost" xlink:label="loc_RGEN_VariableOperatingLeaseCost" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LeaseCost" xlink:to="loc_RGEN_VariableOperatingLeaseCost" use="optional" order="2" weight="1" />
</calculationLink>
<calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/AmortizationExpenseForAmortizedIntangibleAssetsDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" use="optional" order="1" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" use="optional" order="2" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" use="optional" order="3" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" use="optional" order="4" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" use="optional" order="5" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" use="optional" order="6" weight="1" />
</calculationLink>
<calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ScheduleOfInventoriesDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaap_InventoryNet" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="loc_us-gaap_InventoryRawMaterialsNetOfReserves" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryNet" xlink:to="loc_us-gaap_InventoryRawMaterialsNetOfReserves" use="optional" order="1" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="loc_us-gaap_InventoryWorkInProcessNetOfReserves" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryNet" xlink:to="loc_us-gaap_InventoryWorkInProcessNetOfReserves" use="optional" order="2" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="loc_us-gaap_InventoryFinishedGoodsNetOfReserves" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryNet" xlink:to="loc_us-gaap_InventoryFinishedGoodsNetOfReserves" use="optional" order="3" weight="1" />
</calculationLink>
<calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/PrepaidExpensesAndOtherCurrentAssetsDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_PrepaidServicesAndProfessionalFees" xlink:label="loc_RGEN_PrepaidServicesAndProfessionalFees" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="loc_RGEN_PrepaidServicesAndProfessionalFees" use="optional" order="1" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PrepaidTaxes" xlink:label="loc_us-gaap_PrepaidTaxes" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="loc_us-gaap_PrepaidTaxes" use="optional" order="2" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PrepaidInsurance" xlink:label="loc_us-gaap_PrepaidInsurance" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="loc_us-gaap_PrepaidInsurance" use="optional" order="3" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherAssetsCurrent" xlink:label="loc_us-gaap_OtherAssetsCurrent" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="loc_us-gaap_OtherAssetsCurrent" use="optional" order="4" weight="1" />
</calculationLink>
<calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/PropertyPlantAndEquipmentDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentNet" xlink:to="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" use="optional" order="1" weight="-1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentGross" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentNet" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentGross" use="optional" order="2" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Land" xlink:label="loc_us-gaap_Land" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentGross" xlink:to="loc_us-gaap_Land" use="optional" order="3" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BuildingsAndImprovementsGross" xlink:label="loc_us-gaap_BuildingsAndImprovementsGross" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentGross" xlink:to="loc_us-gaap_BuildingsAndImprovementsGross" use="optional" order="4" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LeaseholdImprovementsGross" xlink:label="loc_us-gaap_LeaseholdImprovementsGross" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentGross" xlink:to="loc_us-gaap_LeaseholdImprovementsGross" use="optional" order="5" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_MachineryAndEquipmentGross" xlink:label="loc_us-gaap_MachineryAndEquipmentGross" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentGross" xlink:to="loc_us-gaap_MachineryAndEquipmentGross" use="optional" order="6" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FurnitureAndFixturesGross" xlink:label="loc_us-gaap_FurnitureAndFixturesGross" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentGross" xlink:to="loc_us-gaap_FurnitureAndFixturesGross" use="optional" order="7" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConstructionInProgressGross" xlink:label="loc_us-gaap_ConstructionInProgressGross" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentGross" xlink:to="loc_us-gaap_ConstructionInProgressGross" use="optional" order="8" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentOther" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentOther" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentGross" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentOther" use="optional" order="9" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalizedComputerSoftwareGross" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareGross" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentGross" xlink:to="loc_us-gaap_CapitalizedComputerSoftwareGross" use="optional" order="10" weight="1" />
</calculationLink>
<calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ScheduleOfAccruedLiabilitiesDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent" xlink:to="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent" use="optional" order="1" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="loc_us-gaap_AccruedIncomeTaxesCurrent" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent" xlink:to="loc_us-gaap_AccruedIncomeTaxesCurrent" use="optional" order="2" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedRoyaltiesCurrent" xlink:label="loc_us-gaap_AccruedRoyaltiesCurrent" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent" xlink:to="loc_us-gaap_AccruedRoyaltiesCurrent" use="optional" order="3" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedProfessionalFeesCurrent" xlink:label="loc_us-gaap_AccruedProfessionalFeesCurrent" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent" xlink:to="loc_us-gaap_AccruedProfessionalFeesCurrent" use="optional" order="4" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredRevenueCurrent" xlink:label="loc_us-gaap_DeferredRevenueCurrent" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent" xlink:to="loc_us-gaap_DeferredRevenueCurrent" use="optional" order="5" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="loc_us-gaap_OtherAccruedLiabilitiesCurrent" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent" xlink:to="loc_us-gaap_OtherAccruedLiabilitiesCurrent" use="optional" order="6" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:label="loc_us-gaap_ProductWarrantyAccrualClassifiedCurrent" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent" xlink:to="loc_us-gaap_ProductWarrantyAccrualClassifiedCurrent" use="optional" order="7" weight="1" />
</calculationLink>
<calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/CurrentDeferredAndEquityIncomeTaxesDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_CurrentIncomeTaxExpenseBenefit" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit" xlink:to="loc_us-gaap_CurrentIncomeTaxExpenseBenefit" use="optional" order="1" weight="1" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ProvisionForDeferredIncomeTaxExpenseBenefit" xlink:label="loc_RGEN_ProvisionForDeferredIncomeTaxExpenseBenefit" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit" xlink:to="loc_RGEN_ProvisionForDeferredIncomeTaxExpenseBenefit" use="optional" order="2" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions" xlink:label="loc_us-gaap_IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit" xlink:to="loc_us-gaap_IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions" use="optional" order="3" weight="1" />
</calculationLink>
<calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxLiabilities" xlink:label="loc_us-gaap_DeferredTaxLiabilities" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="loc_us-gaap_DeferredTaxAssetsNet" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxLiabilities" xlink:to="loc_us-gaap_DeferredTaxAssetsNet" use="optional" order="1" weight="-1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="loc_us-gaap_DeferredTaxAssetsGross" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsNet" xlink:to="loc_us-gaap_DeferredTaxAssetsGross" use="optional" order="2" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsGross" xlink:to="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" use="optional" order="3" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwards" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxCreditCarryforwards" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsGross" xlink:to="loc_us-gaap_DeferredTaxAssetsTaxCreditCarryforwards" use="optional" order="4" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpense" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpense" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsGross" xlink:to="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpense" use="optional" order="5" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpense" xlink:to="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" use="optional" order="6" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpense" xlink:to="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther" use="optional" order="7" weight="1" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_DeferredTaxAssetsOperatingLeases" xlink:label="loc_RGEN_DeferredTaxAssetsOperatingLeases" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpense" xlink:to="loc_RGEN_DeferredTaxAssetsOperatingLeases" use="optional" order="8" weight="1" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_DeferredTaxAssetsAccruedBonus" xlink:label="loc_RGEN_DeferredTaxAssetsAccruedBonus" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpense" xlink:to="loc_RGEN_DeferredTaxAssetsAccruedBonus" use="optional" order="9" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="loc_us-gaap_DeferredTaxAssetsValuationAllowance" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsNet" xlink:to="loc_us-gaap_DeferredTaxAssetsValuationAllowance" use="optional" order="10" weight="-1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilities" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxLiabilities" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilities" use="optional" order="11" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredIncomeTaxLiabilities" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" use="optional" order="12" weight="1" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes" xlink:label="loc_RGEN_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredIncomeTaxLiabilities" xlink:to="loc_RGEN_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes" use="optional" order="13" weight="1" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" xlink:label="loc_RGEN_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredIncomeTaxLiabilities" xlink:to="loc_RGEN_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" use="optional" order="14" weight="-1" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_DeferredIncomeTaxLiabilitiesFixedAssets" xlink:label="loc_RGEN_DeferredIncomeTaxLiabilitiesFixedAssets" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredIncomeTaxLiabilities" xlink:to="loc_RGEN_DeferredIncomeTaxLiabilitiesFixedAssets" use="optional" order="15" weight="-1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredIncomeTaxLiabilities" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill" use="optional" order="16" weight="1" />
</calculationLink>
<calculationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/CarryingValueOfConvertibleSeniorNotesDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongTermDebt" xlink:label="loc_us-gaap_LongTermDebt" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="loc_us-gaap_DebtInstrumentCarryingAmount" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LongTermDebt" xlink:to="loc_us-gaap_DebtInstrumentCarryingAmount" use="optional" order="1" weight="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentUnamortizedDiscount" xlink:label="loc_us-gaap_DebtInstrumentUnamortizedDiscount" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LongTermDebt" xlink:to="loc_us-gaap_DebtInstrumentUnamortizedDiscount" use="optional" order="2" weight="-1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredFinanceCostsNet" xlink:label="loc_us-gaap_DeferredFinanceCostsNet" />
<calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LongTermDebt" xlink:to="loc_us-gaap_DeferredFinanceCostsNet" use="optional" order="3" weight="-1" />
</calculationLink>
</linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>9
<FILENAME>rgen-20201231_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by DFIN XBRL Instance Document - http://www.dfinsolutions.com/ - Version R3.0 - on 25-February-2021 [12:39:25] {AM}-->
<linkbase xmlns="http://www.xbrl.org/2003/linkbase" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:xbrldt="http://xbrl.org/2005/xbrldt">
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ConsolidatedBalanceSheets" roleURI="http://www.repligencorp.com/role/ConsolidatedBalanceSheets" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ConsolidatedBalanceSheetsParenthetical" roleURI="http://www.repligencorp.com/role/ConsolidatedBalanceSheetsParenthetical" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ConsolidatedStatementsOfComprehensiveIncome" roleURI="http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ConsolidatedStatementsOfStockholdersEquity" roleURI="http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquity" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ConsolidatedStatementsOfStockholdersEquityParenthetical" roleURI="http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquityParenthetical" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ConsolidatedStatementsOfCashFlows" roleURI="http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ConsolidatedStatementsOfCashFlowsParenthetical" roleURI="http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlowsParenthetical" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#OrganizationAndNatureOfBusiness" roleURI="http://www.repligencorp.com/role/OrganizationAndNatureOfBusiness" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#SummaryOfSignificantAccountingPolicies" roleURI="http://www.repligencorp.com/role/SummaryOfSignificantAccountingPolicies" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#Acquisitions" roleURI="http://www.repligencorp.com/role/Acquisitions" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#IncomeTaxes" roleURI="http://www.repligencorp.com/role/IncomeTaxes" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#StockholdersEquity" roleURI="http://www.repligencorp.com/role/StockholdersEquity" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#CommitmentsAndContingencies" roleURI="http://www.repligencorp.com/role/CommitmentsAndContingencies" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ConvertibleSeniorNotes" roleURI="http://www.repligencorp.com/role/ConvertibleSeniorNotes" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#AccumulatedOtherComprehensiveIncomeLoss" roleURI="http://www.repligencorp.com/role/AccumulatedOtherComprehensiveIncomeLoss" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#EmployeeBenefitPlans" roleURI="http://www.repligencorp.com/role/EmployeeBenefitPlans" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#RelatedPartyTransactions" roleURI="http://www.repligencorp.com/role/RelatedPartyTransactions" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#SelectedQuarterlyFinancialDataUnaudited" roleURI="http://www.repligencorp.com/role/SelectedQuarterlyFinancialDataUnaudited" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#SummaryOfSignificantAccountingPoliciesPolicies" roleURI="http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesPolicies" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#SummaryOfSignificantAccountingPoliciesTables" roleURI="http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesTables" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#AcquisitionsTables" roleURI="http://www.repligencorp.com/role/AcquisitionsTables" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#LeasesTables" roleURI="http://www.repligencorp.com/role/LeasesTables" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#RevenueRecognitionTables" roleURI="http://www.repligencorp.com/role/RevenueRecognitionTables" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#GoodwillAndIntangibleAssetsTables" roleURI="http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsTables" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ConsolidatedBalanceSheetDetailTables" roleURI="http://www.repligencorp.com/role/ConsolidatedBalanceSheetDetailTables" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#IncomeTaxesTables" roleURI="http://www.repligencorp.com/role/IncomeTaxesTables" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#StockholdersEquityTables" roleURI="http://www.repligencorp.com/role/StockholdersEquityTables" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ConvertibleSeniorNotesTables" roleURI="http://www.repligencorp.com/role/ConvertibleSeniorNotesTables" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#AccumulatedOtherComprehensiveIncomeLossTables" roleURI="http://www.repligencorp.com/role/AccumulatedOtherComprehensiveIncomeLossTables" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#SelectedQuarterlyFinancialDataUnauditedTables" roleURI="http://www.repligencorp.com/role/SelectedQuarterlyFinancialDataUnauditedTables" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" roleURI="http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ScheduleOfCashCashEquivalentsAndRestrictedCashDetail" roleURI="http://www.repligencorp.com/role/ScheduleOfCashCashEquivalentsAndRestrictedCashDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#EstimatedUsefulLifeOfAssetsDetail" roleURI="http://www.repligencorp.com/role/EstimatedUsefulLifeOfAssetsDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ReconciliationOfBasicAndDilutedSharesAmountsDetail" roleURI="http://www.repligencorp.com/role/ReconciliationOfBasicAndDilutedSharesAmountsDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#SummaryOfProductRevenuesByProductLineDetail" roleURI="http://www.repligencorp.com/role/SummaryOfProductRevenuesByProductLineDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#PercentageOfRevenueByGeographicAreaDetail" roleURI="http://www.repligencorp.com/role/PercentageOfRevenueByGeographicAreaDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#TotalAssetsByGeographicAreaDetail" roleURI="http://www.repligencorp.com/role/TotalAssetsByGeographicAreaDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#LongLivedAssetsByGeographicAreaDetail" roleURI="http://www.repligencorp.com/role/LongLivedAssetsByGeographicAreaDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#PercentageOfRevenueFromSignificantCustomersDetail" roleURI="http://www.repligencorp.com/role/PercentageOfRevenueFromSignificantCustomersDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#AcquisitionsAdditionalInformationDetail" roleURI="http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#AcquisitionsConsiderationTransferredDetail" roleURI="http://www.repligencorp.com/role/AcquisitionsConsiderationTransferredDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#AcquisitionsFairValueOfNetAssetsAcquiredDetail" roleURI="http://www.repligencorp.com/role/AcquisitionsFairValueOfNetAssetsAcquiredDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#AcquisitionsEstimatedUsefulLifeAndFairValueDetail" roleURI="http://www.repligencorp.com/role/AcquisitionsEstimatedUsefulLifeAndFairValueDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#AcquisitionsUnauditedSupplementalProFormaInformationDetail" roleURI="http://www.repligencorp.com/role/AcquisitionsUnauditedSupplementalProFormaInformationDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#LeasesAdditionalInformationDetail" roleURI="http://www.repligencorp.com/role/LeasesAdditionalInformationDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#LeasesMaturitiesOfLeaseLiabilitiesDetail" roleURI="http://www.repligencorp.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#LeasesConsolidatedStatementsOfComprehensiveIncomeDetail" roleURI="http://www.repligencorp.com/role/LeasesConsolidatedStatementsOfComprehensiveIncomeDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#LeasesConsolidatedStatementsOfCashFlowsRelatedToOperatingLeasesDetail" roleURI="http://www.repligencorp.com/role/LeasesConsolidatedStatementsOfCashFlowsRelatedToOperatingLeasesDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#LeasesOperatingLeaseLiabilitiesDetail" roleURI="http://www.repligencorp.com/role/LeasesOperatingLeaseLiabilitiesDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#SummaryOfDisaggregationOfProductRevenuesFromContractsWithCustomersByMajorProductLineDetail" roleURI="http://www.repligencorp.com/role/SummaryOfDisaggregationOfProductRevenuesFromContractsWithCustomersByMajorProductLineDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#RevenueFromSignificantCustomersDetail" roleURI="http://www.repligencorp.com/role/RevenueFromSignificantCustomersDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#SummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail" roleURI="http://www.repligencorp.com/role/SummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ChangesInCarryingValueOfGoodwillDetail" roleURI="http://www.repligencorp.com/role/ChangesInCarryingValueOfGoodwillDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#GoodwillAndIntangibleAssetsDetail" roleURI="http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#GoodwillAndIntangibleAssetsAdditionalInformationDetail" roleURI="http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#AmortizationExpenseForAmortizedIntangibleAssetsDetail" roleURI="http://www.repligencorp.com/role/AmortizationExpenseForAmortizedIntangibleAssetsDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ScheduleOfInventoriesDetail" roleURI="http://www.repligencorp.com/role/ScheduleOfInventoriesDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#PrepaidExpensesAndOtherCurrentAssetsDetail" roleURI="http://www.repligencorp.com/role/PrepaidExpensesAndOtherCurrentAssetsDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#PropertyPlantAndEquipmentDetail" roleURI="http://www.repligencorp.com/role/PropertyPlantAndEquipmentDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ConsolidatedBalanceSheetAdditionalInformationDetail" roleURI="http://www.repligencorp.com/role/ConsolidatedBalanceSheetAdditionalInformationDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ScheduleOfAccruedLiabilitiesDetail" roleURI="http://www.repligencorp.com/role/ScheduleOfAccruedLiabilitiesDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#IncomeBeforeIncomeTaxesDetail" roleURI="http://www.repligencorp.com/role/IncomeBeforeIncomeTaxesDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#CurrentDeferredAndEquityIncomeTaxesDetail" roleURI="http://www.repligencorp.com/role/CurrentDeferredAndEquityIncomeTaxesDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ProvisionForIncomeTaxesByJurisdictionDetail" roleURI="http://www.repligencorp.com/role/ProvisionForIncomeTaxesByJurisdictionDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#IncomeTaxesAdditionalInformationDetail" roleURI="http://www.repligencorp.com/role/IncomeTaxesAdditionalInformationDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ConsolidatedDeferredTaxAssetsLiabilitiesDetail" roleURI="http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail" roleURI="http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#SummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail" roleURI="http://www.repligencorp.com/role/SummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ReconciliationOfUnrecognizedTaxBenefitsDetail" roleURI="http://www.repligencorp.com/role/ReconciliationOfUnrecognizedTaxBenefitsDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#StockholdersEquityAdditionalInformationDetail" roleURI="http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#StockBasedCompensationExpenseDetail" roleURI="http://www.repligencorp.com/role/StockBasedCompensationExpenseDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#EstimatedWeightedAverageAssumptionsDetail" roleURI="http://www.repligencorp.com/role/EstimatedWeightedAverageAssumptionsDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#SummaryOfOptionActivityDetail" roleURI="http://www.repligencorp.com/role/SummaryOfOptionActivityDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#SummaryOfOptionActivityParentheticalDetail" roleURI="http://www.repligencorp.com/role/SummaryOfOptionActivityParentheticalDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#SummaryOfRestrictedStockUnitActivityDetail" roleURI="http://www.repligencorp.com/role/SummaryOfRestrictedStockUnitActivityDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#SummaryOfRestrictedStockUnitActivityParentheticalDetail" roleURI="http://www.repligencorp.com/role/SummaryOfRestrictedStockUnitActivityParentheticalDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#CommitmentsAndContingenciesAdditionalInformationDetail" roleURI="http://www.repligencorp.com/role/CommitmentsAndContingenciesAdditionalInformationDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#CarryingValueOfConvertibleSeniorNotesDetail" roleURI="http://www.repligencorp.com/role/CarryingValueOfConvertibleSeniorNotesDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ConvertibleSeniorNotesAdditionalInformationDetail" roleURI="http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ChangeInChangeInAccumulatedOtherComprehensiveLossDetailDetail" roleURI="http://www.repligencorp.com/role/ChangeInChangeInAccumulatedOtherComprehensiveLossDetailDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#EmployeeBenefitPlansAdditionalInformationDetail" roleURI="http://www.repligencorp.com/role/EmployeeBenefitPlansAdditionalInformationDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#RelatedPartyTransactionsAdditionalInformationDetail" roleURI="http://www.repligencorp.com/role/RelatedPartyTransactionsAdditionalInformationDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ConsolidatedStatementsOfOperationsInformationForEachOfPreviousEightQuartersDetail" roleURI="http://www.repligencorp.com/role/ConsolidatedStatementsOfOperationsInformationForEachOfPreviousEightQuartersDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#CoverPage" roleURI="http://www.repligencorp.com/role/CoverPage" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#RevenueRecognition" roleURI="http://www.repligencorp.com/role/RevenueRecognition" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#GoodwillAndIntangibleAssets" roleURI="http://www.repligencorp.com/role/GoodwillAndIntangibleAssets" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ConsolidatedBalanceSheetDetail" roleURI="http://www.repligencorp.com/role/ConsolidatedBalanceSheetDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#Leases" roleURI="http://www.repligencorp.com/role/Leases" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#LeasesConsolidatedBalanceSheetDetail" roleURI="http://www.repligencorp.com/role/LeasesConsolidatedBalanceSheetDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#CreditLosses" roleURI="http://www.repligencorp.com/role/CreditLosses" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#CreditLossesTables" roleURI="http://www.repligencorp.com/role/CreditLossesTables" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#CreditLossesSummaryOfAllowanceForCreditLossesForAccountsReceivablesDetail" roleURI="http://www.repligencorp.com/role/CreditLossesSummaryOfAllowanceForCreditLossesForAccountsReceivablesDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#CreditLossesAdditionalInformationDetail" roleURI="http://www.repligencorp.com/role/CreditLossesAdditionalInformationDetail" />
<arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" />
<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" />
<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" />
<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" />
<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" />
<arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/notAll" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#notAll" />
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ConsolidatedBalanceSheets">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_29" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetsAbstract" xlink:label="loc_us-gaap_AssetsAbstract_24" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_29" xlink:to="loc_us-gaap_AssetsAbstract_24" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="loc_us-gaap_AssetsCurrentAbstract_25" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsAbstract_24" xlink:to="loc_us-gaap_AssetsCurrentAbstract_25" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_40" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsCurrentAbstract_25" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_40" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaap_AssetsCurrent_44" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsCurrentAbstract_25" xlink:to="loc_us-gaap_AssetsCurrent_44" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_38" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsCurrentAbstract_25" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_38" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaap_InventoryNet_42" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsCurrentAbstract_25" xlink:to="loc_us-gaap_InventoryNet_42" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherReceivablesGrossCurrent" xlink:label="loc_us-gaap_OtherReceivablesGrossCurrent_41" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsCurrentAbstract_25" xlink:to="loc_us-gaap_OtherReceivablesGrossCurrent_41" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_43" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsCurrentAbstract_25" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_43" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="loc_us-gaap_UnbilledReceivablesCurrent_329075" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsCurrentAbstract_25" xlink:to="loc_us-gaap_UnbilledReceivablesCurrent_329075" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedCash" xlink:label="loc_us-gaap_RestrictedCash_465032" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsCurrentAbstract_25" xlink:to="loc_us-gaap_RestrictedCash_465032" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_36" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsAbstract_24" xlink:to="loc_us-gaap_OtherAssetsNoncurrent_36" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Assets" xlink:label="loc_us-gaap_Assets_37" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsAbstract_24" xlink:to="loc_us-gaap_Assets_37" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaap_Goodwill_34" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsAbstract_24" xlink:to="loc_us-gaap_Goodwill_34" use="optional" order="13" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_33" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsAbstract_24" xlink:to="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_33" use="optional" order="14" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_32" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsAbstract_24" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_32" use="optional" order="15" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent" xlink:label="loc_us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent_332951" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsAbstract_24" xlink:to="loc_us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent_332951" use="optional" order="16" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_409898" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsAbstract_24" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_409898" use="optional" order="17" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_27" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_29" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_27" use="optional" order="18" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="loc_us-gaap_CommitmentsAndContingencies_49" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_27" xlink:to="loc_us-gaap_CommitmentsAndContingencies_49" use="optional" order="19" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConvertibleLongTermNotesPayable" xlink:label="loc_us-gaap_ConvertibleLongTermNotesPayable_46" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_27" xlink:to="loc_us-gaap_ConvertibleLongTermNotesPayable_46" use="optional" order="20" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract_28" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_27" xlink:to="loc_us-gaap_LiabilitiesCurrentAbstract_28" use="optional" order="21" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaap_AccountsPayableCurrent_51" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_28" xlink:to="loc_us-gaap_AccountsPayableCurrent_51" use="optional" order="22" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_52" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_28" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent_52" use="optional" order="23" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaap_LiabilitiesCurrent_53" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_28" xlink:to="loc_us-gaap_LiabilitiesCurrent_53" use="optional" order="24" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConvertibleNotesPayableCurrent" xlink:label="loc_us-gaap_ConvertibleNotesPayableCurrent_309576" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_28" xlink:to="loc_us-gaap_ConvertibleNotesPayableCurrent_309576" use="optional" order="25" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_409907" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_28" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_409907" use="optional" order="26" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent_48" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_27" xlink:to="loc_us-gaap_OtherLiabilitiesNoncurrent_48" use="optional" order="27" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxLiabilitiesNoncurrent" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesNoncurrent_47" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_27" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesNoncurrent_47" use="optional" order="28" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_50" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_27" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquity_50" use="optional" order="29" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_409908" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_27" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_409908" use="optional" order="30" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="loc_us-gaap_StockholdersEquityAbstract_31" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_27" xlink:to="loc_us-gaap_StockholdersEquityAbstract_31" use="optional" order="31" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockValue" xlink:label="loc_us-gaap_CommonStockValue_55" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StockholdersEquityAbstract_31" xlink:to="loc_us-gaap_CommonStockValue_55" use="optional" order="32" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_57" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StockholdersEquityAbstract_31" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_57" use="optional" order="33" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="loc_us-gaap_AdditionalPaidInCapitalCommonStock_56" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StockholdersEquityAbstract_31" xlink:to="loc_us-gaap_AdditionalPaidInCapitalCommonStock_56" use="optional" order="34" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockValue" xlink:label="loc_us-gaap_PreferredStockValue_54" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StockholdersEquityAbstract_31" xlink:to="loc_us-gaap_PreferredStockValue_54" use="optional" order="35" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity_59" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StockholdersEquityAbstract_31" xlink:to="loc_us-gaap_StockholdersEquity_59" use="optional" order="36" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_58" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StockholdersEquityAbstract_31" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_58" use="optional" order="37" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaap_Liabilities_309583" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_27" xlink:to="loc_us-gaap_Liabilities_309583" use="optional" order="38" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_30" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_29" xlink:to="loc_us-gaap_StatementTable_30" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="39" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_26" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_30" xlink:to="loc_dei_LegalEntityAxis_26" use="optional" order="40" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_45" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_26" xlink:to="loc_dei_EntityDomain_45" use="optional" order="41" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_45_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_26" xlink:to="loc_dei_EntityDomain_45_default" use="optional" order="42" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ConsolidatedBalanceSheetsParenthetical">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_63" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="loc_us-gaap_PreferredStockParOrStatedValuePerShare_67" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_63" xlink:to="loc_us-gaap_PreferredStockParOrStatedValuePerShare_67" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="loc_us-gaap_PreferredStockSharesIssued_69" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_63" xlink:to="loc_us-gaap_PreferredStockSharesIssued_69" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_66" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_63" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_66" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare_71" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_63" xlink:to="loc_us-gaap_CommonStockParOrStatedValuePerShare_71" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="loc_us-gaap_CommonStockSharesAuthorized_72" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_63" xlink:to="loc_us-gaap_CommonStockSharesAuthorized_72" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaap_CommonStockSharesIssued_73" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_63" xlink:to="loc_us-gaap_CommonStockSharesIssued_73" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_74" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_63" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_74" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="loc_us-gaap_PreferredStockSharesAuthorized_68" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_63" xlink:to="loc_us-gaap_PreferredStockSharesAuthorized_68" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="loc_us-gaap_PreferredStockSharesOutstanding_70" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_63" xlink:to="loc_us-gaap_PreferredStockSharesOutstanding_70" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_64" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_63" xlink:to="loc_us-gaap_StatementTable_64" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_62" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_64" xlink:to="loc_dei_LegalEntityAxis_62" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_65" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_62" xlink:to="loc_dei_EntityDomain_65" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_65_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_62" xlink:to="loc_dei_EntityDomain_65_default" use="optional" order="13" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_82" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax_105" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_82" xlink:to="loc_us-gaap_ComprehensiveIncomeNetOfTax_105" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CostsAndExpensesAbstract" xlink:label="loc_us-gaap_CostsAndExpensesAbstract_77" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_82" xlink:to="loc_us-gaap_CostsAndExpensesAbstract_77" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold_85" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CostsAndExpensesAbstract_77" xlink:to="loc_us-gaap_CostOfGoodsAndServicesSold_85" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CostsAndExpenses" xlink:label="loc_us-gaap_CostsAndExpenses_89" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CostsAndExpensesAbstract_77" xlink:to="loc_us-gaap_CostsAndExpenses_89" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense_86" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CostsAndExpensesAbstract_77" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpense_86" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense_87" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CostsAndExpensesAbstract_77" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpense_87" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_102" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_82" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_102" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_103" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_82" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_103" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_83" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_82" xlink:to="loc_us-gaap_StatementTable_83" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_79" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_83" xlink:to="loc_dei_LegalEntityAxis_79" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_92" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_79" xlink:to="loc_dei_EntityDomain_92" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_92_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_79" xlink:to="loc_dei_EntityDomain_92_default" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srt_ProductOrServiceAxis_284889" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_83" xlink:to="loc_srt_ProductOrServiceAxis_284889" use="optional" order="13" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srt_ProductsAndServicesDomain_284890" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ProductOrServiceAxis_284889" xlink:to="loc_srt_ProductsAndServicesDomain_284890" use="optional" order="14" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srt_ProductsAndServicesDomain_284890_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ProductOrServiceAxis_284889" xlink:to="loc_srt_ProductsAndServicesDomain_284890_default" use="optional" order="15" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RoyaltyMember" xlink:label="loc_us-gaap_RoyaltyMember_284892" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_284890" xlink:to="loc_us-gaap_RoyaltyMember_284892" use="optional" order="16" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProductMember" xlink:label="loc_us-gaap_ProductMember_284891" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_284890" xlink:to="loc_us-gaap_ProductMember_284891" use="optional" order="17" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_104" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_82" xlink:to="loc_us-gaap_NetIncomeLoss_104" use="optional" order="18" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaap_OperatingIncomeLoss_98" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_82" xlink:to="loc_us-gaap_OperatingIncomeLoss_98" use="optional" order="19" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_80" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_82" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_80" use="optional" order="20" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_94" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_80" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_94" use="optional" order="21" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenuesAbstract" xlink:label="loc_us-gaap_RevenuesAbstract_81" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_82" xlink:to="loc_us-gaap_RevenuesAbstract_81" use="optional" order="22" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_284893" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenuesAbstract_81" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_284893" use="optional" order="23" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpenseAbstract_311282" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_82" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpenseAbstract_311282" use="optional" order="24" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InterestExpense" xlink:label="loc_us-gaap_InterestExpense_100" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OtherNonoperatingIncomeExpenseAbstract_311282" xlink:to="loc_us-gaap_InterestExpense_100" use="optional" order="25" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InvestmentIncomeNet" xlink:label="loc_us-gaap_InvestmentIncomeNet_99" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OtherNonoperatingIncomeExpenseAbstract_311282" xlink:to="loc_us-gaap_InvestmentIncomeNet_99" use="optional" order="26" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_101" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OtherNonoperatingIncomeExpenseAbstract_311282" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_101" use="optional" order="27" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="loc_us-gaap_NonoperatingIncomeExpense_309667" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OtherNonoperatingIncomeExpenseAbstract_311282" xlink:to="loc_us-gaap_NonoperatingIncomeExpense_309667" use="optional" order="28" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt_499298" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OtherNonoperatingIncomeExpenseAbstract_311282" xlink:to="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt_499298" use="optional" order="29" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_84" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_82" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_84" use="optional" order="30" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_107" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_84" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_107" use="optional" order="31" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_106" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_84" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_106" use="optional" order="32" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaap_EarningsPerShareAbstract_78" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_82" xlink:to="loc_us-gaap_EarningsPerShareAbstract_78" use="optional" order="33" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareBasic" xlink:label="loc_us-gaap_EarningsPerShareBasic_90" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EarningsPerShareAbstract_78" xlink:to="loc_us-gaap_EarningsPerShareBasic_90" use="optional" order="34" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaap_EarningsPerShareDiluted_91" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EarningsPerShareAbstract_78" xlink:to="loc_us-gaap_EarningsPerShareDiluted_91" use="optional" order="35" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquity">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_113" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_114" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_113" xlink:to="loc_us-gaap_StatementTable_114" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_112" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_114" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_112" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaap_EquityComponentDomain_110" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_112" xlink:to="loc_us-gaap_EquityComponentDomain_110" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaap_EquityComponentDomain_110_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_112" xlink:to="loc_us-gaap_EquityComponentDomain_110_default" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaap_CommonStockMember_115" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_110" xlink:to="loc_us-gaap_CommonStockMember_115" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_117" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_110" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_117" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_116" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_110" xlink:to="loc_us-gaap_AdditionalPaidInCapitalMember_116" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RetainedEarningsMember" xlink:label="loc_us-gaap_RetainedEarningsMember_118" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_110" xlink:to="loc_us-gaap_RetainedEarningsMember_118" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_111" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_114" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_111" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_119" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_111" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_119" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_119_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_111" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_119_default" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_122" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_113" xlink:to="loc_us-gaap_NetIncomeLoss_122" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_132" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_113" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_132" use="optional" order="13" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharesOutstanding" xlink:label="loc_us-gaap_SharesOutstanding_120" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_113" xlink:to="loc_us-gaap_SharesOutstanding_120" use="optional" order="14" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_133" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_113" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_133" use="optional" order="15" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax_309722" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_113" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax_309722" use="optional" order="16" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="loc_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_499301" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_113" xlink:to="loc_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_499301" use="optional" order="17" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt_499302" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_113" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt_499302" use="optional" order="18" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_329123" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_113" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_329123" use="optional" order="19" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueConversionOfUnits" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueConversionOfUnits_329130" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_113" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueConversionOfUnits_329130" use="optional" order="20" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity_121" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_113" xlink:to="loc_us-gaap_StockholdersEquity_121" use="optional" order="21" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesNewIssues_130" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_113" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesNewIssues_130" use="optional" order="22" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueNewIssues_128" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_113" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueNewIssues_128" use="optional" order="23" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_134" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_113" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_134" use="optional" order="24" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits_329131" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_113" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits_329131" use="optional" order="25" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_AdjustmentsToAdditionalPaidInCapitalReductionForEquityComponentOfConvertibleDebt" xlink:label="loc_rgen_AdjustmentsToAdditionalPaidInCapitalReductionForEquityComponentOfConvertibleDebt_499299" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_113" xlink:to="loc_rgen_AdjustmentsToAdditionalPaidInCapitalReductionForEquityComponentOfConvertibleDebt_499299" use="optional" order="26" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="loc_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_499300" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_113" xlink:to="loc_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_499300" use="optional" order="27" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueAcquisitions_309720" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_113" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueAcquisitions_309720" use="optional" order="28" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesAcquisitions_309721" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_113" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesAcquisitions_309721" use="optional" order="29" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquityParenthetical">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_140" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts_143" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_140" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts_143" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_141" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_140" xlink:to="loc_us-gaap_StatementTable_141" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_139" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_141" xlink:to="loc_dei_LegalEntityAxis_139" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_142" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_139" xlink:to="loc_dei_EntityDomain_142" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_142_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_139" xlink:to="loc_dei_EntityDomain_142_default" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentAxis" xlink:label="loc_us-gaap_DebtInstrumentAxis_499304" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_141" xlink:to="loc_us-gaap_DebtInstrumentAxis_499304" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_499305" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DebtInstrumentAxis_499304" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_499305" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_499305_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DebtInstrumentAxis_499304" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_499305_default" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember" xlink:label="loc_rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember_499358" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_499305" xlink:to="loc_rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember_499358" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_499303" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_140" xlink:to="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_499303" use="optional" order="10" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_154" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_151" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_154" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_151" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_179" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_151" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_179" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromConvertibleDebt" xlink:label="loc_us-gaap_ProceedsFromConvertibleDebt_175" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_151" xlink:to="loc_us-gaap_ProceedsFromConvertibleDebt_175" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfCommonStock_176" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_151" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfCommonStock_176" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RepaymentsOfConvertibleDebt" xlink:label="loc_us-gaap_RepaymentsOfConvertibleDebt_309772" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_151" xlink:to="loc_us-gaap_RepaymentsOfConvertibleDebt_309772" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="loc_us-gaap_ProceedsFromStockOptionsExercised_177" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_151" xlink:to="loc_us-gaap_ProceedsFromStockOptionsExercised_177" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_499309" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_151" xlink:to="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_499309" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_152" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_154" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_152" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_186" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_152" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_186" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_182" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_152" xlink:to="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_182" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_185" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_152" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_185" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsToAcquireSoftware" xlink:label="loc_us-gaap_PaymentsToAcquireSoftware_329140" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_152" xlink:to="loc_us-gaap_PaymentsToAcquireSoftware_329140" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsToDevelopSoftware" xlink:label="loc_us-gaap_PaymentsToDevelopSoftware_329141" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_152" xlink:to="loc_us-gaap_PaymentsToDevelopSoftware_329141" use="optional" order="13" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_191" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_154" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_191" use="optional" order="14" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_190" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_154" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_190" use="optional" order="15" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents" xlink:label="loc_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_189" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_154" xlink:to="loc_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_189" use="optional" order="16" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_153" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_154" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_153" use="optional" order="17" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_146" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_153" xlink:to="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_146" use="optional" order="18" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_160" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_146" xlink:to="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_160" use="optional" order="19" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DepreciationAndAmortization" xlink:label="loc_us-gaap_DepreciationAndAmortization_157" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_146" xlink:to="loc_us-gaap_DepreciationAndAmortization_157" use="optional" order="20" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensation" xlink:label="loc_us-gaap_ShareBasedCompensation_159" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_146" xlink:to="loc_us-gaap_ShareBasedCompensation_159" use="optional" order="21" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherNoncashIncomeExpense" xlink:label="loc_us-gaap_OtherNoncashIncomeExpense_312093" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_146" xlink:to="loc_us-gaap_OtherNoncashIncomeExpense_312093" use="optional" order="22" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AmortizationOfFinancingCostsAndDiscounts" xlink:label="loc_us-gaap_AmortizationOfFinancingCostsAndDiscounts_813882" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_146" xlink:to="loc_us-gaap_AmortizationOfFinancingCostsAndDiscounts_813882" use="optional" order="23" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt_499308" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_146" xlink:to="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt_499308" use="optional" order="24" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_149" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_153" xlink:to="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_149" use="optional" order="25" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_172" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_149" xlink:to="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_172" use="optional" order="26" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories_169" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_149" xlink:to="loc_us-gaap_IncreaseDecreaseInInventories_169" use="optional" order="27" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities_173" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_149" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities_173" use="optional" order="28" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_167" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_149" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_167" use="optional" order="29" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInOtherReceivables" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherReceivables_168" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_149" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherReceivables_168" use="optional" order="30" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_171" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_149" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayable_171" use="optional" order="31" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_170" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_149" xlink:to="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_170" use="optional" order="32" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset" xlink:label="loc_rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset_422198" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_149" xlink:to="loc_rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset_422198" use="optional" order="33" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:label="loc_us-gaap_IncreaseDecreaseInContractWithCustomerAsset_329139" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_149" xlink:to="loc_us-gaap_IncreaseDecreaseInContractWithCustomerAsset_329139" use="optional" order="34" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IncreasedecreaseInOperatingLeaseLiability" xlink:label="loc_rgen_IncreasedecreaseInOperatingLeaseLiability_422204" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_149" xlink:to="loc_rgen_IncreasedecreaseInOperatingLeaseLiability_422204" use="optional" order="35" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_467874" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_149" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_467874" use="optional" order="36" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_188" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_153" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_188" use="optional" order="37" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_187" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_153" xlink:to="loc_us-gaap_NetIncomeLoss_187" use="optional" order="38" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_155" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_154" xlink:to="loc_us-gaap_StatementTable_155" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="39" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_150" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_155" xlink:to="loc_dei_LegalEntityAxis_150" use="optional" order="40" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_174" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_150" xlink:to="loc_dei_EntityDomain_174" use="optional" order="41" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_174_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_150" xlink:to="loc_dei_EntityDomain_174_default" use="optional" order="42" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_148" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_155" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_148" use="optional" order="43" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_147" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_148" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_147" use="optional" order="44" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_147_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_148" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_147_default" use="optional" order="45" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember" xlink:label="loc_rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember_817139" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_147" xlink:to="loc_rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember_817139" use="optional" order="46" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_CTechnologiesIncMember" xlink:label="loc_rgen_CTechnologiesIncMember_580796" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_147" xlink:to="loc_rgen_CTechnologiesIncMember_580796" use="optional" order="47" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="loc_us-gaap_SupplementalCashFlowInformationAbstract_156" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_154" xlink:to="loc_us-gaap_SupplementalCashFlowInformationAbstract_156" use="optional" order="48" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="loc_us-gaap_IncomeTaxesPaidNet_193" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SupplementalCashFlowInformationAbstract_156" xlink:to="loc_us-gaap_IncomeTaxesPaidNet_193" use="optional" order="49" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InterestPaidNet" xlink:label="loc_us-gaap_InterestPaidNet_194" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SupplementalCashFlowInformationAbstract_156" xlink:to="loc_us-gaap_InterestPaidNet_194" use="optional" order="50" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SupplementalCashFlowElementsAbstract" xlink:label="loc_us-gaap_SupplementalCashFlowElementsAbstract_309774" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_154" xlink:to="loc_us-gaap_SupplementalCashFlowElementsAbstract_309774" use="optional" order="51" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_NonCashEffectOfAdoptionOfAsu201616" xlink:label="loc_rgen_NonCashEffectOfAdoptionOfAsu201616_309775" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SupplementalCashFlowElementsAbstract_309774" xlink:to="loc_rgen_NonCashEffectOfAdoptionOfAsu201616_309775" use="optional" order="52" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssued1" xlink:label="loc_us-gaap_StockIssued1_309806" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SupplementalCashFlowElementsAbstract_309774" xlink:to="loc_us-gaap_StockIssued1_309806" use="optional" order="53" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtConversionConvertedInstrumentAmount1" xlink:label="loc_us-gaap_DebtConversionConvertedInstrumentAmount1_499310" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SupplementalCashFlowElementsAbstract_309774" xlink:to="loc_us-gaap_DebtConversionConvertedInstrumentAmount1_499310" use="optional" order="54" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_PropertyPlantAndEquipmentRelatedToLeaseIncentives" xlink:label="loc_rgen_PropertyPlantAndEquipmentRelatedToLeaseIncentives_499311" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SupplementalCashFlowElementsAbstract_309774" xlink:to="loc_rgen_PropertyPlantAndEquipmentRelatedToLeaseIncentives_499311" use="optional" order="55" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_AssetsAcquiredUnderOperatingLeases" xlink:label="loc_rgen_AssetsAcquiredUnderOperatingLeases_603642" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SupplementalCashFlowElementsAbstract_309774" xlink:to="loc_rgen_AssetsAcquiredUnderOperatingLeases_603642" use="optional" order="56" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlowsParenthetical">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_201" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferredAbstract" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferredAbstract_199" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_201" xlink:to="loc_us-gaap_BusinessCombinationConsiderationTransferredAbstract_199" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtConversionConvertedInstrumentSharesIssued1" xlink:label="loc_us-gaap_DebtConversionConvertedInstrumentSharesIssued1_499356" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessCombinationConsiderationTransferredAbstract_199" xlink:to="loc_us-gaap_DebtConversionConvertedInstrumentSharesIssued1_499356" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" xlink:label="loc_us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued_817623" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessCombinationConsiderationTransferredAbstract_199" xlink:to="loc_us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued_817623" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_202" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_201" xlink:to="loc_us-gaap_StatementTable_202" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_817616" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_202" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_817616" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_817617" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_817616" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_817617" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_817617_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_817616" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_817617_default" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember" xlink:label="loc_rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember_817619" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_817617" xlink:to="loc_rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember_817619" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_200" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_202" xlink:to="loc_dei_LegalEntityAxis_200" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_215" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_200" xlink:to="loc_dei_EntityDomain_215" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_215_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_200" xlink:to="loc_dei_EntityDomain_215_default" use="optional" order="11" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/OrganizationAndNatureOfBusiness">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_1156" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NatureOfOperations" xlink:label="loc_us-gaap_NatureOfOperations_1159" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1156" xlink:to="loc_us-gaap_NatureOfOperations_1159" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_1157" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_1156" xlink:to="loc_us-gaap_StatementTable_1157" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1155" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_1157" xlink:to="loc_dei_LegalEntityAxis_1155" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1158" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_1155" xlink:to="loc_dei_EntityDomain_1158" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1158_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_1155" xlink:to="loc_dei_EntityDomain_1158_default" use="optional" order="5" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/SummaryOfSignificantAccountingPolicies">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_1163" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="loc_us-gaap_SignificantAccountingPoliciesTextBlock_1166" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1163" xlink:to="loc_us-gaap_SignificantAccountingPoliciesTextBlock_1166" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_1164" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_1163" xlink:to="loc_us-gaap_StatementTable_1164" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1162" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_1164" xlink:to="loc_dei_LegalEntityAxis_1162" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1165" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_1162" xlink:to="loc_dei_EntityDomain_1165" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1165_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_1162" xlink:to="loc_dei_EntityDomain_1165_default" use="optional" order="5" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/Acquisitions">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_1224" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationDisclosureTextBlock" xlink:label="loc_us-gaap_BusinessCombinationDisclosureTextBlock_1227" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1224" xlink:to="loc_us-gaap_BusinessCombinationDisclosureTextBlock_1227" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_1225" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_1224" xlink:to="loc_us-gaap_StatementTable_1225" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1223" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_1225" xlink:to="loc_dei_LegalEntityAxis_1223" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1226" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_1223" xlink:to="loc_dei_EntityDomain_1226" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1226_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_1223" xlink:to="loc_dei_EntityDomain_1226_default" use="optional" order="5" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/IncomeTaxes">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_1247" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="loc_us-gaap_IncomeTaxDisclosureTextBlock_1250" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1247" xlink:to="loc_us-gaap_IncomeTaxDisclosureTextBlock_1250" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_1248" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_1247" xlink:to="loc_us-gaap_StatementTable_1248" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1246" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_1248" xlink:to="loc_dei_LegalEntityAxis_1246" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1249" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_1246" xlink:to="loc_dei_EntityDomain_1249" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1249_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_1246" xlink:to="loc_dei_EntityDomain_1249_default" use="optional" order="5" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/StockholdersEquity">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_1266" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_1267" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_1266" xlink:to="loc_us-gaap_StatementTable_1267" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1265" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_1267" xlink:to="loc_dei_LegalEntityAxis_1265" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1268" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_1265" xlink:to="loc_dei_EntityDomain_1268" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1268_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_1265" xlink:to="loc_dei_EntityDomain_1268_default" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock_1269" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1266" xlink:to="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock_1269" use="optional" order="5" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/CommitmentsAndContingencies">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_1283" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_1286" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1283" xlink:to="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_1286" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_1284" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_1283" xlink:to="loc_us-gaap_StatementTable_1284" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1282" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_1284" xlink:to="loc_dei_LegalEntityAxis_1282" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1285" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_1282" xlink:to="loc_dei_EntityDomain_1285" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1285_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_1282" xlink:to="loc_dei_EntityDomain_1285_default" use="optional" order="5" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ConvertibleSeniorNotes">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_1332" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongTermDebtTextBlock" xlink:label="loc_us-gaap_LongTermDebtTextBlock_1335" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1332" xlink:to="loc_us-gaap_LongTermDebtTextBlock_1335" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_1333" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_1332" xlink:to="loc_us-gaap_StatementTable_1333" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1331" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_1333" xlink:to="loc_dei_LegalEntityAxis_1331" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1334" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_1331" xlink:to="loc_dei_EntityDomain_1334" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1334_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_1331" xlink:to="loc_dei_EntityDomain_1334_default" use="optional" order="5" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/AccumulatedOtherComprehensiveIncomeLoss">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_1346" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_1347" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_1346" xlink:to="loc_us-gaap_StatementTable_1347" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1345" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_1347" xlink:to="loc_dei_LegalEntityAxis_1345" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1348" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_1345" xlink:to="loc_dei_EntityDomain_1348" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1348_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_1345" xlink:to="loc_dei_EntityDomain_1348_default" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ComprehensiveIncomeNoteTextBlock" xlink:label="loc_us-gaap_ComprehensiveIncomeNoteTextBlock_1349" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1346" xlink:to="loc_us-gaap_ComprehensiveIncomeNoteTextBlock_1349" use="optional" order="5" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/EmployeeBenefitPlans">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_1360" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CompensationAndEmployeeBenefitPlansTextBlock" xlink:label="loc_us-gaap_CompensationAndEmployeeBenefitPlansTextBlock_1363" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1360" xlink:to="loc_us-gaap_CompensationAndEmployeeBenefitPlansTextBlock_1363" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_1361" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_1360" xlink:to="loc_us-gaap_StatementTable_1361" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1359" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_1361" xlink:to="loc_dei_LegalEntityAxis_1359" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1362" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_1359" xlink:to="loc_dei_EntityDomain_1362" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1362_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_1359" xlink:to="loc_dei_EntityDomain_1362_default" use="optional" order="5" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/RelatedPartyTransactions">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_1367" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_1368" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_1367" xlink:to="loc_us-gaap_StatementTable_1368" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1366" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_1368" xlink:to="loc_dei_LegalEntityAxis_1366" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1369" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_1366" xlink:to="loc_dei_EntityDomain_1369" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1369_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_1366" xlink:to="loc_dei_EntityDomain_1369_default" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:label="loc_us-gaap_RelatedPartyTransactionsDisclosureTextBlock_1370" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1367" xlink:to="loc_us-gaap_RelatedPartyTransactionsDisclosureTextBlock_1370" use="optional" order="5" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/SelectedQuarterlyFinancialDataUnaudited">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_1374" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_QuarterlyFinancialInformationTextBlock" xlink:label="loc_us-gaap_QuarterlyFinancialInformationTextBlock_1377" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1374" xlink:to="loc_us-gaap_QuarterlyFinancialInformationTextBlock_1377" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_1375" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_1374" xlink:to="loc_us-gaap_StatementTable_1375" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1373" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_1375" xlink:to="loc_dei_LegalEntityAxis_1373" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1376" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_1373" xlink:to="loc_dei_EntityDomain_1376" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1376_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_1373" xlink:to="loc_dei_EntityDomain_1376_default" use="optional" order="5" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesPolicies">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_1170" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" xlink:label="loc_us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy_1178" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1170" xlink:to="loc_us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy_1178" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskCreditRisk" xlink:label="loc_us-gaap_ConcentrationRiskCreditRisk_1186" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1170" xlink:to="loc_us-gaap_ConcentrationRiskCreditRisk_1186" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:label="loc_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_1174" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1170" xlink:to="loc_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_1174" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_AccruedLiabilitiesPolicyTextBlock" xlink:label="loc_rgen_AccruedLiabilitiesPolicyTextBlock_1181" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1170" xlink:to="loc_rgen_AccruedLiabilitiesPolicyTextBlock_1181" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerSharePolicyTextBlock" xlink:label="loc_us-gaap_EarningsPerSharePolicyTextBlock_1184" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1170" xlink:to="loc_us-gaap_EarningsPerSharePolicyTextBlock_1184" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:label="loc_us-gaap_SegmentReportingPolicyPolicyTextBlock_1185" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1170" xlink:to="loc_us-gaap_SegmentReportingPolicyPolicyTextBlock_1185" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock" xlink:label="loc_rgen_RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock_1177" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1170" xlink:to="loc_rgen_RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock_1177" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueRecognitionPolicyTextBlock" xlink:label="loc_us-gaap_RevenueRecognitionPolicyTextBlock_1176" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1170" xlink:to="loc_us-gaap_RevenueRecognitionPolicyTextBlock_1176" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_1183" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1170" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_1183" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:label="loc_us-gaap_FairValueMeasurementPolicyPolicyTextBlock_1179" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1170" xlink:to="loc_us-gaap_FairValueMeasurementPolicyPolicyTextBlock_1179" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="loc_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_1175" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1170" xlink:to="loc_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_1175" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_1187" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1170" xlink:to="loc_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_1187" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_1171" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_1170" xlink:to="loc_us-gaap_StatementTable_1171" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="13" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1169" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_1171" xlink:to="loc_dei_LegalEntityAxis_1169" use="optional" order="14" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1172" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_1169" xlink:to="loc_dei_EntityDomain_1172" use="optional" order="15" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1172_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_1169" xlink:to="loc_dei_EntityDomain_1172_default" use="optional" order="16" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_UseOfEstimates" xlink:label="loc_us-gaap_UseOfEstimates_1173" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1170" xlink:to="loc_us-gaap_UseOfEstimates_1173" use="optional" order="17" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="loc_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_1188" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1170" xlink:to="loc_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_1188" use="optional" order="18" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LoansAndLeasesReceivableLeaseFinancingPolicy" xlink:label="loc_us-gaap_LoansAndLeasesReceivableLeaseFinancingPolicy_330223" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1170" xlink:to="loc_us-gaap_LoansAndLeasesReceivableLeaseFinancingPolicy_330223" use="optional" order="19" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdvertisingCostsPolicyTextBlock" xlink:label="loc_us-gaap_AdvertisingCostsPolicyTextBlock_330224" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1170" xlink:to="loc_us-gaap_AdvertisingCostsPolicyTextBlock_330224" use="optional" order="20" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CreditLossFinancialInstrumentPolicyTextBlock" xlink:label="loc_us-gaap_CreditLossFinancialInstrumentPolicyTextBlock_822606" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1170" xlink:to="loc_us-gaap_CreditLossFinancialInstrumentPolicyTextBlock_822606" use="optional" order="21" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="loc_us-gaap_IncomeTaxPolicyTextBlock_1182" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1170" xlink:to="loc_us-gaap_IncomeTaxPolicyTextBlock_1182" use="optional" order="22" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_1189" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1170" xlink:to="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_1189" use="optional" order="23" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="loc_us-gaap_InventoryPolicyTextBlock_1180" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1170" xlink:to="loc_us-gaap_InventoryPolicyTextBlock_1180" use="optional" order="24" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesTables">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_1195" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:label="loc_us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock_1205" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1195" xlink:to="loc_us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock_1205" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock" xlink:label="loc_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock_1206" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1195" xlink:to="loc_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock_1206" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_1203" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1195" xlink:to="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_1203" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" xlink:label="loc_us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock_1207" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1195" xlink:to="loc_us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock_1207" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:label="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_564893" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1195" xlink:to="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_564893" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock_1208" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1195" xlink:to="loc_us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock_1208" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_1196" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_1195" xlink:to="loc_us-gaap_StatementTable_1196" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1194" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_1196" xlink:to="loc_dei_LegalEntityAxis_1194" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1199" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_1194" xlink:to="loc_dei_EntityDomain_1199" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1199_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_1194" xlink:to="loc_dei_EntityDomain_1199_default" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_1193" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_1196" xlink:to="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_1193" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain_1192" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_1193" xlink:to="loc_us-gaap_ConcentrationRiskBenchmarkDomain_1192" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain_1192_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_1193" xlink:to="loc_us-gaap_ConcentrationRiskBenchmarkDomain_1192_default" use="optional" order="13" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_SalesRevenuesGoodsNetMember" xlink:label="loc_rgen_SalesRevenuesGoodsNetMember_564894" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_1192" xlink:to="loc_rgen_SalesRevenuesGoodsNetMember_564894" use="optional" order="14" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock" xlink:label="loc_rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock_309889" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1195" xlink:to="loc_rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock_309889" use="optional" order="15" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock" xlink:label="loc_rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock_327920" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1195" xlink:to="loc_rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock_327920" use="optional" order="16" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/AcquisitionsTables">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_1233" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:label="loc_us-gaap_BusinessAcquisitionProFormaInformationTextBlock_1242" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1233" xlink:to="loc_us-gaap_BusinessAcquisitionProFormaInformationTextBlock_1242" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock_1241" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1233" xlink:to="loc_us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock_1241" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_1234" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_1233" xlink:to="loc_us-gaap_StatementTable_1234" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1232" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_1234" xlink:to="loc_dei_LegalEntityAxis_1232" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1239" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_1232" xlink:to="loc_dei_EntityDomain_1239" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1239_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_1232" xlink:to="loc_dei_EntityDomain_1239_default" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_1231" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_1234" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_1231" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_1230" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_1231" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_1230" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_1230_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_1231" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_1230_default" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ArtesynBiosolutionsMember" xlink:label="loc_rgen_ArtesynBiosolutionsMember_814097" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_1230" xlink:to="loc_rgen_ArtesynBiosolutionsMember_814097" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_CTechnologiesMember" xlink:label="loc_rgen_CTechnologiesMember_464374" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_1230" xlink:to="loc_rgen_CTechnologiesMember_464374" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_NonMetallicSolutionsMember" xlink:label="loc_rgen_NonMetallicSolutionsMember_814100" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_1230" xlink:to="loc_rgen_NonMetallicSolutionsMember_814100" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_EngineeredMoldingTechnologyLlcMember" xlink:label="loc_rgen_EngineeredMoldingTechnologyLlcMember_814103" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_1230" xlink:to="loc_rgen_EngineeredMoldingTechnologyLlcMember_814103" use="optional" order="13" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:label="loc_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock_464375" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1233" xlink:to="loc_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock_464375" use="optional" order="14" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock" xlink:label="loc_rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock_464983" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1233" xlink:to="loc_rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock_464983" use="optional" order="15" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/LeasesTables">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_410116" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock" xlink:label="loc_rgen_ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock_419187" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_410116" xlink:to="loc_rgen_ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock_419187" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_410113" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_410116" xlink:to="loc_us-gaap_StatementTable_410113" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaap_StatementClassOfStockAxis_410114" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_410113" xlink:to="loc_us-gaap_StatementClassOfStockAxis_410114" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaap_ClassOfStockDomain_410115" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementClassOfStockAxis_410114" xlink:to="loc_us-gaap_ClassOfStockDomain_410115" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaap_ClassOfStockDomain_410115_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementClassOfStockAxis_410114" xlink:to="loc_us-gaap_ClassOfStockDomain_410115_default" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_419656" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_410113" xlink:to="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_419656" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="loc_us-gaap_TypeOfAdoptionMember_419657" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_419656" xlink:to="loc_us-gaap_TypeOfAdoptionMember_419657" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="loc_us-gaap_TypeOfAdoptionMember_419657_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_419656" xlink:to="loc_us-gaap_TypeOfAdoptionMember_419657_default" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_410122" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_410116" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_410122" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LeaseCostTableTextBlock" xlink:label="loc_us-gaap_LeaseCostTableTextBlock_410120" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_410116" xlink:to="loc_us-gaap_LeaseCostTableTextBlock_410120" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock" xlink:label="loc_rgen_AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock_467986" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_410116" xlink:to="loc_rgen_AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock_467986" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock" xlink:label="loc_rgen_ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock_410121" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_410116" xlink:to="loc_rgen_ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock_410121" use="optional" order="12" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/RevenueRecognitionTables">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_566360" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="loc_us-gaap_DisaggregationOfRevenueTableTextBlock_566288" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_566360" xlink:to="loc_us-gaap_DisaggregationOfRevenueTableTextBlock_566288" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfRevenueByMajorCustomersTableTextBlock" xlink:label="loc_rgen_ScheduleOfRevenueByMajorCustomersTableTextBlock_566289" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_566360" xlink:to="loc_rgen_ScheduleOfRevenueByMajorCustomersTableTextBlock_566289" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="loc_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_566290" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_566360" xlink:to="loc_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_566290" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_566357" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_566360" xlink:to="loc_us-gaap_StatementTable_566357" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_566358" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_566357" xlink:to="loc_dei_LegalEntityAxis_566358" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_566359" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_566358" xlink:to="loc_dei_EntityDomain_566359" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_566359_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_566358" xlink:to="loc_dei_EntityDomain_566359_default" use="optional" order="7" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsTables">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_328215" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfGoodwillTextBlock" xlink:label="loc_us-gaap_ScheduleOfGoodwillTextBlock_310075" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_328215" xlink:to="loc_us-gaap_ScheduleOfGoodwillTextBlock_310075" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock" xlink:label="loc_rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock_310081" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_328215" xlink:to="loc_rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock_310081" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock_310082" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_328215" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock_310082" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_328214" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_328215" xlink:to="loc_us-gaap_StatementTable_328214" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_328218" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_328214" xlink:to="loc_dei_LegalEntityAxis_328218" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_328219" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_328218" xlink:to="loc_dei_EntityDomain_328219" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_328219_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_328218" xlink:to="loc_dei_EntityDomain_328219_default" use="optional" order="7" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ConsolidatedBalanceSheetDetailTables">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_328265" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_310129" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_328265" xlink:to="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_310129" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" xlink:label="loc_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock_310130" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_328265" xlink:to="loc_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock_310130" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTextBlock_310131" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_328265" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTextBlock_310131" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_310132" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_328265" xlink:to="loc_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_310132" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_328264" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_328265" xlink:to="loc_us-gaap_StatementTable_328264" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_328266" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_328264" xlink:to="loc_dei_LegalEntityAxis_328266" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_328267" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_328266" xlink:to="loc_dei_EntityDomain_328267" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_328267_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_328266" xlink:to="loc_dei_EntityDomain_328267_default" use="optional" order="8" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/IncomeTaxesTables">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_1254" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_1259" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1254" xlink:to="loc_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_1259" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_1258" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1254" xlink:to="loc_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_1258" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_1260" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1254" xlink:to="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_1260" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock_1257" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1254" xlink:to="loc_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock_1257" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_1255" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_1254" xlink:to="loc_us-gaap_StatementTable_1255" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1253" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_1255" xlink:to="loc_dei_LegalEntityAxis_1253" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1256" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_1253" xlink:to="loc_dei_EntityDomain_1256" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1256_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_1253" xlink:to="loc_dei_EntityDomain_1256_default" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SummaryOfIncomeTaxExaminationsTextBlock" xlink:label="loc_us-gaap_SummaryOfIncomeTaxExaminationsTextBlock_1261" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1254" xlink:to="loc_us-gaap_SummaryOfIncomeTaxExaminationsTextBlock_1261" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock" xlink:label="loc_us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock_1262" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1254" xlink:to="loc_us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock_1262" use="optional" order="10" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/StockholdersEquityTables">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_1273" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_1276" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1273" xlink:to="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_1276" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_1279" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1273" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_1279" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_1278" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1273" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_1278" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_1277" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1273" xlink:to="loc_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_1277" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_1274" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_1273" xlink:to="loc_us-gaap_StatementTable_1274" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="5" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ConvertibleSeniorNotesTables">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_1339" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConvertibleDebtTableTextBlock" xlink:label="loc_us-gaap_ConvertibleDebtTableTextBlock_1342" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1339" xlink:to="loc_us-gaap_ConvertibleDebtTableTextBlock_1342" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_1340" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_1339" xlink:to="loc_us-gaap_StatementTable_1340" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1338" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_1340" xlink:to="loc_dei_LegalEntityAxis_1338" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1341" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_1338" xlink:to="loc_dei_EntityDomain_1341" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1341_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_1338" xlink:to="loc_dei_EntityDomain_1341_default" use="optional" order="5" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/AccumulatedOtherComprehensiveIncomeLossTables">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_1353" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock_1356" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1353" xlink:to="loc_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock_1356" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_1354" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_1353" xlink:to="loc_us-gaap_StatementTable_1354" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1352" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_1354" xlink:to="loc_dei_LegalEntityAxis_1352" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1355" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_1352" xlink:to="loc_dei_EntityDomain_1355" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1355_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_1352" xlink:to="loc_dei_EntityDomain_1355_default" use="optional" order="5" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/SelectedQuarterlyFinancialDataUnauditedTables">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_1381" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock_1384" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_1381" xlink:to="loc_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock_1384" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_1382" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_1381" xlink:to="loc_us-gaap_StatementTable_1382" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1380" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_1382" xlink:to="loc_dei_LegalEntityAxis_1380" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1383" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_1380" xlink:to="loc_dei_EntityDomain_1383" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1383_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_1380" xlink:to="loc_dei_EntityDomain_1383_default" use="optional" order="5" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail">
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:label="loc_rgen_SummaryOfSignificantAccountingPoliciesLineItems_235" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_274" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesLineItems_235" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_274" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="loc_us-gaap_DebtInstrumentFaceAmount_265" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesLineItems_235" xlink:to="loc_us-gaap_DebtInstrumentFaceAmount_265" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentFrequencyOfPeriodicPayment" xlink:label="loc_us-gaap_DebtInstrumentFrequencyOfPeriodicPayment_267" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesLineItems_235" xlink:to="loc_us-gaap_DebtInstrumentFrequencyOfPeriodicPayment_267" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongTermDebt" xlink:label="loc_us-gaap_LongTermDebt_269" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesLineItems_235" xlink:to="loc_us-gaap_LongTermDebt_269" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongTermDebtFairValue" xlink:label="loc_us-gaap_LongTermDebtFairValue_270" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesLineItems_235" xlink:to="loc_us-gaap_LongTermDebtFairValue_270" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_275" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesLineItems_235" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_275" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_272" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesLineItems_235" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_272" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_273" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesLineItems_235" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_273" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_PercentageOfSharesSubjectToForfeiture" xlink:label="loc_rgen_PercentageOfSharesSubjectToForfeiture_280" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesLineItems_235" xlink:to="loc_rgen_PercentageOfSharesSubjectToForfeiture_280" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_SummaryOfSignificantAccountingPoliciesTable" xlink:label="loc_rgen_SummaryOfSignificantAccountingPoliciesTable_236" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesLineItems_235" xlink:to="loc_rgen_SummaryOfSignificantAccountingPoliciesTable_236" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_218" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesTable_236" xlink:to="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_218" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="loc_us-gaap_TypeOfAdoptionMember_239" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_218" xlink:to="loc_us-gaap_TypeOfAdoptionMember_239" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="loc_us-gaap_TypeOfAdoptionMember_239_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_218" xlink:to="loc_us-gaap_TypeOfAdoptionMember_239_default" use="optional" order="13" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentAxis" xlink:label="loc_us-gaap_DebtInstrumentAxis_221" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesTable_236" xlink:to="loc_us-gaap_DebtInstrumentAxis_221" use="optional" order="14" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_222" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DebtInstrumentAxis_221" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_222" use="optional" order="15" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_222_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DebtInstrumentAxis_221" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_222_default" use="optional" order="16" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember" xlink:label="loc_rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember_499357" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_222" xlink:to="loc_rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember_499357" use="optional" order="17" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="loc_us-gaap_IncomeTaxAuthorityAxis_225" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesTable_236" xlink:to="loc_us-gaap_IncomeTaxAuthorityAxis_225" use="optional" order="18" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain_226" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis_225" xlink:to="loc_us-gaap_IncomeTaxAuthorityDomain_226" use="optional" order="19" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain_226_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis_225" xlink:to="loc_us-gaap_IncomeTaxAuthorityDomain_226_default" use="optional" order="20" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaap_AwardTypeAxis_220" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesTable_236" xlink:to="loc_us-gaap_AwardTypeAxis_220" use="optional" order="21" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_232" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_220" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_232" use="optional" order="22" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_232_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_220" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_232_default" use="optional" order="23" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_NonEmployeeDirectorStockOptionMember" xlink:label="loc_rgen_NonEmployeeDirectorStockOptionMember_252" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_232" xlink:to="loc_rgen_NonEmployeeDirectorStockOptionMember_252" use="optional" order="24" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_249" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_232" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_249" use="optional" order="25" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_OptionToPurchaseCommonStockMember" xlink:label="loc_rgen_OptionToPurchaseCommonStockMember_250" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_232" xlink:to="loc_rgen_OptionToPurchaseCommonStockMember_250" use="optional" order="26" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="loc_us-gaap_EmployeeStockOptionMember_565155" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_232" xlink:to="loc_us-gaap_EmployeeStockOptionMember_565155" use="optional" order="27" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredRevenueArrangementTypeAxis" xlink:label="loc_us-gaap_DeferredRevenueArrangementTypeAxis_223" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesTable_236" xlink:to="loc_us-gaap_DeferredRevenueArrangementTypeAxis_223" use="optional" order="28" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredRevenueArrangementTypeDomain" xlink:label="loc_us-gaap_DeferredRevenueArrangementTypeDomain_224" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DeferredRevenueArrangementTypeAxis_223" xlink:to="loc_us-gaap_DeferredRevenueArrangementTypeDomain_224" use="optional" order="29" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredRevenueArrangementTypeDomain" xlink:label="loc_us-gaap_DeferredRevenueArrangementTypeDomain_224_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DeferredRevenueArrangementTypeAxis_223" xlink:to="loc_us-gaap_DeferredRevenueArrangementTypeDomain_224_default" use="optional" order="30" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MajorCustomersAxis" xlink:label="loc_srt_MajorCustomersAxis_228" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesTable_236" xlink:to="loc_srt_MajorCustomersAxis_228" use="optional" order="31" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_NameOfMajorCustomerDomain" xlink:label="loc_srt_NameOfMajorCustomerDomain_229" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_MajorCustomersAxis_228" xlink:to="loc_srt_NameOfMajorCustomerDomain_229" use="optional" order="32" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_NameOfMajorCustomerDomain" xlink:label="loc_srt_NameOfMajorCustomerDomain_229_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_MajorCustomersAxis_228" xlink:to="loc_srt_NameOfMajorCustomerDomain_229_default" use="optional" order="33" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_CytivaMember" xlink:label="loc_rgen_CytivaMember_814058" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_NameOfMajorCustomerDomain_229" xlink:to="loc_rgen_CytivaMember_814058" use="optional" order="34" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeAxis" xlink:label="loc_srt_RangeAxis_230" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesTable_236" xlink:to="loc_srt_RangeAxis_230" use="optional" order="35" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember" xlink:label="loc_srt_RangeMember_231" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_230" xlink:to="loc_srt_RangeMember_231" use="optional" order="36" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember" xlink:label="loc_srt_RangeMember_231_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_230" xlink:to="loc_srt_RangeMember_231_default" use="optional" order="37" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="loc_us-gaap_SubsequentEventTypeAxis_233" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesTable_236" xlink:to="loc_us-gaap_SubsequentEventTypeAxis_233" use="optional" order="38" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_234" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_SubsequentEventTypeAxis_233" xlink:to="loc_us-gaap_SubsequentEventTypeDomain_234" use="optional" order="39" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_234_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_SubsequentEventTypeAxis_233" xlink:to="loc_us-gaap_SubsequentEventTypeDomain_234_default" use="optional" order="40" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="loc_us-gaap_BalanceSheetLocationAxis_310007" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesTable_236" xlink:to="loc_us-gaap_BalanceSheetLocationAxis_310007" use="optional" order="41" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_310008" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_310007" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_310008" use="optional" order="42" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_310008_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_310007" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_310008_default" use="optional" order="43" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsAxis" xlink:label="loc_us-gaap_CashAndCashEquivalentsAxis_333058" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesTable_236" xlink:to="loc_us-gaap_CashAndCashEquivalentsAxis_333058" use="optional" order="44" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_333059" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_CashAndCashEquivalentsAxis_333058" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_333059" use="optional" order="45" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_333059_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_CashAndCashEquivalentsAxis_333058" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_333059_default" use="optional" order="46" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_MoneyMarketFundsMember" xlink:label="loc_us-gaap_MoneyMarketFundsMember_333060" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_333059" xlink:to="loc_us-gaap_MoneyMarketFundsMember_333060" use="optional" order="47" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_333061" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesTable_236" xlink:to="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_333061" use="optional" order="48" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_333062" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_333061" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_333062" use="optional" order="49" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_333062_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_333061" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_333062_default" use="optional" order="50" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="loc_us-gaap_FairValueInputsLevel1Member_333063" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_333062" xlink:to="loc_us-gaap_FairValueInputsLevel1Member_333063" use="optional" order="51" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="loc_us-gaap_LongtermDebtTypeAxis_502681" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesTable_236" xlink:to="loc_us-gaap_LongtermDebtTypeAxis_502681" use="optional" order="52" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_502682" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_502681" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_502682" use="optional" order="53" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_502682_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_502681" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_502682_default" use="optional" order="54" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="loc_us-gaap_FairValueByMeasurementFrequencyAxis_502684" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesTable_236" xlink:to="loc_us-gaap_FairValueByMeasurementFrequencyAxis_502684" use="optional" order="55" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_502685" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_502684" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_502685" use="optional" order="56" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_502685_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_502684" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_502685_default" use="optional" order="57" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_TitleOfIndividualAxis" xlink:label="loc_srt_TitleOfIndividualAxis_237" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesTable_236" xlink:to="loc_srt_TitleOfIndividualAxis_237" use="optional" order="58" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_238" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_TitleOfIndividualAxis_237" xlink:to="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_238" use="optional" order="59" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_238_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_TitleOfIndividualAxis_237" xlink:to="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_238_default" use="optional" order="60" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ExecutiveOfficerMember" xlink:label="loc_srt_ExecutiveOfficerMember_286" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_238" xlink:to="loc_srt_ExecutiveOfficerMember_286" use="optional" order="61" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_NonExecutiveMember" xlink:label="loc_rgen_NonExecutiveMember_565126" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_238" xlink:to="loc_rgen_NonExecutiveMember_565126" use="optional" order="62" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="loc_us-gaap_ConcentrationRiskByTypeAxis_817369" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesTable_236" xlink:to="loc_us-gaap_ConcentrationRiskByTypeAxis_817369" use="optional" order="63" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="loc_us-gaap_ConcentrationRiskTypeDomain_817370" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ConcentrationRiskByTypeAxis_817369" xlink:to="loc_us-gaap_ConcentrationRiskTypeDomain_817370" use="optional" order="64" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="loc_us-gaap_ConcentrationRiskTypeDomain_817370_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ConcentrationRiskByTypeAxis_817369" xlink:to="loc_us-gaap_ConcentrationRiskTypeDomain_817370_default" use="optional" order="65" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="loc_us-gaap_CustomerConcentrationRiskMember_817372" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskTypeDomain_817370" xlink:to="loc_us-gaap_CustomerConcentrationRiskMember_817372" use="optional" order="66" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_817364" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesTable_236" xlink:to="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_817364" use="optional" order="67" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain_817365" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_817364" xlink:to="loc_us-gaap_ConcentrationRiskBenchmarkDomain_817365" use="optional" order="68" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain_817365_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_817364" xlink:to="loc_us-gaap_ConcentrationRiskBenchmarkDomain_817365_default" use="optional" order="69" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsReceivableMember" xlink:label="loc_us-gaap_AccountsReceivableMember_817366" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_817365" xlink:to="loc_us-gaap_AccountsReceivableMember_817366" use="optional" order="70" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdvertisingExpense" xlink:label="loc_us-gaap_AdvertisingExpense_329150" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesLineItems_235" xlink:to="loc_us-gaap_AdvertisingExpense_329150" use="optional" order="71" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_284" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesLineItems_235" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_284" use="optional" order="72" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_499359" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesLineItems_235" xlink:to="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_499359" use="optional" order="73" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_333057" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesLineItems_235" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_333057" use="optional" order="74" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities_614323" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesLineItems_235" xlink:to="loc_us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities_614323" use="optional" order="75" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="loc_us-gaap_ConcentrationRiskPercentage1_814057" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesLineItems_235" xlink:to="loc_us-gaap_ConcentrationRiskPercentage1_814057" use="optional" order="76" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ScheduleOfCashCashEquivalentsAndRestrictedCashDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsLineItems" xlink:label="loc_us-gaap_CashAndCashEquivalentsLineItems_309920" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_309917" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_CashAndCashEquivalentsLineItems_309920" xlink:to="loc_us-gaap_StatementTable_309917" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_309921" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CashAndCashEquivalentsLineItems_309920" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_309921" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedCash" xlink:label="loc_us-gaap_RestrictedCash_309922" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CashAndCashEquivalentsLineItems_309920" xlink:to="loc_us-gaap_RestrictedCash_309922" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_309923" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CashAndCashEquivalentsLineItems_309920" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_309923" use="optional" order="4" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/EstimatedUsefulLifeOfAssetsDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems_564962" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_564946" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_564962" xlink:to="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_564946" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_564947" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_564946" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_564947" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_564949" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_564947" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_564949" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_564949_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_564947" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_564949_default" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BuildingMember" xlink:label="loc_us-gaap_BuildingMember_564950" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_564949" xlink:to="loc_us-gaap_BuildingMember_564950" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="loc_us-gaap_LeaseholdImprovementsMember_564951" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_564949" xlink:to="loc_us-gaap_LeaseholdImprovementsMember_564951" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EquipmentMember" xlink:label="loc_us-gaap_EquipmentMember_564952" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_564949" xlink:to="loc_us-gaap_EquipmentMember_564952" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_FurnitureFixturesAndOfficeEquipmentMemberMember" xlink:label="loc_rgen_FurnitureFixturesAndOfficeEquipmentMemberMember_564954" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_564949" xlink:to="loc_rgen_FurnitureFixturesAndOfficeEquipmentMemberMember_564954" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ComputerHardwareAndSoftwareMemberMember" xlink:label="loc_rgen_ComputerHardwareAndSoftwareMemberMember_564956" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_564949" xlink:to="loc_rgen_ComputerHardwareAndSoftwareMemberMember_564956" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeAxis" xlink:label="loc_srt_RangeAxis_564957" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_564946" xlink:to="loc_srt_RangeAxis_564957" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember" xlink:label="loc_srt_RangeMember_564958" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_564957" xlink:to="loc_srt_RangeMember_564958" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember" xlink:label="loc_srt_RangeMember_564958_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_564957" xlink:to="loc_srt_RangeMember_564958_default" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MaximumMember" xlink:label="loc_srt_MaximumMember_564959" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_564958" xlink:to="loc_srt_MaximumMember_564959" use="optional" order="13" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MinimumMember" xlink:label="loc_srt_MinimumMember_564960" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_564958" xlink:to="loc_srt_MinimumMember_564960" use="optional" order="14" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife_564976" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_564962" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife_564976" use="optional" order="15" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentEstimatedUsefulLives" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentEstimatedUsefulLives_564977" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_564962" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentEstimatedUsefulLives_564977" use="optional" order="16" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ReconciliationOfBasicAndDilutedSharesAmountsDetail">
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems" xlink:label="loc_rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems_564912" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_564913" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems_564912" xlink:to="loc_us-gaap_NetIncomeLoss_564913" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_564914" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems_564912" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_564914" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DilutiveSecuritiesAbstract" xlink:label="loc_us-gaap_DilutiveSecuritiesAbstract_564915" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems_564912" xlink:to="loc_us-gaap_DilutiveSecuritiesAbstract_564915" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_564980" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DilutiveSecuritiesAbstract_564915" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_564980" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesRestrictedStock" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesRestrictedStock_564916" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DilutiveSecuritiesAbstract_564915" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesRestrictedStock_564916" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities_564917" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DilutiveSecuritiesAbstract_564915" xlink:to="loc_us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities_564917" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:label="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_564918" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DilutiveSecuritiesAbstract_564915" xlink:to="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_564918" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareBasicAndDilutedAbstract" xlink:label="loc_us-gaap_EarningsPerShareBasicAndDilutedAbstract_564919" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems_564912" xlink:to="loc_us-gaap_EarningsPerShareBasicAndDilutedAbstract_564919" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaap_EarningsPerShareDiluted_564921" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EarningsPerShareBasicAndDilutedAbstract_564919" xlink:to="loc_us-gaap_EarningsPerShareDiluted_564921" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareBasic" xlink:label="loc_us-gaap_EarningsPerShareBasic_564920" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EarningsPerShareBasicAndDilutedAbstract_564919" xlink:to="loc_us-gaap_EarningsPerShareBasic_564920" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable" xlink:label="loc_rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable_564909" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems_564912" xlink:to="loc_rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable_564909" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_564910" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable_564909" xlink:to="loc_dei_LegalEntityAxis_564910" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_564911" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_564910" xlink:to="loc_dei_EntityDomain_564911" use="optional" order="13" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_564911_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_564910" xlink:to="loc_dei_EntityDomain_564911_default" use="optional" order="14" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/SummaryOfProductRevenuesByProductLineDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:label="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_565017" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_565018" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_565017" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_565018" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:label="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_565005" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_565017" xlink:to="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_565005" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srt_ProductOrServiceAxis_565008" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_565005" xlink:to="loc_srt_ProductOrServiceAxis_565008" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srt_ProductsAndServicesDomain_565010" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ProductOrServiceAxis_565008" xlink:to="loc_srt_ProductsAndServicesDomain_565010" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srt_ProductsAndServicesDomain_565010_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ProductOrServiceAxis_565008" xlink:to="loc_srt_ProductsAndServicesDomain_565010_default" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProductMember" xlink:label="loc_us-gaap_ProductMember_597882" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_565010" xlink:to="loc_us-gaap_ProductMember_597882" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ChromatographyProductsMember" xlink:label="loc_rgen_ChromatographyProductsMember_565012" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_565010" xlink:to="loc_rgen_ChromatographyProductsMember_565012" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_FiltrationProductsMember" xlink:label="loc_rgen_FiltrationProductsMember_565013" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_565010" xlink:to="loc_rgen_FiltrationProductsMember_565013" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ProcessAnalyticsProductsMember" xlink:label="loc_rgen_ProcessAnalyticsProductsMember_565014" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_565010" xlink:to="loc_rgen_ProcessAnalyticsProductsMember_565014" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ProteinsProductsMember" xlink:label="loc_rgen_ProteinsProductsMember_565015" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_565010" xlink:to="loc_rgen_ProteinsProductsMember_565015" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_OtherProductsMember" xlink:label="loc_rgen_OtherProductsMember_565016" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_565010" xlink:to="loc_rgen_OtherProductsMember_565016" use="optional" order="11" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/PercentageOfRevenueByGeographicAreaDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="loc_us-gaap_ConcentrationRiskLineItems_565045" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="loc_us-gaap_ConcentrationRiskPercentage1_565046" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskLineItems_565045" xlink:to="loc_us-gaap_ConcentrationRiskPercentage1_565046" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskTable" xlink:label="loc_us-gaap_ConcentrationRiskTable_565021" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ConcentrationRiskLineItems_565045" xlink:to="loc_us-gaap_ConcentrationRiskTable_565021" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srt_StatementGeographicalAxis_565031" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ConcentrationRiskTable_565021" xlink:to="loc_srt_StatementGeographicalAxis_565031" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srt_SegmentGeographicalDomain_565034" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_StatementGeographicalAxis_565031" xlink:to="loc_srt_SegmentGeographicalDomain_565034" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srt_SegmentGeographicalDomain_565034_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_StatementGeographicalAxis_565031" xlink:to="loc_srt_SegmentGeographicalDomain_565034_default" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_NorthAmericaMember" xlink:label="loc_srt_NorthAmericaMember_565037" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_565034" xlink:to="loc_srt_NorthAmericaMember_565037" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_EuropeMember" xlink:label="loc_srt_EuropeMember_565038" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_565034" xlink:to="loc_srt_EuropeMember_565038" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_APACOtherMember" xlink:label="loc_rgen_APACOtherMember_813990" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_565034" xlink:to="loc_rgen_APACOtherMember_813990" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="loc_us-gaap_ConcentrationRiskByTypeAxis_565026" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ConcentrationRiskTable_565021" xlink:to="loc_us-gaap_ConcentrationRiskByTypeAxis_565026" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="loc_us-gaap_ConcentrationRiskTypeDomain_565028" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ConcentrationRiskByTypeAxis_565026" xlink:to="loc_us-gaap_ConcentrationRiskTypeDomain_565028" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="loc_us-gaap_ConcentrationRiskTypeDomain_565028_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ConcentrationRiskByTypeAxis_565026" xlink:to="loc_us-gaap_ConcentrationRiskTypeDomain_565028_default" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GeographicConcentrationRiskMember" xlink:label="loc_us-gaap_GeographicConcentrationRiskMember_565029" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskTypeDomain_565028" xlink:to="loc_us-gaap_GeographicConcentrationRiskMember_565029" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_565022" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ConcentrationRiskTable_565021" xlink:to="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_565022" use="optional" order="13" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain_565023" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_565022" xlink:to="loc_us-gaap_ConcentrationRiskBenchmarkDomain_565023" use="optional" order="14" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain_565023_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_565022" xlink:to="loc_us-gaap_ConcentrationRiskBenchmarkDomain_565023_default" use="optional" order="15" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_SalesRevenuesGoodsNetMember" xlink:label="loc_rgen_SalesRevenuesGoodsNetMember_565025" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_565023" xlink:to="loc_rgen_SalesRevenuesGoodsNetMember_565025" use="optional" order="16" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/TotalAssetsByGeographicAreaDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SegmentReportingAssetReconcilingItemLineItems" xlink:label="loc_us-gaap_SegmentReportingAssetReconcilingItemLineItems_396" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Assets" xlink:label="loc_us-gaap_Assets_402" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingAssetReconcilingItemLineItems_396" xlink:to="loc_us-gaap_Assets_402" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" xlink:label="loc_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable_394" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_SegmentReportingAssetReconcilingItemLineItems_396" xlink:to="loc_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable_394" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srt_StatementGeographicalAxis_397" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable_394" xlink:to="loc_srt_StatementGeographicalAxis_397" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srt_SegmentGeographicalDomain_395" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_StatementGeographicalAxis_397" xlink:to="loc_srt_SegmentGeographicalDomain_395" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srt_SegmentGeographicalDomain_395_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_StatementGeographicalAxis_397" xlink:to="loc_srt_SegmentGeographicalDomain_395_default" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_NorthAmericaMember" xlink:label="loc_srt_NorthAmericaMember_329159" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_395" xlink:to="loc_srt_NorthAmericaMember_329159" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_APACMember" xlink:label="loc_rgen_APACMember_329160" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_395" xlink:to="loc_rgen_APACMember_329160" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_EuropeMember" xlink:label="loc_srt_EuropeMember_400" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_395" xlink:to="loc_srt_EuropeMember_400" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_393" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable_394" xlink:to="loc_dei_LegalEntityAxis_393" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_398" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_393" xlink:to="loc_dei_EntityDomain_398" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_398_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_393" xlink:to="loc_dei_EntityDomain_398_default" use="optional" order="11" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/LongLivedAssetsByGeographicAreaDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SegmentReportingAssetReconcilingItemLineItems" xlink:label="loc_us-gaap_SegmentReportingAssetReconcilingItemLineItems_408" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_AssetsNonCurrentExcludingDifferedTaxAssets" xlink:label="loc_rgen_AssetsNonCurrentExcludingDifferedTaxAssets_414" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingAssetReconcilingItemLineItems_408" xlink:to="loc_rgen_AssetsNonCurrentExcludingDifferedTaxAssets_414" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" xlink:label="loc_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable_406" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_SegmentReportingAssetReconcilingItemLineItems_408" xlink:to="loc_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable_406" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srt_StatementGeographicalAxis_409" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable_406" xlink:to="loc_srt_StatementGeographicalAxis_409" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srt_SegmentGeographicalDomain_407" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_StatementGeographicalAxis_409" xlink:to="loc_srt_SegmentGeographicalDomain_407" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srt_SegmentGeographicalDomain_407_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_StatementGeographicalAxis_409" xlink:to="loc_srt_SegmentGeographicalDomain_407_default" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_NorthAmericaMember" xlink:label="loc_srt_NorthAmericaMember_329161" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_407" xlink:to="loc_srt_NorthAmericaMember_329161" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_EuropeMember" xlink:label="loc_srt_EuropeMember_329162" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_407" xlink:to="loc_srt_EuropeMember_329162" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_APACMember" xlink:label="loc_rgen_APACMember_329163" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_407" xlink:to="loc_rgen_APACMember_329163" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_405" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable_406" xlink:to="loc_dei_LegalEntityAxis_405" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_410" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_405" xlink:to="loc_dei_EntityDomain_410" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_410_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_405" xlink:to="loc_dei_EntityDomain_410_default" use="optional" order="11" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/PercentageOfRevenueFromSignificantCustomersDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EntityWideRevenueMajorCustomerLineItems" xlink:label="loc_us-gaap_EntityWideRevenueMajorCustomerLineItems_421" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="loc_us-gaap_ConcentrationRiskPercentage1_428" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EntityWideRevenueMajorCustomerLineItems_421" xlink:to="loc_us-gaap_ConcentrationRiskPercentage1_428" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:label="loc_us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable_425" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_EntityWideRevenueMajorCustomerLineItems_421" xlink:to="loc_us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable_425" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MajorCustomersAxis" xlink:label="loc_srt_MajorCustomersAxis_423" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable_425" xlink:to="loc_srt_MajorCustomersAxis_423" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_NameOfMajorCustomerDomain" xlink:label="loc_srt_NameOfMajorCustomerDomain_424" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_MajorCustomersAxis_423" xlink:to="loc_srt_NameOfMajorCustomerDomain_424" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_NameOfMajorCustomerDomain" xlink:label="loc_srt_NameOfMajorCustomerDomain_424_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_MajorCustomersAxis_423" xlink:to="loc_srt_NameOfMajorCustomerDomain_424_default" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_CytivaMember" xlink:label="loc_rgen_CytivaMember_430" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_NameOfMajorCustomerDomain_424" xlink:to="loc_rgen_CytivaMember_430" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_MilliporeSigmaMember" xlink:label="loc_rgen_MilliporeSigmaMember_431" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_NameOfMajorCustomerDomain_424" xlink:to="loc_rgen_MilliporeSigmaMember_431" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_418" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable_425" xlink:to="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_418" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain_417" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_418" xlink:to="loc_us-gaap_ConcentrationRiskBenchmarkDomain_417" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain_417_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_418" xlink:to="loc_us-gaap_ConcentrationRiskBenchmarkDomain_417_default" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SalesRevenueNetMember" xlink:label="loc_us-gaap_SalesRevenueNetMember_426" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_417" xlink:to="loc_us-gaap_SalesRevenueNetMember_426" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="loc_us-gaap_ConcentrationRiskByTypeAxis_419" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable_425" xlink:to="loc_us-gaap_ConcentrationRiskByTypeAxis_419" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="loc_us-gaap_ConcentrationRiskTypeDomain_420" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ConcentrationRiskByTypeAxis_419" xlink:to="loc_us-gaap_ConcentrationRiskTypeDomain_420" use="optional" order="13" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="loc_us-gaap_ConcentrationRiskTypeDomain_420_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ConcentrationRiskByTypeAxis_419" xlink:to="loc_us-gaap_ConcentrationRiskTypeDomain_420_default" use="optional" order="14" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="loc_us-gaap_CustomerConcentrationRiskMember_427" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskTypeDomain_420" xlink:to="loc_us-gaap_CustomerConcentrationRiskMember_427" use="optional" order="15" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_484" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" xlink:label="loc_us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued_499" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_484" xlink:to="loc_us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued_499" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:label="loc_us-gaap_BusinessCombinationAcquisitionRelatedCosts_504" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_484" xlink:to="loc_us-gaap_BusinessCombinationAcquisitionRelatedCosts_504" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferred1_502" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_484" xlink:to="loc_us-gaap_BusinessCombinationConsiderationTransferred1_502" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable_500" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_484" xlink:to="loc_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable_500" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_505" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_484" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_505" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual" xlink:label="loc_us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual_510" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_484" xlink:to="loc_us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual_510" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue" xlink:label="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue_464444" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_484" xlink:to="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue_464444" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:label="loc_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss_468635" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_484" xlink:to="loc_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss_468635" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets" xlink:label="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets_465011" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_484" xlink:to="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets_465011" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" xlink:label="loc_us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts_467961" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_484" xlink:to="loc_us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts_467961" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred_814146" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_484" xlink:to="loc_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred_814146" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_494" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_484" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_494" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_487" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_494" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_487" use="optional" order="13" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_488" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_487" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_488" use="optional" order="14" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_488_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_487" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_488_default" use="optional" order="15" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_489" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_494" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_489" use="optional" order="16" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_490" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_489" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_490" use="optional" order="17" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_490_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_489" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_490_default" use="optional" order="18" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_520" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_490" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_520" use="optional" order="19" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ContingentConsiderationByTypeAxis" xlink:label="loc_us-gaap_ContingentConsiderationByTypeAxis_485" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_494" xlink:to="loc_us-gaap_ContingentConsiderationByTypeAxis_485" use="optional" order="20" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ContingentConsiderationTypeDomain" xlink:label="loc_us-gaap_ContingentConsiderationTypeDomain_486" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ContingentConsiderationByTypeAxis_485" xlink:to="loc_us-gaap_ContingentConsiderationTypeDomain_486" use="optional" order="21" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ContingentConsiderationTypeDomain" xlink:label="loc_us-gaap_ContingentConsiderationTypeDomain_486_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ContingentConsiderationByTypeAxis_485" xlink:to="loc_us-gaap_ContingentConsiderationTypeDomain_486_default" use="optional" order="22" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueByAssetClassAxis" xlink:label="loc_us-gaap_FairValueByAssetClassAxis_464441" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_494" xlink:to="loc_us-gaap_FairValueByAssetClassAxis_464441" use="optional" order="23" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:label="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_464442" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FairValueByAssetClassAxis_464441" xlink:to="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_464442" use="optional" order="24" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:label="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_464442_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FairValueByAssetClassAxis_464441" xlink:to="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_464442_default" use="optional" order="25" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GoodwillMember" xlink:label="loc_us-gaap_GoodwillMember_464443" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_464442" xlink:to="loc_us-gaap_GoodwillMember_464443" use="optional" order="26" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_464445" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_494" xlink:to="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_464445" use="optional" order="27" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="loc_us-gaap_TypeOfAdoptionMember_464446" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_464445" xlink:to="loc_us-gaap_TypeOfAdoptionMember_464446" use="optional" order="28" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="loc_us-gaap_TypeOfAdoptionMember_464446_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_464445" xlink:to="loc_us-gaap_TypeOfAdoptionMember_464446_default" use="optional" order="29" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NonrecurringAdjustmentAxis" xlink:label="loc_us-gaap_NonrecurringAdjustmentAxis_467962" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_494" xlink:to="loc_us-gaap_NonrecurringAdjustmentAxis_467962" use="optional" order="30" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NonrecurringAdjustmentDomain" xlink:label="loc_us-gaap_NonrecurringAdjustmentDomain_467963" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_NonrecurringAdjustmentAxis_467962" xlink:to="loc_us-gaap_NonrecurringAdjustmentDomain_467963" use="optional" order="31" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NonrecurringAdjustmentDomain" xlink:label="loc_us-gaap_NonrecurringAdjustmentDomain_467963_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_NonrecurringAdjustmentAxis_467962" xlink:to="loc_us-gaap_NonrecurringAdjustmentDomain_467963_default" use="optional" order="32" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeAxis" xlink:label="loc_srt_RangeAxis_492" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_494" xlink:to="loc_srt_RangeAxis_492" use="optional" order="33" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember" xlink:label="loc_srt_RangeMember_493" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_492" xlink:to="loc_srt_RangeMember_493" use="optional" order="34" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember" xlink:label="loc_srt_RangeMember_493_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_492" xlink:to="loc_srt_RangeMember_493_default" use="optional" order="35" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_483" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_494" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_483" use="optional" order="36" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_482" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_483" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_482" use="optional" order="37" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_482_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_483" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_482_default" use="optional" order="38" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_CTechnologiesMember" xlink:label="loc_rgen_CTechnologiesMember_464438" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_482" xlink:to="loc_rgen_CTechnologiesMember_464438" use="optional" order="39" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_NonMetallicSolutionsMember" xlink:label="loc_rgen_NonMetallicSolutionsMember_814149" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_482" xlink:to="loc_rgen_NonMetallicSolutionsMember_814149" use="optional" order="40" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ArtesynBiosolutionsMember" xlink:label="loc_rgen_ArtesynBiosolutionsMember_814117" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_482" xlink:to="loc_rgen_ArtesynBiosolutionsMember_814117" use="optional" order="41" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_EngineeredMoldingTechnologyLlcMember" xlink:label="loc_rgen_EngineeredMoldingTechnologyLlcMember_814162" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_482" xlink:to="loc_rgen_EngineeredMoldingTechnologyLlcMember_814162" use="optional" order="42" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_TitleOfIndividualAxis" xlink:label="loc_srt_TitleOfIndividualAxis_607080" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_494" xlink:to="loc_srt_TitleOfIndividualAxis_607080" use="optional" order="43" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_607082" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_TitleOfIndividualAxis_607080" xlink:to="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_607082" use="optional" order="44" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_607082_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_TitleOfIndividualAxis_607080" xlink:to="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_607082_default" use="optional" order="45" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TrustForBenefitOfEmployeesMember" xlink:label="loc_us-gaap_TrustForBenefitOfEmployeesMember_814175" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_607082" xlink:to="loc_us-gaap_TrustForBenefitOfEmployeesMember_814175" use="optional" order="46" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices" xlink:label="loc_rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices_814147" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_484" xlink:to="loc_rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices_814147" use="optional" order="47" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_BusinessCombinationsCashDepositedInEscrowAccount" xlink:label="loc_rgen_BusinessCombinationsCashDepositedInEscrowAccount_814150" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_484" xlink:to="loc_rgen_BusinessCombinationsCashDepositedInEscrowAccount_814150" use="optional" order="48" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_814181" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_484" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_814181" use="optional" order="49" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CompensationExpenseExcludingCostOfGoodAndServiceSold" xlink:label="loc_us-gaap_CompensationExpenseExcludingCostOfGoodAndServiceSold_814178" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_484" xlink:to="loc_us-gaap_CompensationExpenseExcludingCostOfGoodAndServiceSold_814178" use="optional" order="50" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:label="loc_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired_814159" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_484" xlink:to="loc_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired_814159" use="optional" order="51" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_BusinessCombinationConsiderationIndemnificationEscrow" xlink:label="loc_rgen_BusinessCombinationConsiderationIndemnificationEscrow_814169" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_484" xlink:to="loc_rgen_BusinessCombinationConsiderationIndemnificationEscrow_814169" use="optional" order="52" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesGross" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesGross_813905" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_484" xlink:to="loc_us-gaap_PaymentsToAcquireBusinessesGross_813905" use="optional" order="53" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaap_Goodwill_814170" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_484" xlink:to="loc_us-gaap_Goodwill_814170" use="optional" order="54" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/AcquisitionsConsiderationTransferredDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_528" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferred1_539" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_528" xlink:to="loc_us-gaap_BusinessCombinationConsiderationTransferred1_539" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred_813863" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_528" xlink:to="loc_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred_813863" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices" xlink:label="loc_rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices_814189" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_528" xlink:to="loc_rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices_814189" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable_536" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_528" xlink:to="loc_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable_536" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_CashConsiderationExcludingRestrictedCash" xlink:label="loc_rgen_CashConsiderationExcludingRestrictedCash_534" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_528" xlink:to="loc_rgen_CashConsiderationExcludingRestrictedCash_534" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_530" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_528" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_530" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_527" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_530" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_527" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_526" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_527" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_526" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_526_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_527" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_526_default" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ArtesynBiosolutionsMember" xlink:label="loc_rgen_ArtesynBiosolutionsMember_813870" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_526" xlink:to="loc_rgen_ArtesynBiosolutionsMember_813870" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_529" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_530" xlink:to="loc_dei_LegalEntityAxis_529" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_540" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_529" xlink:to="loc_dei_EntityDomain_540" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_540_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_529" xlink:to="loc_dei_EntityDomain_540_default" use="optional" order="13" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/AcquisitionsFairValueOfNetAssetsAcquiredDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_545" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_553" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_545" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_553" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_549" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_545" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_549" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_548" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_549" xlink:to="loc_dei_LegalEntityAxis_548" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_573" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_548" xlink:to="loc_dei_EntityDomain_573" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_573_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_548" xlink:to="loc_dei_EntityDomain_573_default" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_544" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_549" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_544" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_543" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_544" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_543" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_543_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_544" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_543_default" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_NonMetallicSolutionsMember" xlink:label="loc_rgen_NonMetallicSolutionsMember_814210" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_543" xlink:to="loc_rgen_NonMetallicSolutionsMember_814210" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_EngineeredMoldingTechnologyLlcMember" xlink:label="loc_rgen_EngineeredMoldingTechnologyLlcMember_814213" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_543" xlink:to="loc_rgen_EngineeredMoldingTechnologyLlcMember_814213" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_CTechnologiesMember" xlink:label="loc_rgen_CTechnologiesMember_464434" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_543" xlink:to="loc_rgen_CTechnologiesMember_464434" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ArtesynBiosolutionsMember" xlink:label="loc_rgen_ArtesynBiosolutionsMember_813873" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_543" xlink:to="loc_rgen_ArtesynBiosolutionsMember_813873" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_546" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_549" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_546" use="optional" order="13" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_547" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_546" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_547" use="optional" order="14" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_547_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_546" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_547_default" use="optional" order="15" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="loc_us-gaap_NoncompeteAgreementsMember_572" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_547" xlink:to="loc_us-gaap_NoncompeteAgreementsMember_572" use="optional" order="16" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TrademarksAndTradeNamesMember" xlink:label="loc_us-gaap_TrademarksAndTradeNamesMember_571" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_547" xlink:to="loc_us-gaap_TrademarksAndTradeNamesMember_571" use="optional" order="17" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="loc_us-gaap_CustomerRelationshipsMember_569" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_547" xlink:to="loc_us-gaap_CustomerRelationshipsMember_569" use="optional" order="18" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="loc_us-gaap_DevelopedTechnologyRightsMember_570" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_547" xlink:to="loc_us-gaap_DevelopedTechnologyRightsMember_570" use="optional" order="19" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRestrictedCash" xlink:label="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRestrictedCash_464409" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_545" xlink:to="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRestrictedCash_464409" use="optional" order="20" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" xlink:label="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset_464416" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_545" xlink:to="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset_464416" use="optional" order="21" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent" xlink:label="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent_464423" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_545" xlink:to="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent_464423" use="optional" order="22" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_558" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_545" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_558" use="optional" order="23" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_554" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_545" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_554" use="optional" order="24" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable_566" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_545" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable_566" use="optional" order="25" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" xlink:label="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities_568" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_545" xlink:to="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities_568" use="optional" order="26" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_559" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_545" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_559" use="optional" order="27" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent" xlink:label="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent_464419" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_545" xlink:to="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent_464419" use="optional" order="28" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaap_Goodwill_564" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_545" xlink:to="loc_us-gaap_Goodwill_564" use="optional" order="29" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityCurrent" xlink:label="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityCurrent_814222" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_545" xlink:to="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityCurrent_814222" use="optional" order="30" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesNotesPayable" xlink:label="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesNotesPayable_814195" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_545" xlink:to="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesNotesPayable_814195" use="optional" order="31" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedBonus" xlink:label="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedBonus_465040" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_545" xlink:to="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedBonus_465040" use="optional" order="32" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets_813874" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_545" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets_813874" use="optional" order="33" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilitiesCurrent" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilitiesCurrent_813876" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_545" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilitiesCurrent_813876" use="optional" order="34" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets_560" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_545" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets_560" use="optional" order="35" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_562" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_545" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_562" use="optional" order="36" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory_556" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_545" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory_556" use="optional" order="37" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_565" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_545" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_565" use="optional" order="38" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/AcquisitionsEstimatedUsefulLifeAndFairValueDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_464414" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_464411" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_464414" xlink:to="loc_us-gaap_StatementTable_464411" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_464415" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_464411" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_464415" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_464417" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_464415" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_464417" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_464417_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_464415" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_464417_default" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ArtesynBiosolutionsMember" xlink:label="loc_rgen_ArtesynBiosolutionsMember_814198" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_464417" xlink:to="loc_rgen_ArtesynBiosolutionsMember_814198" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_EngineeredMoldingTechnologyLlcMember" xlink:label="loc_rgen_EngineeredMoldingTechnologyLlcMember_814215" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_464417" xlink:to="loc_rgen_EngineeredMoldingTechnologyLlcMember_814215" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_NonMetallicSolutionsMember" xlink:label="loc_rgen_NonMetallicSolutionsMember_814211" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_464417" xlink:to="loc_rgen_NonMetallicSolutionsMember_814211" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_464412" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_464411" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_464412" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_464413" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_464412" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_464413" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_464413_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_464412" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_464413_default" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="loc_us-gaap_CustomerRelationshipsMember_464420" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_464413" xlink:to="loc_us-gaap_CustomerRelationshipsMember_464420" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="loc_us-gaap_DevelopedTechnologyRightsMember_464421" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_464413" xlink:to="loc_us-gaap_DevelopedTechnologyRightsMember_464421" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TradeNamesMember" xlink:label="loc_us-gaap_TradeNamesMember_464422" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_464413" xlink:to="loc_us-gaap_TradeNamesMember_464422" use="optional" order="13" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="loc_us-gaap_NoncompeteAgreementsMember_464424" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_464413" xlink:to="loc_us-gaap_NoncompeteAgreementsMember_464424" use="optional" order="14" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:label="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_464425" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_464414" xlink:to="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_464425" use="optional" order="15" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_464437" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_464414" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_464437" use="optional" order="16" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/AcquisitionsUnauditedSupplementalProFormaInformationDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_578" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:label="loc_us-gaap_BusinessAcquisitionsProFormaRevenue_583" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_578" xlink:to="loc_us-gaap_BusinessAcquisitionsProFormaRevenue_583" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:label="loc_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss_584" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_578" xlink:to="loc_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss_584" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic" xlink:label="loc_us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic_585" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_578" xlink:to="loc_us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic_585" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_580" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_578" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_580" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_579" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_580" xlink:to="loc_dei_LegalEntityAxis_579" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_587" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_579" xlink:to="loc_dei_EntityDomain_587" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_587_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_579" xlink:to="loc_dei_EntityDomain_587_default" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_577" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_580" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_577" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_576" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_577" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_576" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_576_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_577" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_576_default" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_CTechnologiesMember" xlink:label="loc_rgen_CTechnologiesMember_464406" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_576" xlink:to="loc_rgen_CTechnologiesMember_464406" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted" xlink:label="loc_us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted_586" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_578" xlink:to="loc_us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted_586" use="optional" order="12" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/LeasesAdditionalInformationDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_419198" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_419200" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_419198" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_419200" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiability" xlink:label="loc_us-gaap_OperatingLeaseLiability_419202" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_419198" xlink:to="loc_us-gaap_OperatingLeaseLiability_419202" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_419195" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_419198" xlink:to="loc_us-gaap_StatementTable_419195" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaap_StatementClassOfStockAxis_419196" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_419195" xlink:to="loc_us-gaap_StatementClassOfStockAxis_419196" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaap_ClassOfStockDomain_419197" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementClassOfStockAxis_419196" xlink:to="loc_us-gaap_ClassOfStockDomain_419197" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaap_ClassOfStockDomain_419197_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementClassOfStockAxis_419196" xlink:to="loc_us-gaap_ClassOfStockDomain_419197_default" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_419205" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_419195" xlink:to="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_419205" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="loc_us-gaap_TypeOfAdoptionMember_419206" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_419205" xlink:to="loc_us-gaap_TypeOfAdoptionMember_419206" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="loc_us-gaap_TypeOfAdoptionMember_419206_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_419205" xlink:to="loc_us-gaap_TypeOfAdoptionMember_419206_default" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertySubjectToOrAvailableForOperatingLeaseAxis" xlink:label="loc_us-gaap_PropertySubjectToOrAvailableForOperatingLeaseAxis_499398" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_419195" xlink:to="loc_us-gaap_PropertySubjectToOrAvailableForOperatingLeaseAxis_499398" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertySubjectToOrAvailableForOperatingLeaseDomain" xlink:label="loc_us-gaap_PropertySubjectToOrAvailableForOperatingLeaseDomain_499399" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PropertySubjectToOrAvailableForOperatingLeaseAxis_499398" xlink:to="loc_us-gaap_PropertySubjectToOrAvailableForOperatingLeaseDomain_499399" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertySubjectToOrAvailableForOperatingLeaseDomain" xlink:label="loc_us-gaap_PropertySubjectToOrAvailableForOperatingLeaseDomain_499399_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PropertySubjectToOrAvailableForOperatingLeaseAxis_499398" xlink:to="loc_us-gaap_PropertySubjectToOrAvailableForOperatingLeaseDomain_499399_default" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_MarlboroughMassachusettsMember" xlink:label="loc_rgen_MarlboroughMassachusettsMember_822676" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertySubjectToOrAvailableForOperatingLeaseDomain_499399" xlink:to="loc_rgen_MarlboroughMassachusettsMember_822676" use="optional" order="13" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_468870" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_419195" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_468870" use="optional" order="14" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_468871" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_468870" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_468871" use="optional" order="15" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_468871_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_468870" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_468871_default" use="optional" order="16" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IncreaseDecreaseInRightOfUseAssets" xlink:label="loc_rgen_IncreaseDecreaseInRightOfUseAssets_467978" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_419198" xlink:to="loc_rgen_IncreaseDecreaseInRightOfUseAssets_467978" use="optional" order="17" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AreaOfLand" xlink:label="loc_us-gaap_AreaOfLand_822675" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_419198" xlink:to="loc_us-gaap_AreaOfLand_822675" use="optional" order="18" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IncreaseDecreaseInOperatingLeaseLiabilities" xlink:label="loc_rgen_IncreaseDecreaseInOperatingLeaseLiabilities_467980" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_419198" xlink:to="loc_rgen_IncreaseDecreaseInOperatingLeaseLiabilities_467980" use="optional" order="19" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_410185" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_410182" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_410185" xlink:to="loc_us-gaap_StatementTable_410182" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaap_StatementClassOfStockAxis_410183" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_410182" xlink:to="loc_us-gaap_StatementClassOfStockAxis_410183" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaap_ClassOfStockDomain_410184" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementClassOfStockAxis_410183" xlink:to="loc_us-gaap_ClassOfStockDomain_410184" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaap_ClassOfStockDomain_410184_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementClassOfStockAxis_410183" xlink:to="loc_us-gaap_ClassOfStockDomain_410184_default" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_410188" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_410185" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_410188" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_410186" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_410185" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_410186" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_410187" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_410185" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_410187" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_410189" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_410185" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_410189" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_410190" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_410185" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_410190" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_410191" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_410185" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_410191" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_410192" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_410185" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_410192" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_410193" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_410185" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_410193" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiability" xlink:label="loc_us-gaap_OperatingLeaseLiability_410194" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_410185" xlink:to="loc_us-gaap_OperatingLeaseLiability_410194" use="optional" order="13" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/LeasesConsolidatedStatementsOfComprehensiveIncomeDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_410152" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_410149" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_410152" xlink:to="loc_us-gaap_StatementTable_410149" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaap_StatementClassOfStockAxis_410150" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_410149" xlink:to="loc_us-gaap_StatementClassOfStockAxis_410150" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaap_ClassOfStockDomain_410151" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementClassOfStockAxis_410150" xlink:to="loc_us-gaap_ClassOfStockDomain_410151" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaap_ClassOfStockDomain_410151_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementClassOfStockAxis_410150" xlink:to="loc_us-gaap_ClassOfStockDomain_410151_default" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_410155" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_410149" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_410155" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_410156" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_410155" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_410156" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_410156_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_410155" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_410156_default" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LeaseCost" xlink:label="loc_us-gaap_LeaseCost_421581" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_410152" xlink:to="loc_us-gaap_LeaseCost_421581" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseCost" xlink:label="loc_us-gaap_OperatingLeaseCost_410154" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_410152" xlink:to="loc_us-gaap_OperatingLeaseCost_410154" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_VariableOperatingLeaseCost" xlink:label="loc_rgen_VariableOperatingLeaseCost_421579" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_410152" xlink:to="loc_rgen_VariableOperatingLeaseCost_421579" use="optional" order="10" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/LeasesConsolidatedStatementsOfCashFlowsRelatedToOperatingLeasesDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_500300" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_500297" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_500300" xlink:to="loc_us-gaap_StatementTable_500297" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_500298" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_500297" xlink:to="loc_dei_LegalEntityAxis_500298" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_500299" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_500298" xlink:to="loc_dei_EntityDomain_500299" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_500299_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_500298" xlink:to="loc_dei_EntityDomain_500299_default" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeasePayments" xlink:label="loc_us-gaap_OperatingLeasePayments_419185" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_500300" xlink:to="loc_us-gaap_OperatingLeasePayments_419185" use="optional" order="5" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/LeasesOperatingLeaseLiabilitiesDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_410172" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_410173" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_410172" xlink:to="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_410173" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_410175" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_410172" xlink:to="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_410175" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_410169" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_410172" xlink:to="loc_us-gaap_StatementTable_410169" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaap_StatementClassOfStockAxis_410170" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_410169" xlink:to="loc_us-gaap_StatementClassOfStockAxis_410170" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaap_ClassOfStockDomain_410171" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementClassOfStockAxis_410170" xlink:to="loc_us-gaap_ClassOfStockDomain_410171" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaap_ClassOfStockDomain_410171_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementClassOfStockAxis_410170" xlink:to="loc_us-gaap_ClassOfStockDomain_410171_default" use="optional" order="6" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/SummaryOfDisaggregationOfProductRevenuesFromContractsWithCustomersByMajorProductLineDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_309978" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_309973" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_309978" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_309973" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srt_ProductOrServiceAxis_309974" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_309973" xlink:to="loc_srt_ProductOrServiceAxis_309974" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srt_ProductsAndServicesDomain_309975" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ProductOrServiceAxis_309974" xlink:to="loc_srt_ProductsAndServicesDomain_309975" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srt_ProductsAndServicesDomain_309975_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ProductOrServiceAxis_309974" xlink:to="loc_srt_ProductsAndServicesDomain_309975_default" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProductMember" xlink:label="loc_us-gaap_ProductMember_309976" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_309975" xlink:to="loc_us-gaap_ProductMember_309976" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RoyaltyMember" xlink:label="loc_us-gaap_RoyaltyMember_309977" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_309975" xlink:to="loc_us-gaap_RoyaltyMember_309977" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_309980" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_309978" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_309980" use="optional" order="7" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/RevenueFromSignificantCustomersDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="loc_us-gaap_ConcentrationRiskLineItems_309969" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskTable" xlink:label="loc_us-gaap_ConcentrationRiskTable_309959" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ConcentrationRiskLineItems_309969" xlink:to="loc_us-gaap_ConcentrationRiskTable_309959" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MajorCustomersAxis" xlink:label="loc_srt_MajorCustomersAxis_309961" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ConcentrationRiskTable_309959" xlink:to="loc_srt_MajorCustomersAxis_309961" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_NameOfMajorCustomerDomain" xlink:label="loc_srt_NameOfMajorCustomerDomain_309962" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_MajorCustomersAxis_309961" xlink:to="loc_srt_NameOfMajorCustomerDomain_309962" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_NameOfMajorCustomerDomain" xlink:label="loc_srt_NameOfMajorCustomerDomain_309962_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_MajorCustomersAxis_309961" xlink:to="loc_srt_NameOfMajorCustomerDomain_309962_default" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_MilliporeSigmaMember" xlink:label="loc_rgen_MilliporeSigmaMember_309964" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_NameOfMajorCustomerDomain_309962" xlink:to="loc_rgen_MilliporeSigmaMember_309964" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_CytivaMember" xlink:label="loc_rgen_CytivaMember_309965" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_NameOfMajorCustomerDomain_309962" xlink:to="loc_rgen_CytivaMember_309965" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_309970" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskLineItems_309969" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_309970" use="optional" order="7" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/SummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_309941" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_309938" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_309941" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_309938" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_309939" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_309938" xlink:to="loc_dei_LegalEntityAxis_309939" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_309940" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_309939" xlink:to="loc_dei_EntityDomain_309940" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_309940_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_309939" xlink:to="loc_dei_EntityDomain_309940_default" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" xlink:label="loc_us-gaap_ContractWithCustomerAssetAndLiabilityAbstract_309942" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_309941" xlink:to="loc_us-gaap_ContractWithCustomerAssetAndLiabilityAbstract_309942" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_309943" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ContractWithCustomerAssetAndLiabilityAbstract_309942" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_309943" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredRevenue" xlink:label="loc_us-gaap_DeferredRevenue_309944" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ContractWithCustomerAssetAndLiabilityAbstract_309942" xlink:to="loc_us-gaap_DeferredRevenue_309944" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract" xlink:label="loc_us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract_309946" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_309941" xlink:to="loc_us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract_309946" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="loc_us-gaap_ContractWithCustomerLiability_309947" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract_309946" xlink:to="loc_us-gaap_ContractWithCustomerLiability_309947" use="optional" order="9" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ChangesInCarryingValueOfGoodwillDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GoodwillLineItems" xlink:label="loc_us-gaap_GoodwillLineItems_602" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaap_Goodwill_608" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_GoodwillLineItems_602" xlink:to="loc_us-gaap_Goodwill_608" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GoodwillAcquiredDuringPeriod" xlink:label="loc_us-gaap_GoodwillAcquiredDuringPeriod_609" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_GoodwillLineItems_602" xlink:to="loc_us-gaap_GoodwillAcquiredDuringPeriod_609" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:label="loc_us-gaap_GoodwillForeignCurrencyTranslationGainLoss_610" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_GoodwillLineItems_602" xlink:to="loc_us-gaap_GoodwillForeignCurrencyTranslationGainLoss_610" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfGoodwillTable" xlink:label="loc_us-gaap_ScheduleOfGoodwillTable_604" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_GoodwillLineItems_602" xlink:to="loc_us-gaap_ScheduleOfGoodwillTable_604" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_603" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable_604" xlink:to="loc_dei_LegalEntityAxis_603" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_612" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_603" xlink:to="loc_dei_EntityDomain_612" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_612_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_603" xlink:to="loc_dei_EntityDomain_612_default" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_601" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable_604" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_601" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_600" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_601" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_600" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_600_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_601" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_600_default" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_NonMetallicSolutionsMember" xlink:label="loc_rgen_NonMetallicSolutionsMember_817065" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_600" xlink:to="loc_rgen_NonMetallicSolutionsMember_817065" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_SpectrumIncMember" xlink:label="loc_rgen_SpectrumIncMember_606" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_600" xlink:to="loc_rgen_SpectrumIncMember_606" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_CTechnologiesMember" xlink:label="loc_rgen_CTechnologiesMember_566370" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_600" xlink:to="loc_rgen_CTechnologiesMember_566370" use="optional" order="13" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ArtesynBiosolutionsMember" xlink:label="loc_rgen_ArtesynBiosolutionsMember_817067" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_600" xlink:to="loc_rgen_ArtesynBiosolutionsMember_817067" use="optional" order="14" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsDetail">
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IntangibleAssetsLineItems" xlink:label="loc_rgen_IntangibleAssetsLineItems_455" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_465" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IntangibleAssetsLineItems_455" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_465" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IntangibleAssetsGrossExcludingGoodwill" xlink:label="loc_us-gaap_IntangibleAssetsGrossExcludingGoodwill_463" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IntangibleAssetsLineItems_455" xlink:to="loc_us-gaap_IntangibleAssetsGrossExcludingGoodwill_463" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfIntangibleAssetsTable" xlink:label="loc_rgen_ScheduleOfIntangibleAssetsTable_457" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_rgen_IntangibleAssetsLineItems_455" xlink:to="loc_rgen_ScheduleOfIntangibleAssetsTable_457" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_451" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_ScheduleOfIntangibleAssetsTable_457" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_451" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_452" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_451" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_452" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_452_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_451" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_452_default" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="loc_us-gaap_DevelopedTechnologyRightsMember_458" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_452" xlink:to="loc_us-gaap_DevelopedTechnologyRightsMember_458" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="loc_us-gaap_CustomerRelationshipsMember_460" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_452" xlink:to="loc_us-gaap_CustomerRelationshipsMember_460" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PatentsMember" xlink:label="loc_us-gaap_PatentsMember_459" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_452" xlink:to="loc_us-gaap_PatentsMember_459" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherIntangibleAssetsMember" xlink:label="loc_us-gaap_OtherIntangibleAssetsMember_461" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_452" xlink:to="loc_us-gaap_OtherIntangibleAssetsMember_461" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TrademarksMember" xlink:label="loc_us-gaap_TrademarksMember_462" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_452" xlink:to="loc_us-gaap_TrademarksMember_462" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TrademarksMember" xlink:label="loc_us-gaap_TrademarksMember_328065" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_454" xlink:to="loc_us-gaap_TrademarksMember_328065" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_453" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_ScheduleOfIntangibleAssetsTable_457" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_453" use="optional" order="13" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_454" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_453" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_454" use="optional" order="14" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_454_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_453" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_454_default" use="optional" order="15" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_464" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IntangibleAssetsLineItems_455" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsGross_464" use="optional" order="16" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_466" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IntangibleAssetsLineItems_455" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_466" use="optional" order="17" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_310094" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IntangibleAssetsLineItems_455" xlink:to="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_310094" use="optional" order="18" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_310095" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IntangibleAssetsLineItems_455" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_310095" use="optional" order="19" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_328051" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IntangibleAssetsLineItems_455" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_328051" use="optional" order="20" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IndefiniteLivedIntangibleAssetsNet" xlink:label="loc_rgen_IndefiniteLivedIntangibleAssetsNet_328054" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IntangibleAssetsLineItems_455" xlink:to="loc_rgen_IndefiniteLivedIntangibleAssetsNet_328054" use="optional" order="21" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="loc_rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization_817005" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IntangibleAssetsLineItems_455" xlink:to="loc_rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization_817005" use="optional" order="22" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail">
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:label="loc_rgen_FiniteLivedIntangibleLiabilitiesLineItems_310112" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_310108" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_rgen_FiniteLivedIntangibleLiabilitiesLineItems_310112" xlink:to="loc_us-gaap_StatementTable_310108" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaap_StatementClassOfStockAxis_310109" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_310108" xlink:to="loc_us-gaap_StatementClassOfStockAxis_310109" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaap_ClassOfStockDomain_310110" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementClassOfStockAxis_310109" xlink:to="loc_us-gaap_ClassOfStockDomain_310110" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaap_ClassOfStockDomain_310110_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementClassOfStockAxis_310109" xlink:to="loc_us-gaap_ClassOfStockDomain_310110_default" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_310113" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_310108" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_310113" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_310114" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_310113" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_310114" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_310114_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_310113" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_310114_default" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="loc_us-gaap_BalanceSheetLocationAxis_330864" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_310108" xlink:to="loc_us-gaap_BalanceSheetLocationAxis_330864" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_330865" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_330864" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_330865" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_330865_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_330864" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_330865_default" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_597521" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_310108" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_597521" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_597522" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_597521" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_597522" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_597522_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_597521" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_597522_default" use="optional" order="13" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets_310118" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_FiniteLivedIntangibleLiabilitiesLineItems_310112" xlink:to="loc_us-gaap_AmortizationOfIntangibleAssets_310118" use="optional" order="14" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/AmortizationExpenseForAmortizedIntangibleAssetsDetail">
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:label="loc_rgen_FiniteLivedIntangibleLiabilitiesLineItems_471" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_474" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_FiniteLivedIntangibleLiabilitiesLineItems_471" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_474" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_478" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_FiniteLivedIntangibleLiabilitiesLineItems_471" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_478" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_477" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_FiniteLivedIntangibleLiabilitiesLineItems_471" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_477" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_476" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_FiniteLivedIntangibleLiabilitiesLineItems_471" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_476" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_475" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_FiniteLivedIntangibleLiabilitiesLineItems_471" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_475" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_473" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_rgen_FiniteLivedIntangibleLiabilitiesLineItems_471" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_473" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_472" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_473" xlink:to="loc_dei_LegalEntityAxis_472" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_479" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_472" xlink:to="loc_dei_EntityDomain_479" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_479_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_472" xlink:to="loc_dei_EntityDomain_479_default" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_310100" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_FiniteLivedIntangibleLiabilitiesLineItems_471" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_310100" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_310101" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_FiniteLivedIntangibleLiabilitiesLineItems_471" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_310101" use="optional" order="11" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ScheduleOfInventoriesDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryLineItems" xlink:label="loc_us-gaap_InventoryLineItems_318" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="loc_us-gaap_InventoryWorkInProcessNetOfReserves_321" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_InventoryLineItems_318" xlink:to="loc_us-gaap_InventoryWorkInProcessNetOfReserves_321" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryCurrentTable" xlink:label="loc_us-gaap_InventoryCurrentTable_317" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_InventoryLineItems_318" xlink:to="loc_us-gaap_InventoryCurrentTable_317" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_319" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_InventoryCurrentTable_317" xlink:to="loc_dei_LegalEntityAxis_319" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_324" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_319" xlink:to="loc_dei_EntityDomain_324" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_324_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_319" xlink:to="loc_dei_EntityDomain_324_default" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_322" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_InventoryLineItems_318" xlink:to="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_322" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaap_InventoryNet_323" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_InventoryLineItems_318" xlink:to="loc_us-gaap_InventoryNet_323" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="loc_us-gaap_InventoryRawMaterialsNetOfReserves_320" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_InventoryLineItems_318" xlink:to="loc_us-gaap_InventoryRawMaterialsNetOfReserves_320" use="optional" order="8" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/PrepaidExpensesAndOtherCurrentAssetsDetail">
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems" xlink:label="loc_rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems_967" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherAssetsCurrent" xlink:label="loc_us-gaap_OtherAssetsCurrent_974" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems_967" xlink:to="loc_us-gaap_OtherAssetsCurrent_974" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_975" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems_967" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_975" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_PrepaidExpensesAndOtherCurrentAssetsTable" xlink:label="loc_rgen_PrepaidExpensesAndOtherCurrentAssetsTable_968" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems_967" xlink:to="loc_rgen_PrepaidExpensesAndOtherCurrentAssetsTable_968" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_966" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_PrepaidExpensesAndOtherCurrentAssetsTable_968" xlink:to="loc_dei_LegalEntityAxis_966" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_969" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_966" xlink:to="loc_dei_EntityDomain_969" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_969_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_966" xlink:to="loc_dei_EntityDomain_969_default" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PrepaidInsurance" xlink:label="loc_us-gaap_PrepaidInsurance_972" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems_967" xlink:to="loc_us-gaap_PrepaidInsurance_972" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_PrepaidServicesAndProfessionalFees" xlink:label="loc_rgen_PrepaidServicesAndProfessionalFees_970" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems_967" xlink:to="loc_rgen_PrepaidServicesAndProfessionalFees_970" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PrepaidTaxes" xlink:label="loc_us-gaap_PrepaidTaxes_971" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems_967" xlink:to="loc_us-gaap_PrepaidTaxes_971" use="optional" order="9" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/PropertyPlantAndEquipmentDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems_979" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_MachineryAndEquipmentGross" xlink:label="loc_us-gaap_MachineryAndEquipmentGross_985" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_979" xlink:to="loc_us-gaap_MachineryAndEquipmentGross_985" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentGross_988" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_979" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentGross_988" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_990" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_979" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_990" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_980" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_979" xlink:to="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_980" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_978" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_980" xlink:to="loc_dei_LegalEntityAxis_978" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_981" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_978" xlink:to="loc_dei_EntityDomain_981" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_981_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_978" xlink:to="loc_dei_EntityDomain_981_default" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalizedComputerSoftwareGross" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareGross_580399" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_979" xlink:to="loc_us-gaap_CapitalizedComputerSoftwareGross_580399" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LeaseholdImprovementsGross" xlink:label="loc_us-gaap_LeaseholdImprovementsGross_984" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_979" xlink:to="loc_us-gaap_LeaseholdImprovementsGross_984" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Land" xlink:label="loc_us-gaap_Land_982" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_979" xlink:to="loc_us-gaap_Land_982" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentOther" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentOther_409979" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_979" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentOther_409979" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FurnitureAndFixturesGross" xlink:label="loc_us-gaap_FurnitureAndFixturesGross_986" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_979" xlink:to="loc_us-gaap_FurnitureAndFixturesGross_986" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConstructionInProgressGross" xlink:label="loc_us-gaap_ConstructionInProgressGross_987" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_979" xlink:to="loc_us-gaap_ConstructionInProgressGross_987" use="optional" order="13" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BuildingsAndImprovementsGross" xlink:label="loc_us-gaap_BuildingsAndImprovementsGross_983" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_979" xlink:to="loc_us-gaap_BuildingsAndImprovementsGross_983" use="optional" order="14" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_989" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_979" xlink:to="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_989" use="optional" order="15" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ConsolidatedBalanceSheetAdditionalInformationDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_329196" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Depreciation" xlink:label="loc_us-gaap_Depreciation_329206" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_329196" xlink:to="loc_us-gaap_Depreciation_329206" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_329193" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_329196" xlink:to="loc_us-gaap_StatementTable_329193" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_329200" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_329193" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_329200" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_329201" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_329200" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_329201" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_329201_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_329200" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_329201_default" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_FacilityAxis" xlink:label="loc_rgen_FacilityAxis_329197" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_329193" xlink:to="loc_rgen_FacilityAxis_329197" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_FacilityDomain" xlink:label="loc_rgen_FacilityDomain_329198" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_rgen_FacilityAxis_329197" xlink:to="loc_rgen_FacilityDomain_329198" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_FacilityDomain" xlink:label="loc_rgen_FacilityDomain_329198_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_rgen_FacilityAxis_329197" xlink:to="loc_rgen_FacilityDomain_329198_default" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_RgenFacilityAxis" xlink:label="loc_rgen_RgenFacilityAxis_580401" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_329193" xlink:to="loc_rgen_RgenFacilityAxis_580401" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_RgenFacilityDomain" xlink:label="loc_rgen_RgenFacilityDomain_580402" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_rgen_RgenFacilityAxis_580401" xlink:to="loc_rgen_RgenFacilityDomain_580402" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_RgenFacilityDomain" xlink:label="loc_rgen_RgenFacilityDomain_580402_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_rgen_RgenFacilityAxis_580401" xlink:to="loc_rgen_RgenFacilityDomain_580402_default" use="optional" order="11" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ScheduleOfAccruedLiabilitiesDetail">
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfAccruedLiabilitiesLineItems" xlink:label="loc_rgen_ScheduleOfAccruedLiabilitiesLineItems_1001" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="loc_us-gaap_AccruedIncomeTaxesCurrent_1005" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_ScheduleOfAccruedLiabilitiesLineItems_1001" xlink:to="loc_us-gaap_AccruedIncomeTaxesCurrent_1005" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_1012" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_ScheduleOfAccruedLiabilitiesLineItems_1001" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent_1012" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedProfessionalFeesCurrent" xlink:label="loc_us-gaap_AccruedProfessionalFeesCurrent_1009" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_ScheduleOfAccruedLiabilitiesLineItems_1001" xlink:to="loc_us-gaap_AccruedProfessionalFeesCurrent_1009" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredRevenueCurrent" xlink:label="loc_us-gaap_DeferredRevenueCurrent_1010" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_ScheduleOfAccruedLiabilitiesLineItems_1001" xlink:to="loc_us-gaap_DeferredRevenueCurrent_1010" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedRoyaltiesCurrent" xlink:label="loc_us-gaap_AccruedRoyaltiesCurrent_1006" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_ScheduleOfAccruedLiabilitiesLineItems_1001" xlink:to="loc_us-gaap_AccruedRoyaltiesCurrent_1006" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfAccruedLiabilitiesTable" xlink:label="loc_rgen_ScheduleOfAccruedLiabilitiesTable_1002" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_rgen_ScheduleOfAccruedLiabilitiesLineItems_1001" xlink:to="loc_rgen_ScheduleOfAccruedLiabilitiesTable_1002" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1000" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_ScheduleOfAccruedLiabilitiesTable_1002" xlink:to="loc_dei_LegalEntityAxis_1000" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1003" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_1000" xlink:to="loc_dei_EntityDomain_1003" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1003_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_1000" xlink:to="loc_dei_EntityDomain_1003_default" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_1004" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_ScheduleOfAccruedLiabilitiesLineItems_1001" xlink:to="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_1004" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="loc_us-gaap_OtherAccruedLiabilitiesCurrent_1011" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_ScheduleOfAccruedLiabilitiesLineItems_1001" xlink:to="loc_us-gaap_OtherAccruedLiabilitiesCurrent_1011" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:label="loc_us-gaap_ProductWarrantyAccrualClassifiedCurrent_310149" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_ScheduleOfAccruedLiabilitiesLineItems_1001" xlink:to="loc_us-gaap_ProductWarrantyAccrualClassifiedCurrent_310149" use="optional" order="12" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/IncomeBeforeIncomeTaxesDetail">
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems" xlink:label="loc_rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems_616" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_619" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems_616" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_619" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_621" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems_616" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_621" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_620" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems_616" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_620" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfIncomeBeforeIncomeTaxTable" xlink:label="loc_rgen_ScheduleOfIncomeBeforeIncomeTaxTable_617" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems_616" xlink:to="loc_rgen_ScheduleOfIncomeBeforeIncomeTaxTable_617" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_615" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_ScheduleOfIncomeBeforeIncomeTaxTable_617" xlink:to="loc_dei_LegalEntityAxis_615" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_618" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_615" xlink:to="loc_dei_EntityDomain_618" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_618_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_615" xlink:to="loc_dei_EntityDomain_618_default" use="optional" order="7" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/CurrentDeferredAndEquityIncomeTaxesDetail">
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IncomeTaxesLineItems" xlink:label="loc_rgen_IncomeTaxesLineItems_624" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_CurrentIncomeTaxExpenseBenefit_627" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxesLineItems_624" xlink:to="loc_us-gaap_CurrentIncomeTaxExpenseBenefit_627" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions" xlink:label="loc_us-gaap_IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions_597764" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxesLineItems_624" xlink:to="loc_us-gaap_IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions_597764" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IncomeTaxesTable" xlink:label="loc_rgen_IncomeTaxesTable_625" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_rgen_IncomeTaxesLineItems_624" xlink:to="loc_rgen_IncomeTaxesTable_625" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_626" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_IncomeTaxesTable_625" xlink:to="loc_dei_LegalEntityAxis_626" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_630" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_626" xlink:to="loc_dei_EntityDomain_630" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_630_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_626" xlink:to="loc_dei_EntityDomain_630_default" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_629" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxesLineItems_624" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_629" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ProvisionForDeferredIncomeTaxExpenseBenefit" xlink:label="loc_rgen_ProvisionForDeferredIncomeTaxExpenseBenefit_628" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxesLineItems_624" xlink:to="loc_rgen_ProvisionForDeferredIncomeTaxExpenseBenefit_628" use="optional" order="8" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ProvisionForIncomeTaxesByJurisdictionDetail">
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IncomeTaxesLineItems" xlink:label="loc_rgen_IncomeTaxesLineItems_633" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations" xlink:label="loc_us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations_636" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxesLineItems_633" xlink:to="loc_us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations_636" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations" xlink:label="loc_us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations_638" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxesLineItems_633" xlink:to="loc_us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations_638" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IncomeTaxesTable" xlink:label="loc_rgen_IncomeTaxesTable_634" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_rgen_IncomeTaxesLineItems_633" xlink:to="loc_rgen_IncomeTaxesTable_634" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_635" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_IncomeTaxesTable_634" xlink:to="loc_dei_LegalEntityAxis_635" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_640" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_635" xlink:to="loc_dei_EntityDomain_640" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_640_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_635" xlink:to="loc_dei_EntityDomain_640_default" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_639" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxesLineItems_633" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_639" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations" xlink:label="loc_us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations_637" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxesLineItems_633" xlink:to="loc_us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations_637" use="optional" order="8" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/IncomeTaxesAdditionalInformationDetail">
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IncomeTaxesLineItems" xlink:label="loc_rgen_IncomeTaxesLineItems_647" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TaxCreditCarryforwardAmount" xlink:label="loc_us-gaap_TaxCreditCarryforwardAmount_661" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxesLineItems_647" xlink:to="loc_us-gaap_TaxCreditCarryforwardAmount_661" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_UndistributedEarningsOfForeignSubsidiaries" xlink:label="loc_us-gaap_UndistributedEarningsOfForeignSubsidiaries_333121" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxesLineItems_647" xlink:to="loc_us-gaap_UndistributedEarningsOfForeignSubsidiaries_333121" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_665" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxesLineItems_647" xlink:to="loc_us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_665" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ForeignEarningsSubjectToOneTimeTransitionTax" xlink:label="loc_rgen_ForeignEarningsSubjectToOneTimeTransitionTax_333129" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxesLineItems_647" xlink:to="loc_rgen_ForeignEarningsSubjectToOneTimeTransitionTax_333129" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_329224" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxesLineItems_647" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_329224" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:label="loc_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount_663" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxesLineItems_647" xlink:to="loc_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount_663" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IncomeTaxesTable" xlink:label="loc_rgen_IncomeTaxesTable_648" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_rgen_IncomeTaxesLineItems_647" xlink:to="loc_rgen_IncomeTaxesTable_648" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="loc_us-gaap_IncomeTaxAuthorityAxis_645" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_IncomeTaxesTable_648" xlink:to="loc_us-gaap_IncomeTaxAuthorityAxis_645" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain_646" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis_645" xlink:to="loc_us-gaap_IncomeTaxAuthorityDomain_646" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain_646_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis_645" xlink:to="loc_us-gaap_IncomeTaxAuthorityDomain_646_default" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DomesticCountryMember" xlink:label="loc_us-gaap_DomesticCountryMember_657" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_646" xlink:to="loc_us-gaap_DomesticCountryMember_657" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_FederalAndStateMember" xlink:label="loc_rgen_FederalAndStateMember_659" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_646" xlink:to="loc_rgen_FederalAndStateMember_659" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StateAndLocalJurisdictionMember" xlink:label="loc_us-gaap_StateAndLocalJurisdictionMember_658" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_646" xlink:to="loc_us-gaap_StateAndLocalJurisdictionMember_658" use="optional" order="13" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TaxPeriodAxis" xlink:label="loc_us-gaap_TaxPeriodAxis_654" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_IncomeTaxesTable_648" xlink:to="loc_us-gaap_TaxPeriodAxis_654" use="optional" order="14" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TaxPeriodDomain" xlink:label="loc_us-gaap_TaxPeriodDomain_655" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_TaxPeriodAxis_654" xlink:to="loc_us-gaap_TaxPeriodDomain_655" use="optional" order="15" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TaxPeriodDomain" xlink:label="loc_us-gaap_TaxPeriodDomain_655_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_TaxPeriodAxis_654" xlink:to="loc_us-gaap_TaxPeriodDomain_655_default" use="optional" order="16" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LatestTaxYearMember" xlink:label="loc_us-gaap_LatestTaxYearMember_674" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TaxPeriodDomain_655" xlink:to="loc_us-gaap_LatestTaxYearMember_674" use="optional" order="17" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_TaxYear2040Member" xlink:label="loc_rgen_TaxYear2040Member_825140" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TaxPeriodDomain_655" xlink:to="loc_rgen_TaxYear2040Member_825140" use="optional" order="18" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srt_StatementGeographicalAxis_652" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_IncomeTaxesTable_648" xlink:to="loc_srt_StatementGeographicalAxis_652" use="optional" order="19" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srt_SegmentGeographicalDomain_651" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_StatementGeographicalAxis_652" xlink:to="loc_srt_SegmentGeographicalDomain_651" use="optional" order="20" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srt_SegmentGeographicalDomain_651_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_StatementGeographicalAxis_652" xlink:to="loc_srt_SegmentGeographicalDomain_651_default" use="optional" order="21" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_329225" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_IncomeTaxesTable_648" xlink:to="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_329225" use="optional" order="22" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="loc_us-gaap_TypeOfAdoptionMember_329226" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_329225" xlink:to="loc_us-gaap_TypeOfAdoptionMember_329226" use="optional" order="23" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="loc_us-gaap_TypeOfAdoptionMember_329226_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_329225" xlink:to="loc_us-gaap_TypeOfAdoptionMember_329226_default" use="optional" order="24" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountingStandardsUpdate201606Member" xlink:label="loc_us-gaap_AccountingStandardsUpdate201606Member_329227" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TypeOfAdoptionMember_329226" xlink:to="loc_us-gaap_AccountingStandardsUpdate201606Member_329227" use="optional" order="25" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_649" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_IncomeTaxesTable_648" xlink:to="loc_dei_LegalEntityAxis_649" use="optional" order="26" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_670" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_649" xlink:to="loc_dei_EntityDomain_670" use="optional" order="27" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_670_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_649" xlink:to="loc_dei_EntityDomain_670_default" use="optional" order="28" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_644" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_IncomeTaxesTable_648" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_644" use="optional" order="29" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_643" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_644" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_643" use="optional" order="30" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_643_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_644" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_643_default" use="optional" order="31" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="loc_us-gaap_BalanceSheetLocationAxis_329228" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_IncomeTaxesTable_648" xlink:to="loc_us-gaap_BalanceSheetLocationAxis_329228" use="optional" order="32" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_329229" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_329228" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_329229" use="optional" order="33" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_329229_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_329228" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_329229_default" use="optional" order="34" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherAssetsMember" xlink:label="loc_us-gaap_OtherAssetsMember_329230" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_329229" xlink:to="loc_us-gaap_OtherAssetsMember_329230" use="optional" order="35" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_DeferredTaxLiablitiesMember" xlink:label="loc_rgen_DeferredTaxLiablitiesMember_329271" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_329229" xlink:to="loc_rgen_DeferredTaxLiablitiesMember_329271" use="optional" order="36" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_AccumulatedDeficitMember" xlink:label="loc_rgen_AccumulatedDeficitMember_329273" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_329229" xlink:to="loc_rgen_AccumulatedDeficitMember_329273" use="optional" order="37" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="loc_us-gaap_OperatingLossCarryforwards_660" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxesLineItems_647" xlink:to="loc_us-gaap_OperatingLossCarryforwards_660" use="optional" order="38" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherInformationPertainingToIncomeTaxes" xlink:label="loc_us-gaap_OtherInformationPertainingToIncomeTaxes_662" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxesLineItems_647" xlink:to="loc_us-gaap_OtherInformationPertainingToIncomeTaxes_662" use="optional" order="39" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense_599842" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxesLineItems_647" xlink:to="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense_599842" use="optional" order="40" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_599843" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxesLineItems_647" xlink:to="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_599843" use="optional" order="41" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_CoronavirusAidReliefAndEconomicSecurityFundValue" xlink:label="loc_rgen_CoronavirusAidReliefAndEconomicSecurityFundValue_825166" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxesLineItems_647" xlink:to="loc_rgen_CoronavirusAidReliefAndEconomicSecurityFundValue_825166" use="optional" order="42" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail">
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems" xlink:label="loc_rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems_681" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsNetAbstract" xlink:label="loc_us-gaap_DeferredTaxAssetsNetAbstract_677" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems_681" xlink:to="loc_us-gaap_DeferredTaxAssetsNetAbstract_677" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_683" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DeferredTaxAssetsNetAbstract_677" xlink:to="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_683" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseAbstract" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseAbstract_678" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DeferredTaxAssetsNetAbstract_677" xlink:to="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseAbstract_678" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpense" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpense_691" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseAbstract_678" xlink:to="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpense_691" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_688" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseAbstract_678" xlink:to="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_688" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther_690" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseAbstract_678" xlink:to="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther_690" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_DeferredTaxAssetsOperatingLeases" xlink:label="loc_rgen_DeferredTaxAssetsOperatingLeases_580430" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseAbstract_678" xlink:to="loc_rgen_DeferredTaxAssetsOperatingLeases_580430" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_DeferredTaxAssetsAccruedBonus" xlink:label="loc_rgen_DeferredTaxAssetsAccruedBonus_597773" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseAbstract_678" xlink:to="loc_rgen_DeferredTaxAssetsAccruedBonus_597773" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="loc_us-gaap_DeferredTaxAssetsGross_685" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DeferredTaxAssetsNetAbstract_677" xlink:to="loc_us-gaap_DeferredTaxAssetsGross_685" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="loc_us-gaap_DeferredTaxAssetsNet_687" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DeferredTaxAssetsNetAbstract_677" xlink:to="loc_us-gaap_DeferredTaxAssetsNet_687" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwards" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxCreditCarryforwards_684" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DeferredTaxAssetsNetAbstract_677" xlink:to="loc_us-gaap_DeferredTaxAssetsTaxCreditCarryforwards_684" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="loc_us-gaap_DeferredTaxAssetsValuationAllowance_686" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DeferredTaxAssetsNetAbstract_677" xlink:to="loc_us-gaap_DeferredTaxAssetsValuationAllowance_686" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxLiabilitiesAbstract" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesAbstract_679" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems_681" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesAbstract_679" use="optional" order="13" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilities_694" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesAbstract_679" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilities_694" use="optional" order="14" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxLiabilities" xlink:label="loc_us-gaap_DeferredTaxLiabilities_695" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesAbstract_679" xlink:to="loc_us-gaap_DeferredTaxLiabilities_695" use="optional" order="15" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes" xlink:label="loc_rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes_693" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesAbstract_679" xlink:to="loc_rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes_693" use="optional" order="16" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_692" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesAbstract_679" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_692" use="optional" order="17" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill_333064" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesAbstract_679" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill_333064" use="optional" order="18" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_DeferredIncomeTaxLiabilitiesFixedAssets" xlink:label="loc_rgen_DeferredIncomeTaxLiabilitiesFixedAssets_597779" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesAbstract_679" xlink:to="loc_rgen_DeferredIncomeTaxLiabilitiesFixedAssets_597779" use="optional" order="19" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" xlink:label="loc_rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets_597782" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesAbstract_679" xlink:to="loc_rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets_597782" use="optional" order="20" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable" xlink:label="loc_rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable_682" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems_681" xlink:to="loc_rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable_682" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="21" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_680" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable_682" xlink:to="loc_dei_LegalEntityAxis_680" use="optional" order="22" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_696" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_680" xlink:to="loc_dei_EntityDomain_696" use="optional" order="23" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_696_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_680" xlink:to="loc_dei_EntityDomain_696_default" use="optional" order="24" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail">
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IncomeTaxRateReconciliationLineItems" xlink:label="loc_rgen_IncomeTaxRateReconciliationLineItems_701" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_720" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_720" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_726" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_726" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther_723" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther_723" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_728" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_728" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_699" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_699" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_704" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_699" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_704" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_705" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_699" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_705" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_706" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_699" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_706" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_724" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_724" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost_721" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost_721" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_727" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_727" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_719" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_719" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:label="loc_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_711" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_711" use="optional" order="13" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpenseOther" xlink:label="loc_us-gaap_IncomeTaxReconciliationNondeductibleExpenseOther_714" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_us-gaap_IncomeTaxReconciliationNondeductibleExpenseOther_714" use="optional" order="14" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract_700" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract_700" use="optional" order="15" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential" xlink:label="loc_us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential_707" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract_700" xlink:to="loc_us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential_707" use="optional" order="16" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" xlink:label="loc_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes_708" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract_700" xlink:to="loc_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes_708" use="optional" order="17" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxReconciliationTaxCredits" xlink:label="loc_us-gaap_IncomeTaxReconciliationTaxCredits_709" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract_700" xlink:to="loc_us-gaap_IncomeTaxReconciliationTaxCredits_709" use="optional" order="18" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IncomeTaxRateReconciliationTable" xlink:label="loc_rgen_IncomeTaxRateReconciliationTable_702" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_rgen_IncomeTaxRateReconciliationTable_702" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="19" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_703" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_IncomeTaxRateReconciliationTable_702" xlink:to="loc_dei_LegalEntityAxis_703" use="optional" order="20" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_729" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_703" xlink:to="loc_dei_EntityDomain_729" use="optional" order="21" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_729_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_703" xlink:to="loc_dei_EntityDomain_729_default" use="optional" order="22" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="loc_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_717" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_717" use="optional" order="23" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTax" xlink:label="loc_rgen_EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTax_725" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_rgen_EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTax_725" use="optional" order="24" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_710" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_710" use="optional" order="25" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxReconciliationChangeInEnactedTaxRate" xlink:label="loc_us-gaap_IncomeTaxReconciliationChangeInEnactedTaxRate_715" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_us-gaap_IncomeTaxReconciliationChangeInEnactedTaxRate_715" use="optional" order="26" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IncomeTaxReconciliationChangeInForeignTaxRateAmount" xlink:label="loc_rgen_IncomeTaxReconciliationChangeInForeignTaxRateAmount_333085" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_rgen_IncomeTaxReconciliationChangeInForeignTaxRateAmount_333085" use="optional" order="27" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_EffectiveIncomeTaxRateReconciliationChangeInForeignTaxRateAmount" xlink:label="loc_rgen_EffectiveIncomeTaxRateReconciliationChangeInForeignTaxRateAmount_333086" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_rgen_EffectiveIncomeTaxRateReconciliationChangeInForeignTaxRateAmount_333086" use="optional" order="28" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation" xlink:label="loc_rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation_333087" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation_333087" use="optional" order="29" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:label="loc_us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost_712" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost_712" use="optional" order="30" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxReconciliationOtherReconcilingItems" xlink:label="loc_us-gaap_IncomeTaxReconciliationOtherReconcilingItems_718" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_us-gaap_IncomeTaxReconciliationOtherReconcilingItems_718" use="optional" order="31" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings" xlink:label="loc_us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings_330934" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings_330934" use="optional" order="32" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_TransitionTaxForAccumulatedForeignEarningsProvisionalIncomeTaxExpense" xlink:label="loc_rgen_TransitionTaxForAccumulatedForeignEarningsProvisionalIncomeTaxExpense_716" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_rgen_TransitionTaxForAccumulatedForeignEarningsProvisionalIncomeTaxExpense_716" use="optional" order="33" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings_329282" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings_329282" use="optional" order="34" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation" xlink:label="loc_rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation_333088" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation_333088" use="optional" order="35" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxReconciliationTaxContingencies" xlink:label="loc_us-gaap_IncomeTaxReconciliationTaxContingencies_333095" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_us-gaap_IncomeTaxReconciliationTaxContingencies_333095" use="optional" order="36" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IncomeTaxReconciliationReturnToProvisionAdjustments" xlink:label="loc_rgen_IncomeTaxReconciliationReturnToProvisionAdjustments_333097" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_rgen_IncomeTaxReconciliationReturnToProvisionAdjustments_333097" use="optional" order="37" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments" xlink:label="loc_rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments_333098" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments_333098" use="optional" order="38" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IncomeTaxReconciliationChangeInStateTaxRate" xlink:label="loc_rgen_IncomeTaxReconciliationChangeInStateTaxRate_333185" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_rgen_IncomeTaxReconciliationChangeInStateTaxRate_333185" use="optional" order="39" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_EffectiveIncomeTaxRateReconciliationChangeInStateTaxRate" xlink:label="loc_rgen_EffectiveIncomeTaxRateReconciliationChangeInStateTaxRate_333186" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_rgen_EffectiveIncomeTaxRateReconciliationChangeInStateTaxRate_333186" use="optional" order="40" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_333096" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_333096" use="optional" order="41" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/SummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxExaminationLineItems" xlink:label="loc_us-gaap_IncomeTaxExaminationLineItems_732" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxExaminationTable" xlink:label="loc_us-gaap_IncomeTaxExaminationTable_733" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_IncomeTaxExaminationLineItems_732" xlink:to="loc_us-gaap_IncomeTaxExaminationTable_733" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_734" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_IncomeTaxExaminationTable_733" xlink:to="loc_dei_LegalEntityAxis_734" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_740" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_734" xlink:to="loc_dei_EntityDomain_740" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_740_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_734" xlink:to="loc_dei_EntityDomain_740_default" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srt_StatementGeographicalAxis_736" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_IncomeTaxExaminationTable_733" xlink:to="loc_srt_StatementGeographicalAxis_736" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srt_SegmentGeographicalDomain_735" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_StatementGeographicalAxis_736" xlink:to="loc_srt_SegmentGeographicalDomain_735" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srt_SegmentGeographicalDomain_735_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_StatementGeographicalAxis_736" xlink:to="loc_srt_SegmentGeographicalDomain_735_default" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2020/country-2020-01-31.xsd#country_SE" xlink:label="loc_country_SE_742" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_735" xlink:to="loc_country_SE_742" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2020/country-2020-01-31.xsd#country_US" xlink:label="loc_country_US_741" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_735" xlink:to="loc_country_US_741" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TaxPeriodAxis" xlink:label="loc_us-gaap_TaxPeriodAxis_737" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_IncomeTaxExaminationTable_733" xlink:to="loc_us-gaap_TaxPeriodAxis_737" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TaxPeriodDomain" xlink:label="loc_us-gaap_TaxPeriodDomain_738" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_TaxPeriodAxis_737" xlink:to="loc_us-gaap_TaxPeriodDomain_738" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TaxPeriodDomain" xlink:label="loc_us-gaap_TaxPeriodDomain_738_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_TaxPeriodAxis_737" xlink:to="loc_us-gaap_TaxPeriodDomain_738_default" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LatestTaxYearMember" xlink:label="loc_us-gaap_LatestTaxYearMember_746" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TaxPeriodDomain_738" xlink:to="loc_us-gaap_LatestTaxYearMember_746" use="optional" order="13" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarliestTaxYearMember" xlink:label="loc_us-gaap_EarliestTaxYearMember_745" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TaxPeriodDomain_738" xlink:to="loc_us-gaap_EarliestTaxYearMember_745" use="optional" order="14" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OpenTaxYear" xlink:label="loc_us-gaap_OpenTaxYear_327901" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxExaminationLineItems_732" xlink:to="loc_us-gaap_OpenTaxYear_327901" use="optional" order="15" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ReconciliationOfUnrecognizedTaxBenefitsDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems" xlink:label="loc_us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems_750" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable" xlink:label="loc_us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable_751" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems_750" xlink:to="loc_us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable_751" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_749" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable_751" xlink:to="loc_dei_LegalEntityAxis_749" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_752" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_749" xlink:to="loc_dei_EntityDomain_752" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_752_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_749" xlink:to="loc_dei_EntityDomain_752_default" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="loc_us-gaap_UnrecognizedTaxBenefits_753" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems_750" xlink:to="loc_us-gaap_UnrecognizedTaxBenefits_753" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_755" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems_750" xlink:to="loc_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_755" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease" xlink:label="loc_rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease_756" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems_750" xlink:to="loc_rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease_756" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_597829" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems_750" xlink:to="loc_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_597829" use="optional" order="8" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail">
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_StockholdersEquityNoteDisclosureLineItems" xlink:label="loc_rgen_StockholdersEquityNoteDisclosureLineItems_767" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfCommonStock_785" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureLineItems_767" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfCommonStock_785" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_797" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureLineItems_767" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_797" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensation" xlink:label="loc_us-gaap_ShareBasedCompensation_786" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureLineItems_767" xlink:to="loc_us-gaap_ShareBasedCompensation_786" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_787" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureLineItems_767" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_787" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_798" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureLineItems_767" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_798" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_790" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureLineItems_767" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_790" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1_796" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureLineItems_767" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1_796" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares" xlink:label="loc_rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares_802" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureLineItems_767" xlink:to="loc_rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares_802" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_791" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureLineItems_767" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_791" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_792" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureLineItems_767" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_792" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_799" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureLineItems_767" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_799" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_794" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureLineItems_767" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_794" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_795" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureLineItems_767" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_795" use="optional" order="13" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_801" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureLineItems_767" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_801" use="optional" order="14" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_StockholdersEquityNoteDisclosureTable" xlink:label="loc_rgen_StockholdersEquityNoteDisclosureTable_768" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureLineItems_767" xlink:to="loc_rgen_StockholdersEquityNoteDisclosureTable_768" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="15" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_762" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureTable_768" xlink:to="loc_dei_LegalEntityAxis_762" use="optional" order="16" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_774" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_762" xlink:to="loc_dei_EntityDomain_774" use="optional" order="17" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_774_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_762" xlink:to="loc_dei_EntityDomain_774_default" use="optional" order="18" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeAxis" xlink:label="loc_srt_RangeAxis_763" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureTable_768" xlink:to="loc_srt_RangeAxis_763" use="optional" order="19" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember" xlink:label="loc_srt_RangeMember_764" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_763" xlink:to="loc_srt_RangeMember_764" use="optional" order="20" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember" xlink:label="loc_srt_RangeMember_764_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_763" xlink:to="loc_srt_RangeMember_764_default" use="optional" order="21" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MaximumMember" xlink:label="loc_srt_MaximumMember_776" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_764" xlink:to="loc_srt_MaximumMember_776" use="optional" order="22" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MinimumMember" xlink:label="loc_srt_MinimumMember_775" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_764" xlink:to="loc_srt_MinimumMember_775" use="optional" order="23" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_766" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureTable_768" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_766" use="optional" order="24" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaap_EquityComponentDomain_761" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_766" xlink:to="loc_us-gaap_EquityComponentDomain_761" use="optional" order="25" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaap_EquityComponentDomain_761_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_766" xlink:to="loc_us-gaap_EquityComponentDomain_761_default" use="optional" order="26" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaap_CommonStockMember_773" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_761" xlink:to="loc_us-gaap_CommonStockMember_773" use="optional" order="27" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaap_AwardTypeAxis_760" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureTable_768" xlink:to="loc_us-gaap_AwardTypeAxis_760" use="optional" order="28" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_765" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_760" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_765" use="optional" order="29" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_765_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_760" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_765_default" use="optional" order="30" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_OptionToPurchaseCommonStockMember" xlink:label="loc_rgen_OptionToPurchaseCommonStockMember_779" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_765" xlink:to="loc_rgen_OptionToPurchaseCommonStockMember_779" use="optional" order="31" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="loc_us-gaap_EmployeeStockOptionMember_777" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_765" xlink:to="loc_us-gaap_EmployeeStockOptionMember_777" use="optional" order="32" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_780" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_765" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_780" use="optional" order="33" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PlanNameAxis" xlink:label="loc_us-gaap_PlanNameAxis_310020" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureTable_768" xlink:to="loc_us-gaap_PlanNameAxis_310020" use="optional" order="34" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaap_PlanNameDomain_310022" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PlanNameAxis_310020" xlink:to="loc_us-gaap_PlanNameDomain_310022" use="optional" order="35" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaap_PlanNameDomain_310022_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PlanNameAxis_310020" xlink:to="loc_us-gaap_PlanNameDomain_310022_default" use="optional" order="36" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_StockOptionAndIncentivePlanMember" xlink:label="loc_rgen_StockOptionAndIncentivePlanMember_310025" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PlanNameDomain_310022" xlink:to="loc_rgen_StockOptionAndIncentivePlanMember_310025" use="optional" order="37" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_TitleOfIndividualAxis" xlink:label="loc_srt_TitleOfIndividualAxis_769" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureTable_768" xlink:to="loc_srt_TitleOfIndividualAxis_769" use="optional" order="38" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_770" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_TitleOfIndividualAxis_769" xlink:to="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_770" use="optional" order="39" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_770_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_TitleOfIndividualAxis_769" xlink:to="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_770_default" use="optional" order="40" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_UnderwriterMember" xlink:label="loc_rgen_UnderwriterMember_803" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_770" xlink:to="loc_rgen_UnderwriterMember_803" use="optional" order="41" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_VestingAxis" xlink:label="loc_us-gaap_VestingAxis_771" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureTable_768" xlink:to="loc_us-gaap_VestingAxis_771" use="optional" order="42" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_VestingDomain" xlink:label="loc_us-gaap_VestingDomain_772" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_VestingAxis_771" xlink:to="loc_us-gaap_VestingDomain_772" use="optional" order="43" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_VestingDomain" xlink:label="loc_us-gaap_VestingDomain_772_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_VestingAxis_771" xlink:to="loc_us-gaap_VestingDomain_772_default" use="optional" order="44" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:label="loc_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_808" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VestingDomain_772" xlink:to="loc_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_808" use="optional" order="45" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:label="loc_us-gaap_ShareBasedCompensationAwardTrancheOneMember_807" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VestingDomain_772" xlink:to="loc_us-gaap_ShareBasedCompensationAwardTrancheOneMember_807" use="optional" order="46" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharePrice" xlink:label="loc_us-gaap_SharePrice_793" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureLineItems_767" xlink:to="loc_us-gaap_SharePrice_793" use="optional" order="47" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_CommonStockIssuePricePerShare" xlink:label="loc_rgen_CommonStockIssuePricePerShare_783" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureLineItems_767" xlink:to="loc_rgen_CommonStockIssuePricePerShare_783" use="optional" order="48" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaap_CommonStockSharesIssued_782" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureLineItems_767" xlink:to="loc_us-gaap_CommonStockSharesIssued_782" use="optional" order="49" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_800" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureLineItems_767" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_800" use="optional" order="50" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_784" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureLineItems_767" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_784" use="optional" order="51" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:label="loc_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_310019" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureLineItems_767" xlink:to="loc_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_310019" use="optional" order="52" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/StockBasedCompensationExpenseDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_811" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensation" xlink:label="loc_us-gaap_ShareBasedCompensation_816" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_811" xlink:to="loc_us-gaap_ShareBasedCompensation_816" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_815" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_811" xlink:to="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_815" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_812" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_815" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_812" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_813" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_812" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_813" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_813_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_812" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_813_default" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_819" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_813" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_819" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseMember_818" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_813" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpenseMember_818" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CostOfSalesMember" xlink:label="loc_us-gaap_CostOfSalesMember_817" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_813" xlink:to="loc_us-gaap_CostOfSalesMember_817" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_814" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_815" xlink:to="loc_dei_LegalEntityAxis_814" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_820" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_814" xlink:to="loc_dei_EntityDomain_820" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_820_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_814" xlink:to="loc_dei_EntityDomain_820_default" use="optional" order="11" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/EstimatedWeightedAverageAssumptionsDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_827" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum_833" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_827" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum_833" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum_835" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_827" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum_835" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_826" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_827" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_826" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_823" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_826" xlink:to="loc_dei_LegalEntityAxis_823" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_828" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_823" xlink:to="loc_dei_EntityDomain_828" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_828_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_823" xlink:to="loc_dei_EntityDomain_828_default" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeAxis" xlink:label="loc_srt_RangeAxis_824" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_826" xlink:to="loc_srt_RangeAxis_824" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember" xlink:label="loc_srt_RangeMember_825" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_824" xlink:to="loc_srt_RangeMember_825" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember" xlink:label="loc_srt_RangeMember_825_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_824" xlink:to="loc_srt_RangeMember_825_default" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MaximumMember" xlink:label="loc_srt_MaximumMember_830" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_825" xlink:to="loc_srt_MaximumMember_830" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MinimumMember" xlink:label="loc_srt_MinimumMember_829" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_825" xlink:to="loc_srt_MinimumMember_829" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_837" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_827" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_837" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_831" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_827" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_831" use="optional" order="13" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum_836" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_827" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum_836" use="optional" order="14" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum_834" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_827" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum_834" use="optional" order="15" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/SummaryOfOptionActivityDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_842" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_841" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_842" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_841" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_840" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_841" xlink:to="loc_dei_LegalEntityAxis_840" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_847" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_840" xlink:to="loc_dei_EntityDomain_847" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_847_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_840" xlink:to="loc_dei_EntityDomain_847_default" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract" xlink:label="loc_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract_844" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_842" xlink:to="loc_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract_844" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_852" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract_844" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_852" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_851" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract_844" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_851" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_853" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract_844" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_853" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_843" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_842" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_843" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_849" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_843" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_849" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_850" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_843" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_850" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_848" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_843" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_848" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_845" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_842" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_845" use="optional" order="13" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_859" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_845" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_859" use="optional" order="14" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_855" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_845" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_855" use="optional" order="15" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_854" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_845" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_854" use="optional" order="16" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_860" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_845" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_860" use="optional" order="17" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_856" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_845" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_856" use="optional" order="18" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_846" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_842" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_846" use="optional" order="19" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_866" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_846" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_866" use="optional" order="20" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_861" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_846" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_861" use="optional" order="21" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_863" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_846" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_863" use="optional" order="22" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_862" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_846" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_862" use="optional" order="23" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/SummaryOfOptionActivityParentheticalDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_873" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_PercentageOfSharesSubjectToForfeiture" xlink:label="loc_rgen_PercentageOfSharesSubjectToForfeiture_878" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_873" xlink:to="loc_rgen_PercentageOfSharesSubjectToForfeiture_878" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_872" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_873" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_872" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_871" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_872" xlink:to="loc_dei_LegalEntityAxis_871" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_877" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_871" xlink:to="loc_dei_EntityDomain_877" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_877_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_871" xlink:to="loc_dei_EntityDomain_877_default" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaap_AwardTypeAxis_870" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_872" xlink:to="loc_us-gaap_AwardTypeAxis_870" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_874" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_870" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_874" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_874_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_870" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_874_default" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="loc_us-gaap_EmployeeStockOptionMember_879" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_874" xlink:to="loc_us-gaap_EmployeeStockOptionMember_879" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_TitleOfIndividualAxis" xlink:label="loc_srt_TitleOfIndividualAxis_875" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_872" xlink:to="loc_srt_TitleOfIndividualAxis_875" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_876" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_TitleOfIndividualAxis_875" xlink:to="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_876" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_876_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_TitleOfIndividualAxis_875" xlink:to="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_876_default" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_NonExecutiveMember" xlink:label="loc_rgen_NonExecutiveMember_880" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_876" xlink:to="loc_rgen_NonExecutiveMember_880" use="optional" order="13" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ExecutiveOfficerMember" xlink:label="loc_srt_ExecutiveOfficerMember_881" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_876" xlink:to="loc_srt_ExecutiveOfficerMember_881" use="optional" order="14" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/SummaryOfRestrictedStockUnitActivityDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_890" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_889" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_890" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_889" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_900" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_889" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_900" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_898" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_889" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_898" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_897" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_889" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_897" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_899" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_889" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_899" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract_888" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_890" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract_888" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding_895" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract_888" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding_895" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="loc_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_896" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract_888" xlink:to="loc_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_896" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_886" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_890" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_886" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaap_AwardTypeAxis_884" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_886" xlink:to="loc_us-gaap_AwardTypeAxis_884" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_891" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_884" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_891" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_891_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_884" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_891_default" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_903" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_891" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_903" use="optional" order="13" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract_887" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_890" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract_887" use="optional" order="14" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms_893" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract_887" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms_893" use="optional" order="15" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm" xlink:label="loc_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm_894" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract_887" xlink:to="loc_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm_894" use="optional" order="16" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber" xlink:label="loc_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber_902" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_890" xlink:to="loc_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber_902" use="optional" order="17" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/SummaryOfRestrictedStockUnitActivityParentheticalDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_909" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_PercentageOfSharesSubjectToForfeiture" xlink:label="loc_rgen_PercentageOfSharesSubjectToForfeiture_914" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_909" xlink:to="loc_rgen_PercentageOfSharesSubjectToForfeiture_914" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_908" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_909" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_908" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaap_AwardTypeAxis_906" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_908" xlink:to="loc_us-gaap_AwardTypeAxis_906" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_910" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_906" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_910" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_910_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_906" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_910_default" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_TitleOfIndividualAxis" xlink:label="loc_srt_TitleOfIndividualAxis_911" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_908" xlink:to="loc_srt_TitleOfIndividualAxis_911" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_912" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_TitleOfIndividualAxis_911" xlink:to="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_912" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_912_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_TitleOfIndividualAxis_911" xlink:to="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_912_default" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_NonExecutiveMember" xlink:label="loc_rgen_NonExecutiveMember_916" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_912" xlink:to="loc_rgen_NonExecutiveMember_916" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ExecutiveOfficerMember" xlink:label="loc_srt_ExecutiveOfficerMember_917" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_912" xlink:to="loc_srt_ExecutiveOfficerMember_917" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_907" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_908" xlink:to="loc_dei_LegalEntityAxis_907" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_913" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_907" xlink:to="loc_dei_EntityDomain_913" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_913_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_907" xlink:to="loc_dei_EntityDomain_913_default" use="optional" order="13" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/CommitmentsAndContingenciesAdditionalInformationDetail">
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_CommitmentsAndContingenciesLineItems" xlink:label="loc_rgen_CommitmentsAndContingenciesLineItems_922" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_CommitmentsAndContingenciesTable" xlink:label="loc_rgen_CommitmentsAndContingenciesTable_923" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_rgen_CommitmentsAndContingenciesLineItems_922" xlink:to="loc_rgen_CommitmentsAndContingenciesTable_923" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_AmendmentAxis" xlink:label="loc_rgen_AmendmentAxis_920" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_CommitmentsAndContingenciesTable_923" xlink:to="loc_rgen_AmendmentAxis_920" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_AmendmentDomain" xlink:label="loc_rgen_AmendmentDomain_921" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_rgen_AmendmentAxis_920" xlink:to="loc_rgen_AmendmentDomain_921" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_AmendmentDomain" xlink:label="loc_rgen_AmendmentDomain_921_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_rgen_AmendmentAxis_920" xlink:to="loc_rgen_AmendmentDomain_921_default" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_924" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_CommitmentsAndContingenciesTable_923" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_924" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_925" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_924" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_925" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_925_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_924" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_925_default" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_926" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_CommitmentsAndContingenciesTable_923" xlink:to="loc_dei_LegalEntityAxis_926" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_950" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_926" xlink:to="loc_dei_EntityDomain_950" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_950_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_926" xlink:to="loc_dei_EntityDomain_950_default" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis" xlink:label="loc_us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis_329277" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_CommitmentsAndContingenciesTable_923" xlink:to="loc_us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis_329277" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain" xlink:label="loc_us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain_329278" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis_329277" xlink:to="loc_us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain_329278" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain" xlink:label="loc_us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain_329278_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis_329277" xlink:to="loc_us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain_329278_default" use="optional" order="13" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ResearchAndDevelopmentArrangementMember" xlink:label="loc_us-gaap_ResearchAndDevelopmentArrangementMember_329279" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain_329278" xlink:to="loc_us-gaap_ResearchAndDevelopmentArrangementMember_329279" use="optional" order="14" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srt_ProductOrServiceAxis_329274" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_CommitmentsAndContingenciesTable_923" xlink:to="loc_srt_ProductOrServiceAxis_329274" use="optional" order="15" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srt_ProductsAndServicesDomain_329275" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ProductOrServiceAxis_329274" xlink:to="loc_srt_ProductsAndServicesDomain_329275" use="optional" order="16" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srt_ProductsAndServicesDomain_329275_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ProductOrServiceAxis_329274" xlink:to="loc_srt_ProductsAndServicesDomain_329275_default" use="optional" order="17" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_NGLImpactAMember" xlink:label="loc_rgen_NGLImpactAMember_329276" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_329275" xlink:to="loc_rgen_NGLImpactAMember_329276" use="optional" order="18" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_421675" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_CommitmentsAndContingenciesTable_923" xlink:to="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_421675" use="optional" order="19" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="loc_us-gaap_TypeOfAdoptionMember_421677" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_421675" xlink:to="loc_us-gaap_TypeOfAdoptionMember_421677" use="optional" order="20" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="loc_us-gaap_TypeOfAdoptionMember_421677_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_421675" xlink:to="loc_us-gaap_TypeOfAdoptionMember_421677_default" use="optional" order="21" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeAxis" xlink:label="loc_srt_RangeAxis_329283" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_CommitmentsAndContingenciesTable_923" xlink:to="loc_srt_RangeAxis_329283" use="optional" order="22" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember" xlink:label="loc_srt_RangeMember_329284" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_329283" xlink:to="loc_srt_RangeMember_329284" use="optional" order="23" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember" xlink:label="loc_srt_RangeMember_329284_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_329283" xlink:to="loc_srt_RangeMember_329284_default" use="optional" order="24" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MaximumMember" xlink:label="loc_srt_MaximumMember_329285" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_329284" xlink:to="loc_srt_MaximumMember_329285" use="optional" order="25" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MinimumMember" xlink:label="loc_srt_MinimumMember_329286" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_329284" xlink:to="loc_srt_MinimumMember_329286" use="optional" order="26" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_309791" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_CommitmentsAndContingenciesTable_923" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_309791" use="optional" order="27" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_309794" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_309791" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_309794" use="optional" order="28" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_309794_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_309791" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_309794_default" use="optional" order="29" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CreditFacilityAxis" xlink:label="loc_us-gaap_CreditFacilityAxis_597594" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_CommitmentsAndContingenciesTable_923" xlink:to="loc_us-gaap_CreditFacilityAxis_597594" use="optional" order="30" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CreditFacilityDomain" xlink:label="loc_us-gaap_CreditFacilityDomain_597595" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_CreditFacilityAxis_597594" xlink:to="loc_us-gaap_CreditFacilityDomain_597595" use="optional" order="31" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CreditFacilityDomain" xlink:label="loc_us-gaap_CreditFacilityDomain_597595_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_CreditFacilityAxis_597594" xlink:to="loc_us-gaap_CreditFacilityDomain_597595_default" use="optional" order="32" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongTermPurchaseCommitmentAmount" xlink:label="loc_us-gaap_LongTermPurchaseCommitmentAmount_329272" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_CommitmentsAndContingenciesLineItems_922" xlink:to="loc_us-gaap_LongTermPurchaseCommitmentAmount_329272" use="optional" order="33" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_CapacityOfBioreactors" xlink:label="loc_rgen_CapacityOfBioreactors_330765" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_CommitmentsAndContingenciesLineItems_922" xlink:to="loc_rgen_CapacityOfBioreactors_330765" use="optional" order="34" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/CarryingValueOfConvertibleSeniorNotesDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="loc_us-gaap_DebtInstrumentLineItems_1016" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentUnamortizedDiscount" xlink:label="loc_us-gaap_DebtInstrumentUnamortizedDiscount_1021" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1016" xlink:to="loc_us-gaap_DebtInstrumentUnamortizedDiscount_1021" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredFinanceCostsNet" xlink:label="loc_us-gaap_DeferredFinanceCostsNet_1022" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1016" xlink:to="loc_us-gaap_DeferredFinanceCostsNet_1022" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongTermDebt" xlink:label="loc_us-gaap_LongTermDebt_1023" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1016" xlink:to="loc_us-gaap_LongTermDebt_1023" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="loc_us-gaap_DebtInstrumentCarryingAmount_1020" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1016" xlink:to="loc_us-gaap_DebtInstrumentCarryingAmount_1020" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentTable" xlink:label="loc_us-gaap_DebtInstrumentTable_1018" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1016" xlink:to="loc_us-gaap_DebtInstrumentTable_1018" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1019" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_1018" xlink:to="loc_dei_LegalEntityAxis_1019" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1025" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_1019" xlink:to="loc_dei_EntityDomain_1025" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1025_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_1019" xlink:to="loc_dei_EntityDomain_1025_default" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentAxis" xlink:label="loc_us-gaap_DebtInstrumentAxis_1015" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_1018" xlink:to="loc_us-gaap_DebtInstrumentAxis_1015" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_1017" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DebtInstrumentAxis_1015" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_1017" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_1017_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DebtInstrumentAxis_1015" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_1017_default" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ZeropointthreesevenfivepercentageconvertibleseniornotesduetwentytwentyfourmemberMember" xlink:label="loc_rgen_ZeropointthreesevenfivepercentageconvertibleseniornotesduetwentytwentyfourmemberMember_565108" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_1017" xlink:to="loc_rgen_ZeropointthreesevenfivepercentageconvertibleseniornotesduetwentytwentyfourmemberMember_565108" use="optional" order="12" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="loc_us-gaap_DebtInstrumentLineItems_1040" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" xlink:label="loc_us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger_1052" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger_1052" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentConvertibleThresholdTradingDays" xlink:label="loc_us-gaap_DebtInstrumentConvertibleThresholdTradingDays_1054" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_DebtInstrumentConvertibleThresholdTradingDays_1054" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AmortizationOfDebtDiscountPremium" xlink:label="loc_us-gaap_AmortizationOfDebtDiscountPremium_1064" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_AmortizationOfDebtDiscountPremium_1064" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AmortizationOfFinancingCosts" xlink:label="loc_us-gaap_AmortizationOfFinancingCosts_1065" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_AmortizationOfFinancingCosts_1065" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:label="loc_us-gaap_DebtInstrumentConvertibleConversionPrice1_1058" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_DebtInstrumentConvertibleConversionPrice1_1058" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentConvertibleConversionRatio1" xlink:label="loc_us-gaap_DebtInstrumentConvertibleConversionRatio1_1057" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_DebtInstrumentConvertibleConversionRatio1_1057" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" xlink:label="loc_us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1_1055" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1_1055" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentRedemptionPricePercentage" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPricePercentage_1059" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_DebtInstrumentRedemptionPricePercentage_1059" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="loc_us-gaap_DebtInstrumentFaceAmount_1046" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_DebtInstrumentFaceAmount_1046" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:label="loc_us-gaap_DebtInstrumentInterestRateEffectivePercentage_1066" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_DebtInstrumentInterestRateEffectivePercentage_1066" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_1047" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_1047" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentMaturityDate" xlink:label="loc_us-gaap_DebtInstrumentMaturityDate_1051" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_DebtInstrumentMaturityDate_1051" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentTable" xlink:label="loc_us-gaap_DebtInstrumentTable_1044" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_DebtInstrumentTable_1044" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="13" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentAxis" xlink:label="loc_us-gaap_DebtInstrumentAxis_1039" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_1044" xlink:to="loc_us-gaap_DebtInstrumentAxis_1039" use="optional" order="14" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_1041" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DebtInstrumentAxis_1039" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_1041" use="optional" order="15" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_1041_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DebtInstrumentAxis_1039" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_1041_default" use="optional" order="16" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMember" xlink:label="loc_rgen_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMember_1069" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_1041" xlink:to="loc_rgen_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMember_1069" use="optional" order="17" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" xlink:label="loc_rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember_499446" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_1041" xlink:to="loc_rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember_499446" use="optional" order="18" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentRedemptionPeriodAxis" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPeriodAxis_1042" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_1044" xlink:to="loc_us-gaap_DebtInstrumentRedemptionPeriodAxis_1042" use="optional" order="19" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentRedemptionPeriodDomain" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPeriodDomain_1043" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DebtInstrumentRedemptionPeriodAxis_1042" xlink:to="loc_us-gaap_DebtInstrumentRedemptionPeriodDomain_1043" use="optional" order="20" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentRedemptionPeriodDomain" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPeriodDomain_1043_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DebtInstrumentRedemptionPeriodAxis_1042" xlink:to="loc_us-gaap_DebtInstrumentRedemptionPeriodDomain_1043_default" use="optional" order="21" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="loc_us-gaap_SubsequentEventTypeAxis_468841" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_1044" xlink:to="loc_us-gaap_SubsequentEventTypeAxis_468841" use="optional" order="22" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_468842" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_SubsequentEventTypeAxis_468841" xlink:to="loc_us-gaap_SubsequentEventTypeDomain_468842" use="optional" order="23" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_468842_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_SubsequentEventTypeAxis_468841" xlink:to="loc_us-gaap_SubsequentEventTypeDomain_468842_default" use="optional" order="24" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_499490" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_1044" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_499490" use="optional" order="25" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaap_EquityComponentDomain_499491" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_499490" xlink:to="loc_us-gaap_EquityComponentDomain_499491" use="optional" order="26" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaap_EquityComponentDomain_499491_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_499490" xlink:to="loc_us-gaap_EquityComponentDomain_499491_default" use="optional" order="27" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaap_CommonStockMember_499493" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_499491" xlink:to="loc_us-gaap_CommonStockMember_499493" use="optional" order="28" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InterestExpenseDebtExcludingAmortization" xlink:label="loc_us-gaap_InterestExpenseDebtExcludingAmortization_1063" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_InterestExpenseDebtExcludingAmortization_1063" use="optional" order="29" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongTermDebt" xlink:label="loc_us-gaap_LongTermDebt_1067" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_LongTermDebt_1067" use="optional" order="30" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities_499480" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities_499480" use="optional" order="31" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtConversionConvertedInstrumentAmount1" xlink:label="loc_us-gaap_DebtConversionConvertedInstrumentAmount1_499482" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_DebtConversionConvertedInstrumentAmount1_499482" use="optional" order="32" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent" xlink:label="loc_us-gaap_DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent_499484" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent_499484" use="optional" order="33" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongTermDebtFairValue" xlink:label="loc_us-gaap_LongTermDebtFairValue_1068" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_LongTermDebtFairValue_1068" use="optional" order="34" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromConvertibleDebt" xlink:label="loc_us-gaap_ProceedsFromConvertibleDebt_1048" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_ProceedsFromConvertibleDebt_1048" use="optional" order="35" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt_499486" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt_499486" use="optional" order="36" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentInterestRateTerms" xlink:label="loc_us-gaap_DebtInstrumentInterestRateTerms_500277" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_DebtInstrumentInterestRateTerms_500277" use="optional" order="37" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_DebtInstrumentFaceAmountRemaining" xlink:label="loc_rgen_DebtInstrumentFaceAmountRemaining_500283" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_rgen_DebtInstrumentFaceAmountRemaining_500283" use="optional" order="38" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_OptionToPurchaseAdditionalDebtFaceAmount" xlink:label="loc_rgen_OptionToPurchaseAdditionalDebtFaceAmount_499447" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_rgen_OptionToPurchaseAdditionalDebtFaceAmount_499447" use="optional" order="39" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_DebtInstrumentConvertibleIntoEquity" xlink:label="loc_rgen_DebtInstrumentConvertibleIntoEquity_813995" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_rgen_DebtInstrumentConvertibleIntoEquity_813995" use="optional" order="40" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarlyRepaymentOfSeniorDebt" xlink:label="loc_us-gaap_EarlyRepaymentOfSeniorDebt_499476" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_EarlyRepaymentOfSeniorDebt_499476" use="optional" order="41" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentIncreaseAccruedInterest" xlink:label="loc_us-gaap_DebtInstrumentIncreaseAccruedInterest_499477" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_DebtInstrumentIncreaseAccruedInterest_499477" use="optional" order="42" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_499479" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_499479" use="optional" order="43" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_DiscountRate" xlink:label="loc_rgen_DiscountRate_499453" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_rgen_DiscountRate_499453" use="optional" order="44" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentConvertibleBeneficialConversionFeature" xlink:label="loc_us-gaap_DebtInstrumentConvertibleBeneficialConversionFeature_499454" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_DebtInstrumentConvertibleBeneficialConversionFeature_499454" use="optional" order="45" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent" xlink:label="loc_rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent_499455" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent_499455" use="optional" order="46" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ConvertibleNotesTransactionCostsOfEquityComponent" xlink:label="loc_rgen_ConvertibleNotesTransactionCostsOfEquityComponent_499456" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_rgen_ConvertibleNotesTransactionCostsOfEquityComponent_499456" use="optional" order="47" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ChangeInChangeInAccumulatedOtherComprehensiveLossDetailDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_1074" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_1075" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_1074" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_1075" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_1078" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_1075" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_1078" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaap_EquityComponentDomain_1076" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_1078" xlink:to="loc_us-gaap_EquityComponentDomain_1076" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaap_EquityComponentDomain_1076_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_1078" xlink:to="loc_us-gaap_EquityComponentDomain_1076_default" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccumulatedTranslationAdjustmentMember" xlink:label="loc_us-gaap_AccumulatedTranslationAdjustmentMember_1084" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_1076" xlink:to="loc_us-gaap_AccumulatedTranslationAdjustmentMember_1084" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1077" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_1075" xlink:to="loc_dei_LegalEntityAxis_1077" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1085" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_1077" xlink:to="loc_dei_EntityDomain_1085" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1085_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_1077" xlink:to="loc_dei_EntityDomain_1085_default" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_1080" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_1074" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_1080" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity_1079" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_1074" xlink:to="loc_us-gaap_StockholdersEquity_1079" use="optional" order="10" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/EmployeeBenefitPlansAdditionalInformationDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" xlink:label="loc_us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems_1089" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_DefinedContributionPlanEmployeeEligibilityAge" xlink:label="loc_rgen_DefinedContributionPlanEmployeeEligibilityAge_1099" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems_1089" xlink:to="loc_rgen_DefinedContributionPlanEmployeeEligibilityAge_1099" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DefinedBenefitPlanContributionsByEmployer" xlink:label="loc_us-gaap_DefinedBenefitPlanContributionsByEmployer_1100" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems_1089" xlink:to="loc_us-gaap_DefinedBenefitPlanContributionsByEmployer_1100" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable" xlink:label="loc_us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable_1096" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems_1089" xlink:to="loc_us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable_1096" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis" xlink:label="loc_us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis_1088" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable_1096" xlink:to="loc_us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis_1088" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain" xlink:label="loc_us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain_1091" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis_1088" xlink:to="loc_us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain_1091" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain" xlink:label="loc_us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain_1091_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis_1088" xlink:to="loc_us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain_1091_default" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_DefinedContribution401KPlanMember" xlink:label="loc_rgen_DefinedContribution401KPlanMember_1102" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain_1091" xlink:to="loc_rgen_DefinedContribution401KPlanMember_1102" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1090" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable_1096" xlink:to="loc_dei_LegalEntityAxis_1090" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1101" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_1090" xlink:to="loc_dei_EntityDomain_1101" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1101_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_1090" xlink:to="loc_dei_EntityDomain_1101_default" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RetirementPlanTypeAxis" xlink:label="loc_us-gaap_RetirementPlanTypeAxis_1094" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable_1096" xlink:to="loc_us-gaap_RetirementPlanTypeAxis_1094" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RetirementPlanTypeDomain" xlink:label="loc_us-gaap_RetirementPlanTypeDomain_1095" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_RetirementPlanTypeAxis_1094" xlink:to="loc_us-gaap_RetirementPlanTypeDomain_1095" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RetirementPlanTypeDomain" xlink:label="loc_us-gaap_RetirementPlanTypeDomain_1095_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_RetirementPlanTypeAxis_1094" xlink:to="loc_us-gaap_RetirementPlanTypeDomain_1095_default" use="optional" order="13" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PensionPlansDefinedBenefitMember" xlink:label="loc_us-gaap_PensionPlansDefinedBenefitMember_1104" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RetirementPlanTypeDomain_1095" xlink:to="loc_us-gaap_PensionPlansDefinedBenefitMember_1104" use="optional" order="14" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeAxis" xlink:label="loc_srt_RangeAxis_1092" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable_1096" xlink:to="loc_srt_RangeAxis_1092" use="optional" order="15" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember" xlink:label="loc_srt_RangeMember_1093" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_1092" xlink:to="loc_srt_RangeMember_1093" use="optional" order="16" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember" xlink:label="loc_srt_RangeMember_1093_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_1092" xlink:to="loc_srt_RangeMember_1093_default" use="optional" order="17" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MinimumMember" xlink:label="loc_srt_MinimumMember_1103" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_1093" xlink:to="loc_srt_MinimumMember_1103" use="optional" order="18" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RetirementPlanSponsorLocationAxis" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationAxis_1098" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable_1096" xlink:to="loc_us-gaap_RetirementPlanSponsorLocationAxis_1098" use="optional" order="19" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RetirementPlanSponsorLocationDomain" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationDomain_1097" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationAxis_1098" xlink:to="loc_us-gaap_RetirementPlanSponsorLocationDomain_1097" use="optional" order="20" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RetirementPlanSponsorLocationDomain" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationDomain_1097_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationAxis_1098" xlink:to="loc_us-gaap_RetirementPlanSponsorLocationDomain_1097_default" use="optional" order="21" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ForeignPlanMember" xlink:label="loc_us-gaap_ForeignPlanMember_1105" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationDomain_1097" xlink:to="loc_us-gaap_ForeignPlanMember_1105" use="optional" order="22" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/RelatedPartyTransactionsAdditionalInformationDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RelatedPartyTransactionLineItems" xlink:label="loc_us-gaap_RelatedPartyTransactionLineItems_1112" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:label="loc_us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners_1121" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RelatedPartyTransactionLineItems_1112" xlink:to="loc_us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners_1121" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProfessionalFees" xlink:label="loc_us-gaap_ProfessionalFees_309715" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RelatedPartyTransactionLineItems_1112" xlink:to="loc_us-gaap_ProfessionalFees_309715" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:label="loc_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_1114" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_RelatedPartyTransactionLineItems_1112" xlink:to="loc_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_1114" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1108" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_1114" xlink:to="loc_dei_LegalEntityAxis_1108" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1117" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_1108" xlink:to="loc_dei_EntityDomain_1117" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1117_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_1108" xlink:to="loc_dei_EntityDomain_1117_default" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeAxis" xlink:label="loc_srt_RangeAxis_1109" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_1114" xlink:to="loc_srt_RangeAxis_1109" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember" xlink:label="loc_srt_RangeMember_1110" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_1109" xlink:to="loc_srt_RangeMember_1110" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember" xlink:label="loc_srt_RangeMember_1110_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_1109" xlink:to="loc_srt_RangeMember_1110_default" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MinimumMember" xlink:label="loc_srt_MinimumMember_1118" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_1110" xlink:to="loc_srt_MinimumMember_1118" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_1113" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_1114" xlink:to="loc_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_1113" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaap_RelatedPartyDomain_1111" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_1113" xlink:to="loc_us-gaap_RelatedPartyDomain_1111" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaap_RelatedPartyDomain_1111_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_1113" xlink:to="loc_us-gaap_RelatedPartyDomain_1111_default" use="optional" order="13" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PrincipalOwnerMember" xlink:label="loc_us-gaap_PrincipalOwnerMember_1119" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RelatedPartyDomain_1111" xlink:to="loc_us-gaap_PrincipalOwnerMember_1119" use="optional" order="14" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_CTechnologiesMember" xlink:label="loc_rgen_CTechnologiesMember_813846" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RelatedPartyDomain_1111" xlink:to="loc_rgen_CTechnologiesMember_813846" use="optional" order="15" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="loc_us-gaap_SubsidiarySaleOfStockAxis_469079" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_1114" xlink:to="loc_us-gaap_SubsidiarySaleOfStockAxis_469079" use="optional" order="16" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_469080" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_469079" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_469080" use="optional" order="17" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_469080_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_469079" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_469080_default" use="optional" order="18" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_OwnershipAxis" xlink:label="loc_srt_OwnershipAxis_327967" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_1114" xlink:to="loc_srt_OwnershipAxis_327967" use="optional" order="19" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_OwnershipDomain" xlink:label="loc_srt_OwnershipDomain_327968" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_OwnershipAxis_327967" xlink:to="loc_srt_OwnershipDomain_327968" use="optional" order="20" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_OwnershipDomain" xlink:label="loc_srt_OwnershipDomain_327968_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_OwnershipAxis_327967" xlink:to="loc_srt_OwnershipDomain_327968_default" use="optional" order="21" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_SpectrumIncMember" xlink:label="loc_rgen_SpectrumIncMember_499360" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_OwnershipDomain_327968" xlink:to="loc_rgen_SpectrumIncMember_499360" use="optional" order="22" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_TitleOfIndividualAxis" xlink:label="loc_srt_TitleOfIndividualAxis_1115" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_1114" xlink:to="loc_srt_TitleOfIndividualAxis_1115" use="optional" order="23" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_1116" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_TitleOfIndividualAxis_1115" xlink:to="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_1116" use="optional" order="24" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_1116_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_TitleOfIndividualAxis_1115" xlink:to="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_1116_default" use="optional" order="25" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_309716" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_1114" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_309716" use="optional" order="26" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_309717" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_309716" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_309717" use="optional" order="27" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_309717_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_309716" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_309717_default" use="optional" order="28" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TaxesPayableCurrent" xlink:label="loc_us-gaap_TaxesPayableCurrent_813842" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RelatedPartyTransactionLineItems_1112" xlink:to="loc_us-gaap_TaxesPayableCurrent_813842" use="optional" order="29" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxesPaid" xlink:label="loc_us-gaap_IncomeTaxesPaid_813843" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RelatedPartyTransactionLineItems_1112" xlink:to="loc_us-gaap_IncomeTaxesPaid_813843" use="optional" order="30" />
</definitionLink>
<definitionLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ConsolidatedStatementsOfOperationsInformationForEachOfPreviousEightQuartersDetail">
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_QuarterlyFinancialInformationLineItems" xlink:label="loc_rgen_QuarterlyFinancialInformationLineItems_1129" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_309638" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_QuarterlyFinancialInformationLineItems_1129" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_309638" use="optional" order="1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaap_GrossProfit_309640" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_QuarterlyFinancialInformationLineItems_1129" xlink:to="loc_us-gaap_GrossProfit_309640" use="optional" order="2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingExpenses" xlink:label="loc_us-gaap_OperatingExpenses_309642" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_QuarterlyFinancialInformationLineItems_1129" xlink:to="loc_us-gaap_OperatingExpenses_309642" use="optional" order="3" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_QuarterlyFinancialInformationTable" xlink:label="loc_rgen_QuarterlyFinancialInformationTable_1130" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_rgen_QuarterlyFinancialInformationLineItems_1129" xlink:to="loc_rgen_QuarterlyFinancialInformationTable_1130" xbrldt:contextElement="segment" xbrldt:closed="true" use="optional" order="4" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srt_ProductOrServiceAxis_284896" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_QuarterlyFinancialInformationTable_1130" xlink:to="loc_srt_ProductOrServiceAxis_284896" use="optional" order="5" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srt_ProductsAndServicesDomain_284897" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ProductOrServiceAxis_284896" xlink:to="loc_srt_ProductsAndServicesDomain_284897" use="optional" order="6" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srt_ProductsAndServicesDomain_284897_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ProductOrServiceAxis_284896" xlink:to="loc_srt_ProductsAndServicesDomain_284897_default" use="optional" order="7" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1128" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rgen_QuarterlyFinancialInformationTable_1130" xlink:to="loc_dei_LegalEntityAxis_1128" use="optional" order="8" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1147" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_1128" xlink:to="loc_dei_EntityDomain_1147" use="optional" order="9" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1147_default" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_1128" xlink:to="loc_dei_EntityDomain_1147_default" use="optional" order="10" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_309643" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_QuarterlyFinancialInformationLineItems_1129" xlink:to="loc_us-gaap_NetIncomeLoss_309643" use="optional" order="11" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaap_EarningsPerShareAbstract_309644" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rgen_QuarterlyFinancialInformationLineItems_1129" xlink:to="loc_us-gaap_EarningsPerShareAbstract_309644" use="optional" order="12" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareBasic" xlink:label="loc_us-gaap_EarningsPerShareBasic_309647" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EarningsPerShareAbstract_309644" xlink:to="loc_us-gaap_EarningsPerShareBasic_309647" use="optional" order="13" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaap_EarningsPerShareDiluted_309648" />
<definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EarningsPerShareAbstract_309644" xlink:to="loc_us-gaap_EarningsPerShareDiluted_309648" use="optional" order="14" />
</definitionLink>
</linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>10
<FILENAME>rgen-20201231_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by DFIN XBRL Instance Document - http://www.dfinsolutions.com/ - Version R3.0 - on 25-February-2021 [12:39:25] {AM}-->
<linkbase xmlns="http://www.xbrl.org/2003/linkbase" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
<roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" roleURI="http://www.xbrl.org/2009/role/negatedLabel" />
<roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" />
<roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" />
<roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" />
<roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" />
<roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" />
<roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" roleURI="http://www.xbrl.org/2009/role/netLabel" />
<labelLink xlink:type="extended" xlink:role="http://www.xbrl.org/2003/role/link">
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_CoverAbstract" xlink:label="loc_dei_CoverAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_CoverAbstract" xml:lang="en-US">Cover [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CoverAbstract" xlink:to="lab_dei_CoverAbstract" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_AmendmentFlag" xlink:label="loc_dei_AmendmentFlag" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_AmendmentFlag" xml:lang="en-US">Amendment Flag</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_AmendmentFlag" xlink:to="lab_dei_AmendmentFlag" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentFiscalYearFocus" xlink:label="loc_dei_DocumentFiscalYearFocus" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_DocumentFiscalYearFocus" xml:lang="en-US">Document Fiscal Year Focus</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentFiscalYearFocus" xlink:to="lab_dei_DocumentFiscalYearFocus" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="loc_dei_DocumentFiscalPeriodFocus" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_DocumentFiscalPeriodFocus" xml:lang="en-US">Document Fiscal Period Focus</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentFiscalPeriodFocus" xlink:to="lab_dei_DocumentFiscalPeriodFocus" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityCentralIndexKey" xlink:label="loc_dei_EntityCentralIndexKey" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_EntityCentralIndexKey" xml:lang="en-US">Entity Central Index Key</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCentralIndexKey" xlink:to="lab_dei_EntityCentralIndexKey" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_CurrentFiscalYearEndDate" xlink:label="loc_dei_CurrentFiscalYearEndDate" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_CurrentFiscalYearEndDate" xml:lang="en-US">Current Fiscal Year End Date</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CurrentFiscalYearEndDate" xlink:to="lab_dei_CurrentFiscalYearEndDate" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentPeriodEndDate" xlink:label="loc_dei_DocumentPeriodEndDate" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_DocumentPeriodEndDate" xml:lang="en-US">Document Period End Date</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentPeriodEndDate" xlink:to="lab_dei_DocumentPeriodEndDate" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentType" xlink:label="loc_dei_DocumentType" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_DocumentType" xml:lang="en-US">Document Type</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentType" xlink:to="lab_dei_DocumentType" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityCurrentReportingStatus" xlink:label="loc_dei_EntityCurrentReportingStatus" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_EntityCurrentReportingStatus" xml:lang="en-US">Entity Current Reporting Status</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCurrentReportingStatus" xlink:to="lab_dei_EntityCurrentReportingStatus" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityRegistrantName" xlink:label="loc_dei_EntityRegistrantName" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_EntityRegistrantName" xml:lang="en-US">Entity Registrant Name</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityRegistrantName" xlink:to="lab_dei_EntityRegistrantName" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityInteractiveDataCurrent" xlink:label="loc_dei_EntityInteractiveDataCurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_EntityInteractiveDataCurrent" xml:lang="en-US">Entity Interactive Data Current</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityInteractiveDataCurrent" xlink:to="lab_dei_EntityInteractiveDataCurrent" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="loc_dei_EntityCommonStockSharesOutstanding" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_EntityCommonStockSharesOutstanding" xml:lang="en-US">Entity Common Stock, Shares Outstanding</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCommonStockSharesOutstanding" xlink:to="lab_dei_EntityCommonStockSharesOutstanding" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_Security12bTitle" xlink:label="loc_dei_Security12bTitle" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_Security12bTitle" xml:lang="en-US">Title of 12(b) Security</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_Security12bTitle" xlink:to="lab_dei_Security12bTitle" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_TradingSymbol" xlink:label="loc_dei_TradingSymbol" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_TradingSymbol" xml:lang="en-US">Trading Symbol</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_TradingSymbol" xlink:to="lab_dei_TradingSymbol" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_SecurityExchangeName" xlink:label="loc_dei_SecurityExchangeName" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_SecurityExchangeName" xml:lang="en-US">Security Exchange Name</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_SecurityExchangeName" xlink:to="lab_dei_SecurityExchangeName" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="loc_dei_EntityIncorporationStateCountryCode" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_EntityIncorporationStateCountryCode" xml:lang="en-US">Entity Incorporation, State or Country Code</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityIncorporationStateCountryCode" xlink:to="lab_dei_EntityIncorporationStateCountryCode" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityTaxIdentificationNumber" xlink:label="loc_dei_EntityTaxIdentificationNumber" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_EntityTaxIdentificationNumber" xml:lang="en-US">Entity Tax Identification Number</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityTaxIdentificationNumber" xlink:to="lab_dei_EntityTaxIdentificationNumber" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityAddressAddressLine1" xlink:label="loc_dei_EntityAddressAddressLine1" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_EntityAddressAddressLine1" xml:lang="en-US">Entity Address, Address Line One</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressAddressLine1" xlink:to="lab_dei_EntityAddressAddressLine1" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityAddressCityOrTown" xlink:label="loc_dei_EntityAddressCityOrTown" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_EntityAddressCityOrTown" xml:lang="en-US">Entity Address, City or Town</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressCityOrTown" xlink:to="lab_dei_EntityAddressCityOrTown" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityAddressStateOrProvince" xlink:label="loc_dei_EntityAddressStateOrProvince" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_EntityAddressStateOrProvince" xml:lang="en-US">Entity Address, State or Province</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressStateOrProvince" xlink:to="lab_dei_EntityAddressStateOrProvince" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityAddressPostalZipCode" xlink:label="loc_dei_EntityAddressPostalZipCode" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_EntityAddressPostalZipCode" xml:lang="en-US">Entity Address, Postal Zip Code</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressPostalZipCode" xlink:to="lab_dei_EntityAddressPostalZipCode" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_CityAreaCode" xlink:label="loc_dei_CityAreaCode" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_CityAreaCode" xml:lang="en-US">City Area Code</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CityAreaCode" xlink:to="lab_dei_CityAreaCode" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityShellCompany" xlink:label="loc_dei_EntityShellCompany" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_EntityShellCompany" xml:lang="en-US">Entity Shell Company</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityShellCompany" xlink:to="lab_dei_EntityShellCompany" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntitySmallBusiness" xlink:label="loc_dei_EntitySmallBusiness" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_EntitySmallBusiness" xml:lang="en-US">Entity Small Business</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_dei_EntitySmallBusiness" xml:lang="en-US">Smaller reporting company</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntitySmallBusiness" xlink:to="lab_dei_EntitySmallBusiness" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityEmergingGrowthCompany" xlink:label="loc_dei_EntityEmergingGrowthCompany" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_EntityEmergingGrowthCompany" xml:lang="en-US">Entity Emerging Growth Company</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_dei_EntityEmergingGrowthCompany" xml:lang="en-US">Emerging growth company</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityEmergingGrowthCompany" xlink:to="lab_dei_EntityEmergingGrowthCompany" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LocalPhoneNumber" xlink:label="loc_dei_LocalPhoneNumber" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_LocalPhoneNumber" xml:lang="en-US">Local Phone Number</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_LocalPhoneNumber" xlink:to="lab_dei_LocalPhoneNumber" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentTransitionReport" xlink:label="loc_dei_DocumentTransitionReport" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_DocumentTransitionReport" xml:lang="en-US">Document Transition Report</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentTransitionReport" xlink:to="lab_dei_DocumentTransitionReport" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityFilerCategory" xlink:label="loc_dei_EntityFilerCategory" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_EntityFilerCategory" xml:lang="en-US">Entity Filer Category</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityFilerCategory" xlink:to="lab_dei_EntityFilerCategory" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityFileNumber" xlink:label="loc_dei_EntityFileNumber" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_EntityFileNumber" xml:lang="en-US">Entity File Number</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityFileNumber" xlink:to="lab_dei_EntityFileNumber" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityVoluntaryFilers" xlink:label="loc_dei_EntityVoluntaryFilers" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_EntityVoluntaryFilers" xml:lang="en-US">Entity Voluntary Filers</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityVoluntaryFilers" xlink:to="lab_dei_EntityVoluntaryFilers" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="loc_dei_EntityWellKnownSeasonedIssuer" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_EntityWellKnownSeasonedIssuer" xml:lang="en-US">Entity Well-known Seasoned Issuer</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityWellKnownSeasonedIssuer" xlink:to="lab_dei_EntityWellKnownSeasonedIssuer" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityPublicFloat" xlink:label="loc_dei_EntityPublicFloat" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_EntityPublicFloat" xml:lang="en-US">Entity Public Float</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityPublicFloat" xlink:to="lab_dei_EntityPublicFloat" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentAnnualReport" xlink:label="loc_dei_DocumentAnnualReport" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_DocumentAnnualReport" xml:lang="en-US">Document Annual Report</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentAnnualReport" xlink:to="lab_dei_DocumentAnnualReport" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_IcfrAuditorAttestationFlag" xlink:label="loc_dei_IcfrAuditorAttestationFlag" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_IcfrAuditorAttestationFlag" xml:lang="en-US">ICFR Auditor Attestation Flag</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_IcfrAuditorAttestationFlag" xlink:to="lab_dei_IcfrAuditorAttestationFlag" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_StatementOfFinancialPositionAbstract" xml:lang="en-US">Statement of Financial Position [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract" xlink:to="lab_us-gaap_StatementOfFinancialPositionAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_StatementTable" xml:lang="en-US">Statement [Table]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_StatementTable" xml:lang="en-US">Statement [Table]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementTable" xlink:to="lab_us-gaap_StatementTable" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_LegalEntityAxis" xml:lang="en-US">Legal Entity [Axis]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_dei_LegalEntityAxis" xml:lang="en-US">Legal Entity [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_LegalEntityAxis" xlink:to="lab_dei_LegalEntityAxis" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_dei_EntityDomain" xml:lang="en-US">Entity [Domain]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_dei_EntityDomain" xml:lang="en-US">Entity [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityDomain" xlink:to="lab_dei_EntityDomain" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_StatementLineItems" xml:lang="en-US">Statement [Line Items]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_StatementLineItems" xml:lang="en-US">Statement [Line Items]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementLineItems" xlink:to="lab_us-gaap_StatementLineItems" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetsAbstract" xlink:label="loc_us-gaap_AssetsAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AssetsAbstract" xml:lang="en-US">Assets [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_AssetsAbstract" xml:lang="en-US">Assets</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsAbstract" xlink:to="lab_us-gaap_AssetsAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="loc_us-gaap_AssetsCurrentAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AssetsCurrentAbstract" xml:lang="en-US">Assets, Current [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_AssetsCurrentAbstract" xml:lang="en-US">Current assets:</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsCurrentAbstract" xlink:to="lab_us-gaap_AssetsCurrentAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AccountsReceivableNetCurrent" xml:lang="en-US">Accounts Receivable, Net, Current</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_AccountsReceivableNetCurrent" xml:lang="en-US">Accounts receivable, net of reserves of $762 and $525 at December 31, 2020 and December 31, 2019, respectively</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_AccountsReceivableNetCurrent" xml:lang="en-US">Accounts receivable</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsReceivableNetCurrent" xlink:to="lab_us-gaap_AccountsReceivableNetCurrent" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaap_AssetsCurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AssetsCurrent" xml:lang="en-US">Assets, Current</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_AssetsCurrent" xml:lang="en-US">Total current assets</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsCurrent" xlink:to="lab_us-gaap_AssetsCurrent" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xml:lang="en-US">Cash and Cash Equivalents, at Carrying Value</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xml:lang="en-US">Cash and cash equivalents</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xml:lang="en-US">Cash and cash equivalents</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaap_InventoryNet" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_InventoryNet" xml:lang="en-US">Inventory, Net</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_InventoryNet" xml:lang="en-US">Inventories, net</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_InventoryNet" xml:lang="en-US">Total inventories, net</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryNet" xlink:to="lab_us-gaap_InventoryNet" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherReceivablesGrossCurrent" xlink:label="loc_us-gaap_OtherReceivablesGrossCurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_OtherReceivablesGrossCurrent" xml:lang="en-US">Other Receivables, Gross, Current</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_OtherReceivablesGrossCurrent" xml:lang="en-US">Royalties and other receivables</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherReceivablesGrossCurrent" xlink:to="lab_us-gaap_OtherReceivablesGrossCurrent" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xml:lang="en-US">Prepaid Expense and Other Assets, Current</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xml:lang="en-US">Prepaid expenses and other current assets</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xml:lang="en-US">Total prepaid expenses and other current assets</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="loc_us-gaap_UnbilledReceivablesCurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_UnbilledReceivablesCurrent" xml:lang="en-US">Unbilled Receivables, Current</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_UnbilledReceivablesCurrent" xml:lang="en-US">Unbilled receivables</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnbilledReceivablesCurrent" xlink:to="lab_us-gaap_UnbilledReceivablesCurrent" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedCash" xlink:label="loc_us-gaap_RestrictedCash" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_RestrictedCash" xml:lang="en-US">Restricted Cash</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_RestrictedCash" xml:lang="en-US">Restricted cash</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedCash" xlink:to="lab_us-gaap_RestrictedCash" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="loc_us-gaap_OtherAssetsNoncurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_OtherAssetsNoncurrent" xml:lang="en-US">Other Assets, Noncurrent</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_OtherAssetsNoncurrent" xml:lang="en-US">Other assets</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherAssetsNoncurrent" xlink:to="lab_us-gaap_OtherAssetsNoncurrent" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Assets" xlink:label="loc_us-gaap_Assets" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_Assets" xml:lang="en-US">Assets</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_Assets" xml:lang="en-US">Total assets</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_Assets" xml:lang="en-US">Assets</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Assets" xlink:to="lab_us-gaap_Assets" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaap_Goodwill" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_Goodwill" xml:lang="en-US">Goodwill</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_Goodwill" xml:lang="en-US">Goodwill</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/definitionGuidance" xlink:label="lab_us-gaap_Goodwill" xml:lang="en-US">Business acquisition, goodwill acquired</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="lab_us-gaap_Goodwill" xml:lang="en-US">Balance</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="lab_us-gaap_Goodwill" xml:lang="en-US">Balance</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Goodwill" xlink:to="lab_us-gaap_Goodwill" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IntangibleAssetsNetExcludingGoodwill" xml:lang="en-US">Intangible Assets, Net (Excluding Goodwill)</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_IntangibleAssetsNetExcludingGoodwill" xml:lang="en-US">Intangible assets, net</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_IntangibleAssetsNetExcludingGoodwill" xml:lang="en-US">Net Carrying Value</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:to="lab_us-gaap_IntangibleAssetsNetExcludingGoodwill" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentNet" xml:lang="en-US">Property, Plant and Equipment, Net</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentNet" xml:lang="en-US">Property, plant and equipment, net</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentNet" xml:lang="en-US">Total property, plant and equipment, net</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentNet" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentNet" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent" xlink:label="loc_us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent" xml:lang="en-US">Deferred Tax Assets, Net, Noncurrent</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent" xml:lang="en-US">Deferred tax assets</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent" xlink:to="lab_us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_OperatingLeaseRightOfUseAsset" xml:lang="en-US">Operating Lease, Right-of-Use Asset</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_OperatingLeaseRightOfUseAsset" xml:lang="en-US">Operating lease right of use assets</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="lab_us-gaap_OperatingLeaseRightOfUseAsset" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xml:lang="en-US">Liabilities and Equity [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xml:lang="en-US">Liabilities and Stockholders' Equity</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="loc_us-gaap_CommitmentsAndContingencies" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CommitmentsAndContingencies" xml:lang="en-US">Commitments and Contingencies</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_CommitmentsAndContingencies" xml:lang="en-US">Commitments and contingencies (Note 11)</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommitmentsAndContingencies" xlink:to="lab_us-gaap_CommitmentsAndContingencies" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConvertibleLongTermNotesPayable" xlink:label="loc_us-gaap_ConvertibleLongTermNotesPayable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ConvertibleLongTermNotesPayable" xml:lang="en-US">Convertible Notes Payable, Noncurrent</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ConvertibleLongTermNotesPayable" xml:lang="en-US">Convertible senior notes, net</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConvertibleLongTermNotesPayable" xlink:to="lab_us-gaap_ConvertibleLongTermNotesPayable" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LiabilitiesCurrentAbstract" xml:lang="en-US">Liabilities, Current [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_LiabilitiesCurrentAbstract" xml:lang="en-US">Current liabilities:</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract" xlink:to="lab_us-gaap_LiabilitiesCurrentAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaap_AccountsPayableCurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AccountsPayableCurrent" xml:lang="en-US">Accounts Payable, Current</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_AccountsPayableCurrent" xml:lang="en-US">Accounts payable</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsPayableCurrent" xlink:to="lab_us-gaap_AccountsPayableCurrent" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AccruedLiabilitiesCurrent" xml:lang="en-US">Accrued Liabilities, Current</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_AccruedLiabilitiesCurrent" xml:lang="en-US">Accrued liabilities</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_AccruedLiabilitiesCurrent" xml:lang="en-US">Total accrued liabilities</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent" xlink:to="lab_us-gaap_AccruedLiabilitiesCurrent" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaap_LiabilitiesCurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LiabilitiesCurrent" xml:lang="en-US">Liabilities, Current</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_LiabilitiesCurrent" xml:lang="en-US">Total current liabilities</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesCurrent" xlink:to="lab_us-gaap_LiabilitiesCurrent" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConvertibleNotesPayableCurrent" xlink:label="loc_us-gaap_ConvertibleNotesPayableCurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ConvertibleNotesPayableCurrent" xml:lang="en-US">Convertible Notes Payable, Current</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ConvertibleNotesPayableCurrent" xml:lang="en-US">Convertible senior notes, current portion, net</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConvertibleNotesPayableCurrent" xlink:to="lab_us-gaap_ConvertibleNotesPayableCurrent" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrent" xml:lang="en-US">Operating Lease, Liability, Current</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrent" xml:lang="en-US">Operating lease liability</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="lab_us-gaap_OperatingLeaseLiabilityCurrent" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_OtherLiabilitiesNoncurrent" xml:lang="en-US">Other Liabilities, Noncurrent</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_OtherLiabilitiesNoncurrent" xml:lang="en-US">Other liabilities, long-term</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherLiabilitiesNoncurrent" xlink:to="lab_us-gaap_OtherLiabilitiesNoncurrent" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxLiabilitiesNoncurrent" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesNoncurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesNoncurrent" xml:lang="en-US">Deferred Tax Liabilities, Net, Noncurrent</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesNoncurrent" xml:lang="en-US">Deferred tax liabilities</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesNoncurrent" xlink:to="lab_us-gaap_DeferredTaxLiabilitiesNoncurrent" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquity" xml:lang="en-US">Liabilities and Equity</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquity" xml:lang="en-US">Total liabilities and stockholders' equity</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="lab_us-gaap_LiabilitiesAndStockholdersEquity" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xml:lang="en-US">Operating Lease, Liability, Noncurrent</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xml:lang="en-US">Operating lease liability, long-term</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="loc_us-gaap_StockholdersEquityAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_StockholdersEquityAbstract" xml:lang="en-US">Stockholders' Equity Attributable to Parent [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_StockholdersEquityAbstract" xml:lang="en-US">Stockholders' equity:</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquityAbstract" xlink:to="lab_us-gaap_StockholdersEquityAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockValue" xlink:label="loc_us-gaap_CommonStockValue" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CommonStockValue" xml:lang="en-US">Common Stock, Value, Issued</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_CommonStockValue" xml:lang="en-US">Common stock, $0.01 par value; 80,000,000 shares authorized; 54,760,837 shares at December 31, 2020 and 52,078,258 shares at December 31, 2019 issued and outstanding</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockValue" xlink:to="lab_us-gaap_CommonStockValue" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss), Net of Tax</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xml:lang="en-US">Accumulated other comprehensive income (loss)</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="loc_us-gaap_AdditionalPaidInCapitalCommonStock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AdditionalPaidInCapitalCommonStock" xml:lang="en-US">Additional Paid in Capital, Common Stock</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_AdditionalPaidInCapitalCommonStock" xml:lang="en-US">Additional paid-in capital</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdditionalPaidInCapitalCommonStock" xlink:to="lab_us-gaap_AdditionalPaidInCapitalCommonStock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockValue" xlink:label="loc_us-gaap_PreferredStockValue" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PreferredStockValue" xml:lang="en-US">Preferred Stock, Value, Issued</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_PreferredStockValue" xml:lang="en-US">Preferred stock, $0.01 par value, 5,000,000 shares authorized, no shares issued or outstanding</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockValue" xlink:to="lab_us-gaap_PreferredStockValue" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_StockholdersEquity" xml:lang="en-US">Stockholders' Equity Attributable to Parent</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_StockholdersEquity" xml:lang="en-US">Total stockholders' equity</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="lab_us-gaap_StockholdersEquity" xml:lang="en-US">Balance</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="lab_us-gaap_StockholdersEquity" xml:lang="en-US">Balance</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquity" xlink:to="lab_us-gaap_StockholdersEquity" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xml:lang="en-US">Retained Earnings (Accumulated Deficit)</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xml:lang="en-US">Accumulated earnings</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xml:lang="en-US">Cumulative effect of accounting changes</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/definitionGuidance" xlink:label="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xml:lang="en-US">Impact on assets and liabilities due to change in accounting principle</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="lab_us-gaap_RetainedEarningsAccumulatedDeficit" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaap_Liabilities" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_Liabilities" xml:lang="en-US">Total liabilities</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_Liabilities" xml:lang="en-US">Total liabilities</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Liabilities" xlink:to="lab_us-gaap_Liabilities" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="loc_us-gaap_PreferredStockParOrStatedValuePerShare" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PreferredStockParOrStatedValuePerShare" xml:lang="en-US">Preferred Stock, Par or Stated Value Per Share</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_PreferredStockParOrStatedValuePerShare" xml:lang="en-US">Preferred stock, par value</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:to="lab_us-gaap_PreferredStockParOrStatedValuePerShare" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="loc_us-gaap_PreferredStockSharesIssued" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PreferredStockSharesIssued" xml:lang="en-US">Preferred Stock, Shares Issued</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_PreferredStockSharesIssued" xml:lang="en-US">Preferred stock, shares issued</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockSharesIssued" xlink:to="lab_us-gaap_PreferredStockSharesIssued" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xml:lang="en-US">Allowance for Doubtful Accounts Receivable, Current</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xml:lang="en-US">Accounts receivable, reserve for doubtful accounts</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CommonStockParOrStatedValuePerShare" xml:lang="en-US">Common Stock, Par or Stated Value Per Share</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_CommonStockParOrStatedValuePerShare" xml:lang="en-US">Common stock, par value</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="lab_us-gaap_CommonStockParOrStatedValuePerShare" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="loc_us-gaap_CommonStockSharesAuthorized" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CommonStockSharesAuthorized" xml:lang="en-US">Common Stock, Shares Authorized</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_CommonStockSharesAuthorized" xml:lang="en-US">Common stock, shares authorized</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesAuthorized" xlink:to="lab_us-gaap_CommonStockSharesAuthorized" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaap_CommonStockSharesIssued" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CommonStockSharesIssued" xml:lang="en-US">Common Stock, Shares, Issued</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_CommonStockSharesIssued" xml:lang="en-US">Common stock, shares issued</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesIssued" xlink:to="lab_us-gaap_CommonStockSharesIssued" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="loc_us-gaap_CommonStockSharesOutstanding" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CommonStockSharesOutstanding" xml:lang="en-US">Common Stock, Shares, Outstanding</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_CommonStockSharesOutstanding" xml:lang="en-US">Common stock, shares outstanding</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesOutstanding" xlink:to="lab_us-gaap_CommonStockSharesOutstanding" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="loc_us-gaap_PreferredStockSharesAuthorized" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PreferredStockSharesAuthorized" xml:lang="en-US">Preferred Stock, Shares Authorized</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_PreferredStockSharesAuthorized" xml:lang="en-US">Preferred stock, shares authorized</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockSharesAuthorized" xlink:to="lab_us-gaap_PreferredStockSharesAuthorized" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="loc_us-gaap_PreferredStockSharesOutstanding" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PreferredStockSharesOutstanding" xml:lang="en-US">Preferred Stock, Shares Outstanding</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_PreferredStockSharesOutstanding" xml:lang="en-US">Preferred stock, shares outstanding</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockSharesOutstanding" xlink:to="lab_us-gaap_PreferredStockSharesOutstanding" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementAbstract" xlink:label="loc_us-gaap_IncomeStatementAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncomeStatementAbstract" xml:lang="en-US">Income Statement [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementAbstract" xlink:to="lab_us-gaap_IncomeStatementAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTax" xml:lang="en-US">Comprehensive Income (Loss), Net of Tax, Attributable to Parent</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTax" xml:lang="en-US">Comprehensive income</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="lab_us-gaap_ComprehensiveIncomeNetOfTax" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CostsAndExpensesAbstract" xlink:label="loc_us-gaap_CostsAndExpensesAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CostsAndExpensesAbstract" xml:lang="en-US">Costs and Expenses [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_CostsAndExpensesAbstract" xml:lang="en-US">Costs and operating expenses:</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostsAndExpensesAbstract" xlink:to="lab_us-gaap_CostsAndExpensesAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CostOfGoodsAndServicesSold" xml:lang="en-US">Cost of Goods and Services Sold</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_CostOfGoodsAndServicesSold" xml:lang="en-US">Cost of product revenue</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostOfGoodsAndServicesSold" xlink:to="lab_us-gaap_CostOfGoodsAndServicesSold" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CostsAndExpenses" xlink:label="loc_us-gaap_CostsAndExpenses" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CostsAndExpenses" xml:lang="en-US">Costs and Expenses</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_CostsAndExpenses" xml:lang="en-US">Total costs and operating expenses</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostsAndExpenses" xlink:to="lab_us-gaap_CostsAndExpenses" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpense" xml:lang="en-US">Research and Development Expense</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpense" xml:lang="en-US">Research and development</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ResearchAndDevelopmentExpense" xlink:to="lab_us-gaap_ResearchAndDevelopmentExpense" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpense" xml:lang="en-US">Selling, General and Administrative Expense</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpense" xml:lang="en-US">Selling, general and administrative</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:to="lab_us-gaap_SellingGeneralAndAdministrativeExpense" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xml:lang="en-US">Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xml:lang="en-US">Income before income taxes</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xml:lang="en-US">Income before income taxes</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit" xml:lang="en-US">Income Tax Expense (Benefit)</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit" xml:lang="en-US">Income tax (benefit) provision</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit" xml:lang="en-US">Total</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit" xml:lang="en-US">Income tax (benefit) provision</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit" xlink:to="lab_us-gaap_IncomeTaxExpenseBenefit" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_NetIncomeLoss" xml:lang="en-US">Net Income (Loss) Attributable to Parent</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_NetIncomeLoss" xml:lang="en-US">Net income</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_NetIncomeLoss" xml:lang="en-US">Net income</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/positiveTerseLabel" xlink:label="lab_us-gaap_NetIncomeLoss" xml:lang="en-US">Net income</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetIncomeLoss" xlink:to="lab_us-gaap_NetIncomeLoss" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaap_OperatingIncomeLoss" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_OperatingIncomeLoss" xml:lang="en-US">Operating Income (Loss)</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_OperatingIncomeLoss" xml:lang="en-US">Income from operations</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingIncomeLoss" xlink:to="lab_us-gaap_OperatingIncomeLoss" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xml:lang="en-US">Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xml:lang="en-US">Other comprehensive income (loss):</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xml:lang="en-US">Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xml:lang="en-US">Foreign currency translation adjustment</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenuesAbstract" xlink:label="loc_us-gaap_RevenuesAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_RevenuesAbstract" xml:lang="en-US">Revenues [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_RevenuesAbstract" xml:lang="en-US">Revenue:</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenuesAbstract" xlink:to="lab_us-gaap_RevenuesAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xml:lang="en-US">Revenue from Contract with Customer, Including Assessed Tax</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xml:lang="en-US">Revenue</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:to="lab_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpenseAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_OtherNonoperatingIncomeExpenseAbstract" xml:lang="en-US">Other Nonoperating Income (Expense) [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_OtherNonoperatingIncomeExpenseAbstract" xml:lang="en-US">Other (expenses) income:</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:to="lab_us-gaap_OtherNonoperatingIncomeExpenseAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InterestExpense" xlink:label="loc_us-gaap_InterestExpense" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_InterestExpense" xml:lang="en-US">Interest Expense</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_us-gaap_InterestExpense" xml:lang="en-US">Interest expense</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InterestExpense" xlink:to="lab_us-gaap_InterestExpense" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InvestmentIncomeNet" xlink:label="loc_us-gaap_InvestmentIncomeNet" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_InvestmentIncomeNet" xml:lang="en-US">Investment Income, Net</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_InvestmentIncomeNet" xml:lang="en-US">Investment income</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InvestmentIncomeNet" xlink:to="lab_us-gaap_InvestmentIncomeNet" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_OtherNonoperatingIncomeExpense" xml:lang="en-US">Other Nonoperating Income (Expense)</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_OtherNonoperatingIncomeExpense" xml:lang="en-US">Other (expenses) income</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherNonoperatingIncomeExpense" xlink:to="lab_us-gaap_OtherNonoperatingIncomeExpense" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="loc_us-gaap_NonoperatingIncomeExpense" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_NonoperatingIncomeExpense" xml:lang="en-US">Nonoperating Income (Expense)</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_NonoperatingIncomeExpense" xml:lang="en-US">Other expenses, net</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NonoperatingIncomeExpense" xlink:to="lab_us-gaap_NonoperatingIncomeExpense" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_GainsLossesOnExtinguishmentOfDebt" xml:lang="en-US">Gain (Loss) on Extinguishment of Debt</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_GainsLossesOnExtinguishmentOfDebt" xml:lang="en-US">Loss on extinguishment of debt</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_us-gaap_GainsLossesOnExtinguishmentOfDebt" xml:lang="en-US">Loss on extinguishment of debt</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:to="lab_us-gaap_GainsLossesOnExtinguishmentOfDebt" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Diluted [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/presentationGuidance" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xml:lang="en-US">Weighted average common shares outstanding:</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Diluted</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xml:lang="en-US">Diluted</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xml:lang="en-US">Weighted average shares used in computing net income per share - diluted</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Basic</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xml:lang="en-US">Basic</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xml:lang="en-US">Weighted average shares used in computing net income per share - basic</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaap_EarningsPerShareAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_EarningsPerShareAbstract" xml:lang="en-US">Earnings Per Share [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_EarningsPerShareAbstract" xml:lang="en-US">Earnings per share:</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_EarningsPerShareAbstract" xml:lang="en-US">Earnings per share</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareAbstract" xlink:to="lab_us-gaap_EarningsPerShareAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareBasic" xlink:label="loc_us-gaap_EarningsPerShareBasic" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_EarningsPerShareBasic" xml:lang="en-US">Earnings Per Share, Basic</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_EarningsPerShareBasic" xml:lang="en-US">Basic</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareBasic" xlink:to="lab_us-gaap_EarningsPerShareBasic" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaap_EarningsPerShareDiluted" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_EarningsPerShareDiluted" xml:lang="en-US">Earnings Per Share, Diluted</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_EarningsPerShareDiluted" xml:lang="en-US">Diluted</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareDiluted" xlink:to="lab_us-gaap_EarningsPerShareDiluted" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srt_ProductOrServiceAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_srt_ProductOrServiceAxis" xml:lang="en-US">Product and Service [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ProductOrServiceAxis" xlink:to="lab_srt_ProductOrServiceAxis" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srt_ProductsAndServicesDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_srt_ProductsAndServicesDomain" xml:lang="en-US">Product and Service [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ProductsAndServicesDomain" xlink:to="lab_srt_ProductsAndServicesDomain" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RoyaltyMember" xlink:label="loc_us-gaap_RoyaltyMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_RoyaltyMember" xml:lang="en-US">Royalty [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_RoyaltyMember" xml:lang="en-US">Royalty and Other Revenue</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/definitionGuidance" xlink:label="lab_us-gaap_RoyaltyMember" xml:lang="en-US">Royalty and Other Revenue</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RoyaltyMember" xlink:to="lab_us-gaap_RoyaltyMember" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProductMember" xlink:label="loc_us-gaap_ProductMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ProductMember" xml:lang="en-US">Product [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_ProductMember" xml:lang="en-US">Products</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/presentationGuidance" xlink:label="lab_us-gaap_ProductMember" xml:lang="en-US">Product</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductMember" xlink:to="lab_us-gaap_ProductMember" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_StatementOfStockholdersEquityAbstract" xml:lang="en-US">Statement of Stockholders' Equity [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="lab_us-gaap_StatementOfStockholdersEquityAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaap_StatementEquityComponentsAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_StatementEquityComponentsAxis" xml:lang="en-US">Equity Components [Axis]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_StatementEquityComponentsAxis" xml:lang="en-US">Equity Components [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementEquityComponentsAxis" xlink:to="lab_us-gaap_StatementEquityComponentsAxis" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaap_EquityComponentDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_EquityComponentDomain" xml:lang="en-US">Equity Component [Domain]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_EquityComponentDomain" xml:lang="en-US">Equity Component [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquityComponentDomain" xlink:to="lab_us-gaap_EquityComponentDomain" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaap_CommonStockMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CommonStockMember" xml:lang="en-US">Common Stock [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_CommonStockMember" xml:lang="en-US">Common Stock</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockMember" xlink:to="lab_us-gaap_CommonStockMember" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xml:lang="en-US">AOCI Attributable to Parent [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss)</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AdditionalPaidInCapitalMember" xml:lang="en-US">Additional Paid-in Capital [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_AdditionalPaidInCapitalMember" xml:lang="en-US">Additional Paid-in Capital</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdditionalPaidInCapitalMember" xlink:to="lab_us-gaap_AdditionalPaidInCapitalMember" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RetainedEarningsMember" xlink:label="loc_us-gaap_RetainedEarningsMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_RetainedEarningsMember" xml:lang="en-US">Retained Earnings [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_RetainedEarningsMember" xml:lang="en-US">Accumulated Earnings/(Deficit)</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetainedEarningsMember" xlink:to="lab_us-gaap_RetainedEarningsMember" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xml:lang="en-US">Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xml:lang="en-US">Stock-based compensation expense</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharesOutstanding" xlink:label="loc_us-gaap_SharesOutstanding" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_SharesOutstanding" xml:lang="en-US">Shares, Outstanding</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="lab_us-gaap_SharesOutstanding" xml:lang="en-US">Balance (in shares)</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="lab_us-gaap_SharesOutstanding" xml:lang="en-US">Balance (in shares)</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharesOutstanding" xlink:to="lab_us-gaap_SharesOutstanding" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xml:lang="en-US">Stock Issued During Period, Value, Share-based Compensation, Net of Forfeitures</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xml:lang="en-US">Exercise of stock options and vesting of stock units</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:to="lab_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss), Foreign Currency Translation Adjustment, Net of Tax</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax" xml:lang="en-US">Translation adjustment</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="loc_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xml:lang="en-US">Share-based Payment Arrangement, Decrease for Tax Withholding Obligation</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xml:lang="en-US">Tax withholding on vesting of restricted stock units</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="lab_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt" xml:lang="en-US">Adjustments to Additional Paid in Capital, Equity Component of Convertible Debt</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt" xml:lang="en-US">Equity component of 0.375% senior convertible notes, net of tax</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt" xlink:to="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueConversionOfUnits" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueConversionOfUnits" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueConversionOfUnits" xml:lang="en-US">Stock Issued During Period, Value, Conversion of Units</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueConversionOfUnits" xml:lang="en-US">Issuance of common stock for debt conversion</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodValueConversionOfUnits" xlink:to="lab_us-gaap_StockIssuedDuringPeriodValueConversionOfUnits" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesNewIssues" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesNewIssues" xml:lang="en-US">Stock Issued During Period, Shares, New Issues</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesNewIssues" xml:lang="en-US">Proceeds from issuance of common stock, net of issuance costs (in shares)</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesNewIssues" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueNewIssues" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueNewIssues" xml:lang="en-US">Stock Issued During Period, Value, New Issues</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueNewIssues" xml:lang="en-US">Proceeds from issuance of common stock, net of issuance costs</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:to="lab_us-gaap_StockIssuedDuringPeriodValueNewIssues" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xml:lang="en-US">Stock Issued During Period, Shares, Share-based Compensation, Net of Forfeitures</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xml:lang="en-US">Exercise of stock options and vesting of stock units (in shares)</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits" xml:lang="en-US">Stock Issued During Period, Shares, Conversion of Units</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits" xml:lang="en-US">Issuance of common stock for debt conversion (in shares)</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_AdjustmentsToAdditionalPaidInCapitalReductionForEquityComponentOfConvertibleDebt" xlink:label="loc_rgen_AdjustmentsToAdditionalPaidInCapitalReductionForEquityComponentOfConvertibleDebt" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_AdjustmentsToAdditionalPaidInCapitalReductionForEquityComponentOfConvertibleDebt" xml:lang="en-US">Adjustments To Additional Paid In Capital Reduction For Equity Component Of Convertible Debt</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_AdjustmentsToAdditionalPaidInCapitalReductionForEquityComponentOfConvertibleDebt" xml:lang="en-US">Reduction of equity component from debt conversion, net of tax</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_AdjustmentsToAdditionalPaidInCapitalReductionForEquityComponentOfConvertibleDebt" xlink:to="lab_rgen_AdjustmentsToAdditionalPaidInCapitalReductionForEquityComponentOfConvertibleDebt" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_AdjustmentsToAdditionalPaidInCapitalReductionForEquityComponentOfConvertibleDebt" xml:lang="en-US">Adjustments To Additional Paid In Capital Reduction For Equity Component Of Convertible Debt.</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="loc_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xml:lang="en-US">Share-based Payment Arrangement, Shares Withheld for Tax Withholding Obligation</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xml:lang="en-US">Tax withholding on vesting of restricted stock units (in shares)</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:to="lab_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueAcquisitions" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueAcquisitions" xml:lang="en-US">Stock Issued During Period, Value, Acquisitions</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueAcquisitions" xml:lang="en-US">Issuance of commons stock pursuant to the acquisition</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:to="lab_us-gaap_StockIssuedDuringPeriodValueAcquisitions" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesAcquisitions" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xml:lang="en-US">Stock Issued During Period, Shares, Acquisitions</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xml:lang="en-US">Issuance of commons stock pursuant to the acquisition, (in shares)</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesAcquisitions" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_BusinessAcquisitionAxis" xml:lang="en-US">Business Acquisition [Axis]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_BusinessAcquisitionAxis" xml:lang="en-US">Business Acquisition [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionAxis" xlink:to="lab_us-gaap_BusinessAcquisitionAxis" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_BusinessAcquisitionAcquireeDomain" xml:lang="en-US">Business Acquisition, Acquiree [Domain]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_BusinessAcquisitionAcquireeDomain" xml:lang="en-US">Business Acquisition, Acquiree [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="lab_us-gaap_BusinessAcquisitionAcquireeDomain" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" xml:lang="en-US">Adjustments to Additional Paid in Capital, Stock Issued, Issuance Costs</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/presentationGuidance" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" xml:lang="en-US">Proceeds from issuance of common stock,issuance costs</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" xlink:to="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DebtInstrumentInterestRateStatedPercentage" xml:lang="en-US">Debt Instrument, Interest Rate, Stated Percentage</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_DebtInstrumentInterestRateStatedPercentage" xml:lang="en-US">Senior convertible notes</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DebtInstrumentInterestRateStatedPercentage" xml:lang="en-US">Notes, interest rate</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:to="lab_us-gaap_DebtInstrumentInterestRateStatedPercentage" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentAxis" xlink:label="loc_us-gaap_DebtInstrumentAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DebtInstrumentAxis" xml:lang="en-US">Debt Instrument [Axis]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DebtInstrumentAxis" xml:lang="en-US">Debt Instrument [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentAxis" xlink:to="lab_us-gaap_DebtInstrumentAxis" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="loc_us-gaap_DebtInstrumentNameDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DebtInstrumentNameDomain" xml:lang="en-US">Debt Instrument, Name [Domain]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DebtInstrumentNameDomain" xml:lang="en-US">Debt Instrument, Name [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentNameDomain" xlink:to="lab_us-gaap_DebtInstrumentNameDomain" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember" xlink:label="loc_rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember" xml:lang="en-US">Zero Point Three Seven Five Percentage Convertible Senior Notes Due Twenty Twenty Four [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember" xml:lang="en-US">0.375% Convertible Senior Notes due 2024</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember" xlink:to="lab_rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="loc_us-gaap_StatementOfCashFlowsAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_StatementOfCashFlowsAbstract" xml:lang="en-US">Statement of Cash Flows [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract" xlink:to="lab_us-gaap_StatementOfCashFlowsAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xml:lang="en-US">Cash flows from financing activities:</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" xml:lang="en-US">Total cash provided by financing activities</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromConvertibleDebt" xlink:label="loc_us-gaap_ProceedsFromConvertibleDebt" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ProceedsFromConvertibleDebt" xml:lang="en-US">Proceeds from Convertible Debt</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_ProceedsFromConvertibleDebt" xml:lang="en-US">Proceeds from issuance of senior convertible notes, net of issuance costs</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ProceedsFromConvertibleDebt" xml:lang="en-US">Proceeds from issuance of convertible senior notes, net of costs</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromConvertibleDebt" xlink:to="lab_us-gaap_ProceedsFromConvertibleDebt" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfCommonStock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfCommonStock" xml:lang="en-US">Proceeds from Issuance of Common Stock</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfCommonStock" xml:lang="en-US">Proceeds from issuance of common stock, net of issuance costs</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfCommonStock" xml:lang="en-US">Net proceeds from public offering</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:to="lab_us-gaap_ProceedsFromIssuanceOfCommonStock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RepaymentsOfConvertibleDebt" xlink:label="loc_us-gaap_RepaymentsOfConvertibleDebt" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_RepaymentsOfConvertibleDebt" xml:lang="en-US">Repayments of Convertible Debt</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_us-gaap_RepaymentsOfConvertibleDebt" xml:lang="en-US">Repayment of senior convertible notes</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RepaymentsOfConvertibleDebt" xlink:to="lab_us-gaap_RepaymentsOfConvertibleDebt" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="loc_us-gaap_ProceedsFromStockOptionsExercised" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ProceedsFromStockOptionsExercised" xml:lang="en-US">Proceeds from Stock Options Exercised</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ProceedsFromStockOptionsExercised" xml:lang="en-US">Exercise of stock options</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromStockOptionsExercised" xlink:to="lab_us-gaap_ProceedsFromStockOptionsExercised" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xml:lang="en-US">Payment, Tax Withholding, Share-based Payment Arrangement</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xml:lang="en-US">Payment of tax withholding obligation on vesting of restricted stock</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="lab_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xml:lang="en-US">Cash flows from investing activities:</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities" xml:lang="en-US">Total cash used in investing activities</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xml:lang="en-US">Payments to Acquire Businesses, Net of Cash Acquired</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xml:lang="en-US">Acquisition of assets, net of cash acquired</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:to="lab_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xml:lang="en-US">Payments to Acquire Property, Plant, and Equipment</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xml:lang="en-US">Purchases of property, plant and equipment</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsToAcquireSoftware" xlink:label="loc_us-gaap_PaymentsToAcquireSoftware" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PaymentsToAcquireSoftware" xml:lang="en-US">Payments to Acquire Software</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_us-gaap_PaymentsToAcquireSoftware" xml:lang="en-US">Additions to capitalized software costs</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquireSoftware" xlink:to="lab_us-gaap_PaymentsToAcquireSoftware" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsToDevelopSoftware" xlink:label="loc_us-gaap_PaymentsToDevelopSoftware" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PaymentsToDevelopSoftware" xml:lang="en-US">Payments to Develop Software</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_us-gaap_PaymentsToDevelopSoftware" xml:lang="en-US">Developed technology intangible asset payment</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToDevelopSoftware" xlink:to="lab_us-gaap_PaymentsToDevelopSoftware" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xml:lang="en-US">Cash, cash equivalents and restricted cash, beginning of period</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xml:lang="en-US">Cash, cash equivalents and restricted cash, end of period</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xml:lang="en-US">Total cash, cash equivalents, and restricted cash</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xml:lang="en-US">Net increase in cash, cash equivalents and restricted cash</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents" xlink:label="loc_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents" xml:lang="en-US">Effect of Exchange Rate on Cash and Cash Equivalents</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents" xml:lang="en-US">Effect of exchange rate changes on cash, cash equivalents and restricted cash</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents" xlink:to="lab_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xml:lang="en-US">Cash flows from operating activities:</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xml:lang="en-US">Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xml:lang="en-US">Adjustments to reconcile net income to net cash provided by operating activities:</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefit" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DeferredIncomeTaxExpenseBenefit" xml:lang="en-US">Deferred Income Tax Expense (Benefit)</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DeferredIncomeTaxExpenseBenefit" xml:lang="en-US">Deferred income taxes, net</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="lab_us-gaap_DeferredIncomeTaxExpenseBenefit" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DepreciationAndAmortization" xlink:label="loc_us-gaap_DepreciationAndAmortization" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DepreciationAndAmortization" xml:lang="en-US">Depreciation, Depletion and Amortization, Nonproduction</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DepreciationAndAmortization" xml:lang="en-US">Depreciation and amortization</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DepreciationAndAmortization" xlink:to="lab_us-gaap_DepreciationAndAmortization" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensation" xlink:label="loc_us-gaap_ShareBasedCompensation" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareBasedCompensation" xml:lang="en-US">Share-based Compensation</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ShareBasedCompensation" xml:lang="en-US">Stock-based compensation expense</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensation" xlink:to="lab_us-gaap_ShareBasedCompensation" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherNoncashIncomeExpense" xlink:label="loc_us-gaap_OtherNoncashIncomeExpense" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_OtherNoncashIncomeExpense" xml:lang="en-US">Other Noncash Income (Expense)</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_us-gaap_OtherNoncashIncomeExpense" xml:lang="en-US">Other</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherNoncashIncomeExpense" xlink:to="lab_us-gaap_OtherNoncashIncomeExpense" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AmortizationOfFinancingCostsAndDiscounts" xlink:label="loc_us-gaap_AmortizationOfFinancingCostsAndDiscounts" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AmortizationOfFinancingCostsAndDiscounts" xml:lang="en-US">Amortization of Debt Issuance Costs and Discounts</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_AmortizationOfFinancingCostsAndDiscounts" xml:lang="en-US">Amortization of debt discount and issuance costs</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AmortizationOfFinancingCostsAndDiscounts" xlink:to="lab_us-gaap_AmortizationOfFinancingCostsAndDiscounts" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xml:lang="en-US">Increase (Decrease) in Operating Capital [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xml:lang="en-US">Changes in operating assets and liabilities, excluding impact of acquisitions:</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities" xml:lang="en-US">Increase (Decrease) in Accrued Liabilities</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities" xml:lang="en-US">Accrued expenses</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:to="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncreaseDecreaseInInventories" xml:lang="en-US">Increase (Decrease) in Inventories</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_us-gaap_IncreaseDecreaseInInventories" xml:lang="en-US">Inventories</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInInventories" xlink:to="lab_us-gaap_IncreaseDecreaseInInventories" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xml:lang="en-US">Increase (Decrease) in Other Noncurrent Liabilities</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xml:lang="en-US">Long-term liabilities</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:to="lab_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsReceivable" xml:lang="en-US">Increase (Decrease) in Accounts Receivable</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsReceivable" xml:lang="en-US">Accounts receivable</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="lab_us-gaap_IncreaseDecreaseInAccountsReceivable" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInOtherReceivables" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherReceivables" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherReceivables" xml:lang="en-US">Increase (Decrease) in Other Receivables</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherReceivables" xml:lang="en-US">Royalties and other receivables</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInOtherReceivables" xlink:to="lab_us-gaap_IncreaseDecreaseInOtherReceivables" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsPayable" xml:lang="en-US">Increase (Decrease) in Accounts Payable</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsPayable" xml:lang="en-US">Accounts payable</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:to="lab_us-gaap_IncreaseDecreaseInAccountsPayable" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xml:lang="en-US">Increase (Decrease) in Prepaid Expense and Other Assets</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xml:lang="en-US">Prepaid expenses and other assets</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:to="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset" xlink:label="loc_rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset" xml:lang="en-US">Increase Decrease in Operating Lease Right Of Use Asset</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset" xml:lang="en-US">Operating lease right of use assets</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset" xlink:to="lab_rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset" xml:lang="en-US">The increase (decrease) during the reporting period in operating lease right of use asset.</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:label="loc_us-gaap_IncreaseDecreaseInContractWithCustomerAsset" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xml:lang="en-US">Increase (Decrease) in Contract with Customer, Asset</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xml:lang="en-US">Unbilled receivables</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:to="lab_us-gaap_IncreaseDecreaseInContractWithCustomerAsset" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IncreasedecreaseInOperatingLeaseLiability" xlink:label="loc_rgen_IncreasedecreaseInOperatingLeaseLiability" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_IncreasedecreaseInOperatingLeaseLiability" xml:lang="en-US">Increase Decrease in Operating Lease Liability</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_IncreasedecreaseInOperatingLeaseLiability" xml:lang="en-US">Operating lease liability</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_IncreasedecreaseInOperatingLeaseLiability" xlink:to="lab_rgen_IncreasedecreaseInOperatingLeaseLiability" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_IncreasedecreaseInOperatingLeaseLiability" xml:lang="en-US">The increase (decrease) during the reporting period in operating lease liability.</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xml:lang="en-US">Increase (Decrease) in Other Noncurrent Assets</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xml:lang="en-US">Other assets</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:to="lab_us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xml:lang="en-US">Total cash provided by operating activities</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="loc_us-gaap_SupplementalCashFlowInformationAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_SupplementalCashFlowInformationAbstract" xml:lang="en-US">Supplemental Cash Flow Information [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_SupplementalCashFlowInformationAbstract" xml:lang="en-US">Supplemental disclosure of cash flow information:</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="lab_us-gaap_SupplementalCashFlowInformationAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="loc_us-gaap_IncomeTaxesPaidNet" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncomeTaxesPaidNet" xml:lang="en-US">Income Taxes Paid, Net</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_IncomeTaxesPaidNet" xml:lang="en-US">Income taxes paid</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxesPaidNet" xlink:to="lab_us-gaap_IncomeTaxesPaidNet" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InterestPaidNet" xlink:label="loc_us-gaap_InterestPaidNet" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_InterestPaidNet" xml:lang="en-US">Interest Paid, Excluding Capitalized Interest, Operating Activities</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_InterestPaidNet" xml:lang="en-US">Interest paid</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InterestPaidNet" xlink:to="lab_us-gaap_InterestPaidNet" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SupplementalCashFlowElementsAbstract" xlink:label="loc_us-gaap_SupplementalCashFlowElementsAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_SupplementalCashFlowElementsAbstract" xml:lang="en-US">Supplemental Cash Flow Elements [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_SupplementalCashFlowElementsAbstract" xml:lang="en-US">Supplemental disclosure of non-cash investing and financing activities:</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="lab_us-gaap_SupplementalCashFlowElementsAbstract" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_NonCashEffectOfAdoptionOfAsu201616" xlink:label="loc_rgen_NonCashEffectOfAdoptionOfAsu201616" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_NonCashEffectOfAdoptionOfAsu201616" xml:lang="en-US">Non Cash Effect Of Adoption Of ASU 201616</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_rgen_NonCashEffectOfAdoptionOfAsu201616" xml:lang="en-US">Non-cash effect of adoption of ASU 2016-16</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_NonCashEffectOfAdoptionOfAsu201616" xlink:to="lab_rgen_NonCashEffectOfAdoptionOfAsu201616" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_NonCashEffectOfAdoptionOfAsu201616" xml:lang="en-US">Non-cash effect of adoption of ASU 2016-16.</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssued1" xlink:label="loc_us-gaap_StockIssued1" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_StockIssued1" xml:lang="en-US">Stock Issued</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_StockIssued1" xml:lang="en-US">Fair value of common stock issued for acquisition</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssued1" xlink:to="lab_us-gaap_StockIssued1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtConversionConvertedInstrumentAmount1" xlink:label="loc_us-gaap_DebtConversionConvertedInstrumentAmount1" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DebtConversionConvertedInstrumentAmount1" xml:lang="en-US">Debt Conversion, Converted Instrument, Amount</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_DebtConversionConvertedInstrumentAmount1" xml:lang="en-US">Fair value of 2,316,229 shares of common stock issued for conversion of convertible notes</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DebtConversionConvertedInstrumentAmount1" xml:lang="en-US">Total consideration on conversion</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtConversionConvertedInstrumentAmount1" xlink:to="lab_us-gaap_DebtConversionConvertedInstrumentAmount1" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_PropertyPlantAndEquipmentRelatedToLeaseIncentives" xlink:label="loc_rgen_PropertyPlantAndEquipmentRelatedToLeaseIncentives" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_PropertyPlantAndEquipmentRelatedToLeaseIncentives" xml:lang="en-US">Property Plant And Equipment Related To Lease Incentives</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_rgen_PropertyPlantAndEquipmentRelatedToLeaseIncentives" xml:lang="en-US">Property, plant and equipment related to lease incentives</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_PropertyPlantAndEquipmentRelatedToLeaseIncentives" xlink:to="lab_rgen_PropertyPlantAndEquipmentRelatedToLeaseIncentives" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_PropertyPlantAndEquipmentRelatedToLeaseIncentives" xml:lang="en-US">Property plant and equipment related to lease incentives.</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_AssetsAcquiredUnderOperatingLeases" xlink:label="loc_rgen_AssetsAcquiredUnderOperatingLeases" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_AssetsAcquiredUnderOperatingLeases" xml:lang="en-US">Assets Acquired Under Operating Leases</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_AssetsAcquiredUnderOperatingLeases" xml:lang="en-US">Assets acquired under operating leases</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_AssetsAcquiredUnderOperatingLeases" xlink:to="lab_rgen_AssetsAcquiredUnderOperatingLeases" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_AssetsAcquiredUnderOperatingLeases" xml:lang="en-US">Assets acquired under operating leases.</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember" xlink:label="loc_rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember" xml:lang="en-US">ARTeSYN Biosolutions Holdings Ireland Limited [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember" xml:lang="en-US">ARTeSYN Biosolutions Holdings Ireland Limited</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember" xlink:to="lab_rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember" xml:lang="en-US">ARTeSYN Biosolutions Holdings Ireland Limited.</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_CTechnologiesIncMember" xlink:label="loc_rgen_CTechnologiesIncMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_CTechnologiesIncMember" xml:lang="en-US">C Technologies Inc [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_CTechnologiesIncMember" xml:lang="en-US">C Technologies Inc</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_CTechnologiesIncMember" xlink:to="lab_rgen_CTechnologiesIncMember" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferredAbstract" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferredAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_BusinessCombinationConsiderationTransferredAbstract" xml:lang="en-US">Business Combination, Consideration Transferred [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_BusinessCombinationConsiderationTransferredAbstract" xml:lang="en-US">Business Acquisitions:</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationConsiderationTransferredAbstract" xlink:to="lab_us-gaap_BusinessCombinationConsiderationTransferredAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtConversionConvertedInstrumentSharesIssued1" xlink:label="loc_us-gaap_DebtConversionConvertedInstrumentSharesIssued1" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DebtConversionConvertedInstrumentSharesIssued1" xml:lang="en-US">Debt Conversion, Converted Instrument, Shares Issued</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_DebtConversionConvertedInstrumentSharesIssued1" xml:lang="en-US">Number of shares Issued for Conversion</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtConversionConvertedInstrumentSharesIssued1" xlink:to="lab_us-gaap_DebtConversionConvertedInstrumentSharesIssued1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" xlink:label="loc_us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" xml:lang="en-US">Business Acquisition, Equity Interest Issued or Issuable, Number of Shares</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" xml:lang="en-US">Shares of common stock issued for acquisition</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" xml:lang="en-US">Shares issued for business acquisition</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" xlink:to="lab_us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaap_AccountingPoliciesAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AccountingPoliciesAbstract" xml:lang="en-US">Accounting Policies [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountingPoliciesAbstract" xlink:to="lab_us-gaap_AccountingPoliciesAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NatureOfOperations" xlink:label="loc_us-gaap_NatureOfOperations" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_NatureOfOperations" xml:lang="en-US">Nature of Operations [Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_NatureOfOperations" xml:lang="en-US">Organization and Nature of Business</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NatureOfOperations" xlink:to="lab_us-gaap_NatureOfOperations" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="loc_us-gaap_SignificantAccountingPoliciesTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_SignificantAccountingPoliciesTextBlock" xml:lang="en-US">Significant Accounting Policies [Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_SignificantAccountingPoliciesTextBlock" xml:lang="en-US">Summary of Significant Accounting Policies</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SignificantAccountingPoliciesTextBlock" xlink:to="lab_us-gaap_SignificantAccountingPoliciesTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TextBlockAbstract" xlink:label="loc_us-gaap_TextBlockAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_TextBlockAbstract" xml:lang="en-US">Text Block [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TextBlockAbstract" xlink:to="lab_us-gaap_TextBlockAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationDisclosureTextBlock" xlink:label="loc_us-gaap_BusinessCombinationDisclosureTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_BusinessCombinationDisclosureTextBlock" xml:lang="en-US">Business Combination Disclosure [Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_BusinessCombinationDisclosureTextBlock" xml:lang="en-US">Acquisitions</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationDisclosureTextBlock" xlink:to="lab_us-gaap_BusinessCombinationDisclosureTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LeasesAbstract" xlink:label="loc_us-gaap_LeasesAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LeasesAbstract" xml:lang="en-US">Leases [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeasesAbstract" xlink:to="lab_us-gaap_LeasesAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="loc_us-gaap_LesseeOperatingLeasesTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LesseeOperatingLeasesTextBlock" xml:lang="en-US">Lessee, Operating Leases [Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_LesseeOperatingLeasesTextBlock" xml:lang="en-US">Leases</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeasesTextBlock" xlink:to="lab_us-gaap_LesseeOperatingLeasesTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerTextBlock" xml:lang="en-US">Revenue from Contract with Customer [Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerTextBlock" xml:lang="en-US">Revenue Recognition</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:to="lab_us-gaap_RevenueFromContractWithCustomerTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CreditLossAbstract" xlink:label="loc_us-gaap_CreditLossAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CreditLossAbstract" xml:lang="en-US">Credit Loss [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CreditLossAbstract" xlink:to="lab_us-gaap_CreditLossAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CreditLossFinancialInstrumentTextBlock" xlink:label="loc_us-gaap_CreditLossFinancialInstrumentTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CreditLossFinancialInstrumentTextBlock" xml:lang="en-US">Credit Loss, Financial Instrument [Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_CreditLossFinancialInstrumentTextBlock" xml:lang="en-US">Credit Losses</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CreditLossFinancialInstrumentTextBlock" xlink:to="lab_us-gaap_CreditLossFinancialInstrumentTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xml:lang="en-US">Goodwill and Intangible Assets Disclosure [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xml:lang="en-US">Goodwill and Other Intangible Assets</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xml:lang="en-US">Goodwill and Other Intangible Assets</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xml:lang="en-US">Goodwill and Intangible Assets Disclosure [Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xml:lang="en-US">Goodwill and Intangible Assets</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:to="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="loc_us-gaap_DisclosureTextBlockAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DisclosureTextBlockAbstract" xml:lang="en-US">Disclosure Text Block [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisclosureTextBlockAbstract" xlink:to="lab_us-gaap_DisclosureTextBlockAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" xlink:label="loc_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" xml:lang="en-US">Supplemental Balance Sheet Disclosures [Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" xml:lang="en-US">Consolidated Balance Sheet Detail</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" xlink:to="lab_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncomeTaxDisclosureAbstract" xml:lang="en-US">Income Tax Disclosure [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract" xlink:to="lab_us-gaap_IncomeTaxDisclosureAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="loc_us-gaap_IncomeTaxDisclosureTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncomeTaxDisclosureTextBlock" xml:lang="en-US">Income Tax Disclosure [Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_IncomeTaxDisclosureTextBlock" xml:lang="en-US">Income Taxes</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="lab_us-gaap_IncomeTaxDisclosureTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaap_EquityAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_EquityAbstract" xml:lang="en-US">Equity [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquityAbstract" xlink:to="lab_us-gaap_EquityAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock" xml:lang="en-US">Stockholders' Equity Note Disclosure [Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock" xml:lang="en-US">Stockholders' Equity</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:to="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xml:lang="en-US">Commitments and Contingencies Disclosure [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xml:lang="en-US">Commitments and Contingencies Disclosure [Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xml:lang="en-US">Commitments and Contingencies</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaap_DebtDisclosureAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DebtDisclosureAbstract" xml:lang="en-US">Debt Disclosure [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtDisclosureAbstract" xlink:to="lab_us-gaap_DebtDisclosureAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongTermDebtTextBlock" xlink:label="loc_us-gaap_LongTermDebtTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LongTermDebtTextBlock" xml:lang="en-US">Long-term Debt [Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_LongTermDebtTextBlock" xml:lang="en-US">Convertible Senior Notes</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongTermDebtTextBlock" xlink:to="lab_us-gaap_LongTermDebtTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ComprehensiveIncomeNoteTextBlock" xlink:label="loc_us-gaap_ComprehensiveIncomeNoteTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ComprehensiveIncomeNoteTextBlock" xml:lang="en-US">Comprehensive Income (Loss) Note [Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ComprehensiveIncomeNoteTextBlock" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss)</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ComprehensiveIncomeNoteTextBlock" xlink:to="lab_us-gaap_ComprehensiveIncomeNoteTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PostemploymentBenefitsAbstract" xlink:label="loc_us-gaap_PostemploymentBenefitsAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PostemploymentBenefitsAbstract" xml:lang="en-US">Postemployment Benefits [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PostemploymentBenefitsAbstract" xlink:to="lab_us-gaap_PostemploymentBenefitsAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CompensationAndEmployeeBenefitPlansTextBlock" xlink:label="loc_us-gaap_CompensationAndEmployeeBenefitPlansTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CompensationAndEmployeeBenefitPlansTextBlock" xml:lang="en-US">Compensation and Employee Benefit Plans [Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_CompensationAndEmployeeBenefitPlansTextBlock" xml:lang="en-US">Employee Benefit Plans</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CompensationAndEmployeeBenefitPlansTextBlock" xlink:to="lab_us-gaap_CompensationAndEmployeeBenefitPlansTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RelatedPartyTransactionsAbstract" xlink:label="loc_us-gaap_RelatedPartyTransactionsAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_RelatedPartyTransactionsAbstract" xml:lang="en-US">Related Party Transactions [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RelatedPartyTransactionsAbstract" xlink:to="lab_us-gaap_RelatedPartyTransactionsAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:label="loc_us-gaap_RelatedPartyTransactionsDisclosureTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xml:lang="en-US">Related Party Transactions Disclosure [Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xml:lang="en-US">Related Party Transactions</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:to="lab_us-gaap_RelatedPartyTransactionsDisclosureTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:label="loc_us-gaap_QuarterlyFinancialInformationDisclosureAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xml:lang="en-US">Quarterly Financial Information Disclosure [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:to="lab_us-gaap_QuarterlyFinancialInformationDisclosureAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_QuarterlyFinancialInformationTextBlock" xlink:label="loc_us-gaap_QuarterlyFinancialInformationTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_QuarterlyFinancialInformationTextBlock" xml:lang="en-US">Quarterly Financial Information [Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_QuarterlyFinancialInformationTextBlock" xml:lang="en-US">Selected Quarterly Financial Data (Unaudited)</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_QuarterlyFinancialInformationTextBlock" xlink:to="lab_us-gaap_QuarterlyFinancialInformationTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" xlink:label="loc_us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" xml:lang="en-US">Cash and Cash Equivalents, Restricted Cash and Cash Equivalents, Policy [Policy Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash and Marketable Securities</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" xlink:to="lab_us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskCreditRisk" xlink:label="loc_us-gaap_ConcentrationRiskCreditRisk" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ConcentrationRiskCreditRisk" xml:lang="en-US">Concentration Risk, Credit Risk, Policy [Policy Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ConcentrationRiskCreditRisk" xml:lang="en-US">Concentrations of Credit Risk and Significant Customers</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskCreditRisk" xlink:to="lab_us-gaap_ConcentrationRiskCreditRisk" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:label="loc_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xml:lang="en-US">Basis of Presentation and Significant Accounting Policies [Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xml:lang="en-US">Basis of presentation</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:to="lab_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_AccruedLiabilitiesPolicyTextBlock" xlink:label="loc_rgen_AccruedLiabilitiesPolicyTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_AccruedLiabilitiesPolicyTextBlock" xml:lang="en-US">Accrued Liabilities [Policy Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_AccruedLiabilitiesPolicyTextBlock" xml:lang="en-US">Accrued Liabilities</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_AccruedLiabilitiesPolicyTextBlock" xlink:to="lab_rgen_AccruedLiabilitiesPolicyTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_AccruedLiabilitiesPolicyTextBlock" xml:lang="en-US">Accrued Liabilities, Policy [Text Block]</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerSharePolicyTextBlock" xlink:label="loc_us-gaap_EarningsPerSharePolicyTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_EarningsPerSharePolicyTextBlock" xml:lang="en-US">Earnings Per Share, Policy [Policy Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_EarningsPerSharePolicyTextBlock" xml:lang="en-US">Earnings Per Share</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerSharePolicyTextBlock" xlink:to="lab_us-gaap_EarningsPerSharePolicyTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:label="loc_us-gaap_SegmentReportingPolicyPolicyTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_SegmentReportingPolicyPolicyTextBlock" xml:lang="en-US">Segment Reporting, Policy [Policy Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_SegmentReportingPolicyPolicyTextBlock" xml:lang="en-US">Segment Reporting</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:to="lab_us-gaap_SegmentReportingPolicyPolicyTextBlock" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock" xlink:label="loc_rgen_RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock" xml:lang="en-US">Risks and Uncertainties in Entities Business [Policy Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock" xml:lang="en-US">Risks and Uncertainties</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock" xlink:to="lab_rgen_RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock" xml:lang="en-US">Risks and Uncertainties in Entities Business [Policy Text Block]</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueRecognitionPolicyTextBlock" xlink:label="loc_us-gaap_RevenueRecognitionPolicyTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_RevenueRecognitionPolicyTextBlock" xml:lang="en-US">Revenue Recognition, Policy [Policy Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_RevenueRecognitionPolicyTextBlock" xml:lang="en-US">Revenue Recognition</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueRecognitionPolicyTextBlock" xlink:to="lab_us-gaap_RevenueRecognitionPolicyTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xml:lang="en-US">Property, Plant and Equipment, Policy [Policy Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xml:lang="en-US">Property, Plant &amp; Equipment</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:label="loc_us-gaap_FairValueMeasurementPolicyPolicyTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xml:lang="en-US">Fair Value Measurement, Policy [Policy Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xml:lang="en-US">Fair Value Measurement</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:to="lab_us-gaap_FairValueMeasurementPolicyPolicyTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="loc_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xml:lang="en-US">Foreign Currency Transactions and Translations Policy [Policy Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xml:lang="en-US">Foreign Currency</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:to="lab_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xml:lang="en-US">Goodwill and Intangible Assets, Policy [Policy Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xml:lang="en-US">Business Combinations, Goodwill and Intangible Assets</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:to="lab_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_UseOfEstimates" xlink:label="loc_us-gaap_UseOfEstimates" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_UseOfEstimates" xml:lang="en-US">Use of Estimates, Policy [Policy Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_UseOfEstimates" xml:lang="en-US">Use of Estimates</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UseOfEstimates" xlink:to="lab_us-gaap_UseOfEstimates" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="loc_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xml:lang="en-US">Share-based Compensation, Option and Incentive Plans Policy [Policy Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xml:lang="en-US">Stock Based Compensation</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:to="lab_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LoansAndLeasesReceivableLeaseFinancingPolicy" xlink:label="loc_us-gaap_LoansAndLeasesReceivableLeaseFinancingPolicy" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LoansAndLeasesReceivableLeaseFinancingPolicy" xml:lang="en-US">Loans and Leases Receivable, Lease Financing, Policy [Policy Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/definitionGuidance" xlink:label="lab_us-gaap_LoansAndLeasesReceivableLeaseFinancingPolicy" xml:lang="en-US">Lease Accounting</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LoansAndLeasesReceivableLeaseFinancingPolicy" xlink:to="lab_us-gaap_LoansAndLeasesReceivableLeaseFinancingPolicy" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdvertisingCostsPolicyTextBlock" xlink:label="loc_us-gaap_AdvertisingCostsPolicyTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AdvertisingCostsPolicyTextBlock" xml:lang="en-US">Advertising Costs, Policy [Policy Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/definitionGuidance" xlink:label="lab_us-gaap_AdvertisingCostsPolicyTextBlock" xml:lang="en-US">Advertising Costs</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdvertisingCostsPolicyTextBlock" xlink:to="lab_us-gaap_AdvertisingCostsPolicyTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CreditLossFinancialInstrumentPolicyTextBlock" xlink:label="loc_us-gaap_CreditLossFinancialInstrumentPolicyTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CreditLossFinancialInstrumentPolicyTextBlock" xml:lang="en-US">Credit Loss, Financial Instrument [Policy Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_CreditLossFinancialInstrumentPolicyTextBlock" xml:lang="en-US">Allowance for credit losses</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CreditLossFinancialInstrumentPolicyTextBlock" xlink:to="lab_us-gaap_CreditLossFinancialInstrumentPolicyTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="loc_us-gaap_IncomeTaxPolicyTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncomeTaxPolicyTextBlock" xml:lang="en-US">Income Tax, Policy [Policy Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_IncomeTaxPolicyTextBlock" xml:lang="en-US">Income Taxes</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxPolicyTextBlock" xlink:to="lab_us-gaap_IncomeTaxPolicyTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xml:lang="en-US">New Accounting Pronouncements, Policy [Policy Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xml:lang="en-US">Recent Accounting Standards Updates</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="loc_us-gaap_InventoryPolicyTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_InventoryPolicyTextBlock" xml:lang="en-US">Inventory, Policy [Policy Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_InventoryPolicyTextBlock" xml:lang="en-US">Inventories</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryPolicyTextBlock" xlink:to="lab_us-gaap_InventoryPolicyTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:label="loc_us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xml:lang="en-US">Schedules of Concentration of Risk, by Risk Factor [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xml:lang="en-US">Percentage by Geographic Area or Significant Customers</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:to="lab_us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock" xlink:label="loc_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock" xml:lang="en-US">Reconciliation of Assets from Segment to Consolidated [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock" xml:lang="en-US">Total Assets by Geographic Area</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock" xlink:to="lab_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xml:lang="en-US">Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xml:lang="en-US">Reconciliation of Basic and Diluted Shares Amounts</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" xlink:label="loc_us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" xml:lang="en-US">Schedule of Disclosure on Geographic Areas, Long-Lived Assets in Individual Foreign Countries by Country [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" xml:lang="en-US">Long Lived Assets by Geographic Area</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" xlink:to="lab_us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:label="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xml:lang="en-US">Revenue from External Customers by Products and Services [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xml:lang="en-US">Summary of Product Revenues by Product Line</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:to="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock" xml:lang="en-US">Schedule of Revenue by Major Customers by Reporting Segments [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock" xml:lang="en-US">Percentage of Revenue from Significant Customers</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock" xlink:label="loc_rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock" xml:lang="en-US">Schedule Of Cash And Cash Equivalents And Restricted Cash [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock" xml:lang="en-US">Schedule of Cash, Cash Equivalents and Restricted Cash</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock" xlink:to="lab_rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock" xml:lang="en-US">Schedule of cash and cash equivalents and restricted cash.</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock" xlink:label="loc_rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock" xml:lang="en-US">Schedule Of Property And Equipment Useful Lives [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock" xml:lang="en-US">Property, Plant and Equipment</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock" xlink:to="lab_rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock" xml:lang="en-US">Schedule Of Property And Equipment Useful Lives Table [Text Block]</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="loc_us-gaap_ConcentrationRiskByBenchmarkAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ConcentrationRiskByBenchmarkAxis" xml:lang="en-US">Concentration Risk Benchmark [Axis]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ConcentrationRiskByBenchmarkAxis" xml:lang="en-US">Concentration Risk Benchmark [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="lab_us-gaap_ConcentrationRiskByBenchmarkAxis" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ConcentrationRiskBenchmarkDomain" xml:lang="en-US">Concentration Risk Benchmark [Domain]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ConcentrationRiskBenchmarkDomain" xml:lang="en-US">Concentration Risk Benchmark [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="lab_us-gaap_ConcentrationRiskBenchmarkDomain" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_SalesRevenuesGoodsNetMember" xlink:label="loc_rgen_SalesRevenuesGoodsNetMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_SalesRevenuesGoodsNetMember" xml:lang="en-US">Sales Revenues Goods Net [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_SalesRevenuesGoodsNetMember" xml:lang="en-US">Total Revenue</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_SalesRevenuesGoodsNetMember" xlink:to="lab_rgen_SalesRevenuesGoodsNetMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_SalesRevenuesGoodsNetMember" xml:lang="en-US">Sales Revenues Goods Net.</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ArtesynBiosolutionsMember" xlink:label="loc_rgen_ArtesynBiosolutionsMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_ArtesynBiosolutionsMember" xml:lang="en-US">ARTeSYN Biosolutions [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_ArtesynBiosolutionsMember" xml:lang="en-US">ARTeSYN Biosolutions</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_rgen_ArtesynBiosolutionsMember" xml:lang="en-US">ARTeSYN</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_ArtesynBiosolutionsMember" xlink:to="lab_rgen_ArtesynBiosolutionsMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_ArtesynBiosolutionsMember" xml:lang="en-US">ARTeSYN Biosolutions.</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_CTechnologiesMember" xlink:label="loc_rgen_CTechnologiesMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_CTechnologiesMember" xml:lang="en-US">C Technologies [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_rgen_CTechnologiesMember" xml:lang="en-US">C Technologies, Inc.</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_CTechnologiesMember" xml:lang="en-US">C Technologies</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_CTechnologiesMember" xlink:to="lab_rgen_CTechnologiesMember" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_NonMetallicSolutionsMember" xlink:label="loc_rgen_NonMetallicSolutionsMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_NonMetallicSolutionsMember" xml:lang="en-US">Non Metallic Solutions [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_NonMetallicSolutionsMember" xml:lang="en-US">Non-Metallic Solutions</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_rgen_NonMetallicSolutionsMember" xml:lang="en-US">NMS</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_NonMetallicSolutionsMember" xlink:to="lab_rgen_NonMetallicSolutionsMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_NonMetallicSolutionsMember" xml:lang="en-US">Non-Metallic Solutions.</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_EngineeredMoldingTechnologyLlcMember" xlink:label="loc_rgen_EngineeredMoldingTechnologyLlcMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_EngineeredMoldingTechnologyLlcMember" xml:lang="en-US">Engineered Molding Technology LLC [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_EngineeredMoldingTechnologyLlcMember" xml:lang="en-US">Engineered Molding Technology LLC</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_EngineeredMoldingTechnologyLlcMember" xlink:to="lab_rgen_EngineeredMoldingTechnologyLlcMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_EngineeredMoldingTechnologyLlcMember" xml:lang="en-US">Engineered Molding Technology LLC</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:label="loc_us-gaap_BusinessAcquisitionProFormaInformationTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xml:lang="en-US">Business Acquisition, Pro Forma Information [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xml:lang="en-US">Unaudited Supplemental Pro Forma Information</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:to="lab_us-gaap_BusinessAcquisitionProFormaInformationTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xml:lang="en-US">Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xml:lang="en-US">Schedule of Recognized Identified Assets Acquired and Liabilities Assumed</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:label="loc_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xml:lang="en-US">Schedule of Acquired Finite-Lived Intangible Assets by Major Class [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xml:lang="en-US">Schedule of Identified Intangible Assets and Estimated Useful Lives</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:to="lab_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock" xlink:label="loc_rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock" xml:lang="en-US">Schedule of Business Combination Consideration Transferred [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock" xml:lang="en-US">Schedule of Business Combination Consideration Transferred</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock" xlink:to="lab_rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock" xml:lang="en-US">Tabular disclosure of business combination consideration transferred.</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaap_StatementClassOfStockAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_StatementClassOfStockAxis" xml:lang="en-US">Class of Stock [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementClassOfStockAxis" xlink:to="lab_us-gaap_StatementClassOfStockAxis" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaap_ClassOfStockDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ClassOfStockDomain" xml:lang="en-US">Class of Stock [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ClassOfStockDomain" xlink:to="lab_us-gaap_ClassOfStockDomain" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xml:lang="en-US">Adjustments for New Accounting Pronouncements [Axis]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xml:lang="en-US">Adjustments for New Accounting Pronouncements [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="lab_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="loc_us-gaap_TypeOfAdoptionMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_TypeOfAdoptionMember" xml:lang="en-US">Type of Adoption [Domain]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_TypeOfAdoptionMember" xml:lang="en-US">Type of Adoption [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TypeOfAdoptionMember" xlink:to="lab_us-gaap_TypeOfAdoptionMember" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock" xlink:label="loc_rgen_ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock" xml:lang="en-US">Schedule Of Supplemental Disclosure Of Cash Flows Related To Operating Leases [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_rgen_ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock" xml:lang="en-US">Schedule Of Supplemental Disclosure Of Cash Flows Related To Operating Leases</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock" xlink:to="lab_rgen_ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock" xml:lang="en-US">Tabular disclosure of supplemental disclosure for the consolidated statements of cash flows related to operating leases</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xml:lang="en-US">Lessee, Operating Lease, Liability, Maturity [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xml:lang="en-US">Maturities of lease liabilities</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LeaseCostTableTextBlock" xlink:label="loc_us-gaap_LeaseCostTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LeaseCostTableTextBlock" xml:lang="en-US">Lease, Cost [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_LeaseCostTableTextBlock" xml:lang="en-US">Lease, Cost</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeaseCostTableTextBlock" xlink:to="lab_us-gaap_LeaseCostTableTextBlock" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock" xlink:label="loc_rgen_AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock" xml:lang="en-US">Abstract Of Operating Lease Liability From Balance Sheet Table Text Block [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock" xml:lang="en-US">Abstract of operating lease liability</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock" xlink:to="lab_rgen_AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock" xml:lang="en-US">na</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock" xlink:label="loc_rgen_ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock" xml:lang="en-US">Schedule Of Discount Rate And Lease Term Used In Calculating Lease Liabilities And Assets [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock" xml:lang="en-US">Schedule Of Discount Rate And Lease Term Used In Calculating Lease Liabilities And Assets</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock" xlink:to="lab_rgen_ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock" xml:lang="en-US">Tabular disclosure of discount rate and remaining lease term of operating and financial leases.</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="loc_us-gaap_DisaggregationOfRevenueTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DisaggregationOfRevenueTableTextBlock" xml:lang="en-US">Disaggregation of Revenue [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_DisaggregationOfRevenueTableTextBlock" xml:lang="en-US">Disaggregation of Revenue</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:to="lab_us-gaap_DisaggregationOfRevenueTableTextBlock" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfRevenueByMajorCustomersTableTextBlock" xlink:label="loc_rgen_ScheduleOfRevenueByMajorCustomersTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_ScheduleOfRevenueByMajorCustomersTableTextBlock" xml:lang="en-US">Schedule Of Revenue By Major Customers [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_rgen_ScheduleOfRevenueByMajorCustomersTableTextBlock" xml:lang="en-US">Revenue from Significant Customers</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_ScheduleOfRevenueByMajorCustomersTableTextBlock" xlink:to="lab_rgen_ScheduleOfRevenueByMajorCustomersTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_ScheduleOfRevenueByMajorCustomersTableTextBlock" xml:lang="en-US">Schedule Of Revenue By Major Customers [Table Text Block]</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="loc_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xml:lang="en-US">Contract with Customer, Asset and Liability [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xml:lang="en-US">Summary of Receivables and Deferred Revenue from Contracts with Customers</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:to="lab_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:label="loc_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xml:lang="en-US">Summary Of Allowance For Credit Losses For Accounts Receivables</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:to="lab_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfGoodwillTextBlock" xlink:label="loc_us-gaap_ScheduleOfGoodwillTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ScheduleOfGoodwillTextBlock" xml:lang="en-US">Schedule of Goodwill [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_ScheduleOfGoodwillTextBlock" xml:lang="en-US">Changes in Carrying Value of Goodwill</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfGoodwillTextBlock" xlink:to="lab_us-gaap_ScheduleOfGoodwillTextBlock" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock" xlink:label="loc_rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock" xml:lang="en-US">Schedule Of Finite Lived And Indefinite Lived Intangible Assets [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock" xml:lang="en-US">Intangible assets</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock" xlink:to="lab_rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock" xml:lang="en-US">Schedule Of Finite Lived And Indefinite Lived Intangible Assets [Table Text Block]</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock" xml:lang="en-US">Finite-lived Intangible Assets Amortization Expense [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock" xml:lang="en-US">Schedule of Amortization Expense for Amortized Intangible Assets</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xml:lang="en-US">Schedule of Inventory, Current [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xml:lang="en-US">Inventories</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" xlink:label="loc_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" xml:lang="en-US">Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" xml:lang="en-US">Prepaid Expenses and Other Current Assets</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" xlink:to="lab_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentTextBlock" xml:lang="en-US">Property, Plant and Equipment [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentTextBlock" xml:lang="en-US">Property, Plant and Equipment</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xml:lang="en-US">Schedule of Accrued Liabilities [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xml:lang="en-US">Accrued Liabilities</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xml:lang="en-US">Schedule of Deferred Tax Assets and Liabilities [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xml:lang="en-US">Consolidated Deferred Tax Assets (Liabilities)</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xml:lang="en-US">Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xml:lang="en-US">Income Tax Provision (Benefit)</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xml:lang="en-US">Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xml:lang="en-US">Reconciliation of Federal Statutory Rate to Effective Income Tax Rate</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xml:lang="en-US">Schedule of Income before Income Tax, Domestic and Foreign [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xml:lang="en-US">Income Before Income Taxes</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SummaryOfIncomeTaxExaminationsTextBlock" xlink:label="loc_us-gaap_SummaryOfIncomeTaxExaminationsTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_SummaryOfIncomeTaxExaminationsTextBlock" xml:lang="en-US">Summary of Income Tax Examinations [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_SummaryOfIncomeTaxExaminationsTextBlock" xml:lang="en-US">Summary of Tax Returns Periods Subject to Examination by Federal, State and Foreign Tax Authorities</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SummaryOfIncomeTaxExaminationsTextBlock" xlink:to="lab_us-gaap_SummaryOfIncomeTaxExaminationsTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock" xlink:label="loc_us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock" xml:lang="en-US">Summary of Positions for which Significant Change in Unrecognized Tax Benefits is Reasonably Possible [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock" xml:lang="en-US">Reconciliation of Unrecognized Tax Benefits</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock" xlink:to="lab_us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xml:lang="en-US">Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xml:lang="en-US">Stock-Based Compensation Expense</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:to="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xml:lang="en-US">Schedule of Share-based Compensation, Restricted Stock Units Award Activity [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xml:lang="en-US">Summary of Restricted Stock Unit Activity</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xml:lang="en-US">Share-based Compensation, Stock Options, Activity [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xml:lang="en-US">Summary of Option Activity</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xml:lang="en-US">Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xml:lang="en-US">Estimated Weighted Average Assumptions</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConvertibleDebtTableTextBlock" xlink:label="loc_us-gaap_ConvertibleDebtTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ConvertibleDebtTableTextBlock" xml:lang="en-US">Convertible Debt [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ConvertibleDebtTableTextBlock" xml:lang="en-US">Carrying Value of Convertible Senior Notes</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConvertibleDebtTableTextBlock" xlink:to="lab_us-gaap_ConvertibleDebtTableTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xml:lang="en-US">Schedule of Accumulated Other Comprehensive Income (Loss) [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xml:lang="en-US">Summary of Changes in Accumulated Other Comprehensive Income (Loss)</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xml:lang="en-US">Quarterly Financial Information [Table Text Block]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xml:lang="en-US">Consolidated Statements of Operations Information for Each of Previous Eight Quarters</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_SummaryOfSignificantAccountingPoliciesTable" xlink:label="loc_rgen_SummaryOfSignificantAccountingPoliciesTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_SummaryOfSignificantAccountingPoliciesTable" xml:lang="en-US">Summary Of Significant Accounting Policies [Table]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_SummaryOfSignificantAccountingPoliciesTable" xml:lang="en-US">Summary Of Significant Accounting Policies [Table]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesTable" xlink:to="lab_rgen_SummaryOfSignificantAccountingPoliciesTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_SummaryOfSignificantAccountingPoliciesTable" xml:lang="en-US">Summary Of Significant Accounting Policies [Table]</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="loc_us-gaap_IncomeTaxAuthorityAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncomeTaxAuthorityAxis" xml:lang="en-US">Income Tax Authority [Axis]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_IncomeTaxAuthorityAxis" xml:lang="en-US">Income Tax Authority [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis" xlink:to="lab_us-gaap_IncomeTaxAuthorityAxis" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncomeTaxAuthorityDomain" xml:lang="en-US">Income Tax Authority [Domain]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_IncomeTaxAuthorityDomain" xml:lang="en-US">Income Tax Authority [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain" xlink:to="lab_us-gaap_IncomeTaxAuthorityDomain" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaap_AwardTypeAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AwardTypeAxis" xml:lang="en-US">Award Type [Axis]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_AwardTypeAxis" xml:lang="en-US">Award Type [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AwardTypeAxis" xlink:to="lab_us-gaap_AwardTypeAxis" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xml:lang="en-US">Award Type [Domain]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xml:lang="en-US">Equity Award [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_NonEmployeeDirectorStockOptionMember" xlink:label="loc_rgen_NonEmployeeDirectorStockOptionMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_NonEmployeeDirectorStockOptionMember" xml:lang="en-US">Non Employee Director Stock Option[Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_NonEmployeeDirectorStockOptionMember" xml:lang="en-US">Non-Employee Directors</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_NonEmployeeDirectorStockOptionMember" xlink:to="lab_rgen_NonEmployeeDirectorStockOptionMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_NonEmployeeDirectorStockOptionMember" xml:lang="en-US">Non Employee Director Stock Option[Member]</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_RestrictedStockUnitsRSUMember" xml:lang="en-US">Restricted Stock Units (RSUs) [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_RestrictedStockUnitsRSUMember" xml:lang="en-US">Restricted Stock Units (RSUs)</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedStockUnitsRSUMember" xlink:to="lab_us-gaap_RestrictedStockUnitsRSUMember" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_OptionToPurchaseCommonStockMember" xlink:label="loc_rgen_OptionToPurchaseCommonStockMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_OptionToPurchaseCommonStockMember" xml:lang="en-US">Option To Purchase Common Stock [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_OptionToPurchaseCommonStockMember" xml:lang="en-US">Option To Purchase Common Stock</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_OptionToPurchaseCommonStockMember" xlink:to="lab_rgen_OptionToPurchaseCommonStockMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_OptionToPurchaseCommonStockMember" xml:lang="en-US">Option To Purchase Common Stock [Member]</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="loc_us-gaap_EmployeeStockOptionMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_EmployeeStockOptionMember" xml:lang="en-US">Employee Stock Option [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_EmployeeStockOptionMember" xml:lang="en-US">Employee Stock Option</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeStockOptionMember" xlink:to="lab_us-gaap_EmployeeStockOptionMember" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredRevenueArrangementTypeAxis" xlink:label="loc_us-gaap_DeferredRevenueArrangementTypeAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DeferredRevenueArrangementTypeAxis" xml:lang="en-US">Deferred Revenue Arrangement Type [Axis]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DeferredRevenueArrangementTypeAxis" xml:lang="en-US">Deferred Revenue Arrangement Type [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredRevenueArrangementTypeAxis" xlink:to="lab_us-gaap_DeferredRevenueArrangementTypeAxis" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredRevenueArrangementTypeDomain" xlink:label="loc_us-gaap_DeferredRevenueArrangementTypeDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DeferredRevenueArrangementTypeDomain" xml:lang="en-US">Deferred Revenue [Domain]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DeferredRevenueArrangementTypeDomain" xml:lang="en-US">Deferred Revenue [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredRevenueArrangementTypeDomain" xlink:to="lab_us-gaap_DeferredRevenueArrangementTypeDomain" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MajorCustomersAxis" xlink:label="loc_srt_MajorCustomersAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_srt_MajorCustomersAxis" xml:lang="en-US">Customer [Axis]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_srt_MajorCustomersAxis" xml:lang="en-US">Customer [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_MajorCustomersAxis" xlink:to="lab_srt_MajorCustomersAxis" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_NameOfMajorCustomerDomain" xlink:label="loc_srt_NameOfMajorCustomerDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_srt_NameOfMajorCustomerDomain" xml:lang="en-US">Customer [Domain]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_srt_NameOfMajorCustomerDomain" xml:lang="en-US">Customer [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_NameOfMajorCustomerDomain" xlink:to="lab_srt_NameOfMajorCustomerDomain" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_CytivaMember" xlink:label="loc_rgen_CytivaMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_CytivaMember" xml:lang="en-US">Cytiva [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_rgen_CytivaMember" xml:lang="en-US">Cytiva (formerly GE Healthcare)</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_CytivaMember" xlink:to="lab_rgen_CytivaMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_CytivaMember" xml:lang="en-US">Cytiva</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeAxis" xlink:label="loc_srt_RangeAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_srt_RangeAxis" xml:lang="en-US">Range [Axis]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_srt_RangeAxis" xml:lang="en-US">Range [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_RangeAxis" xlink:to="lab_srt_RangeAxis" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember" xlink:label="loc_srt_RangeMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_srt_RangeMember" xml:lang="en-US">Range [Domain]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_srt_RangeMember" xml:lang="en-US">Range [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_RangeMember" xlink:to="lab_srt_RangeMember" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="loc_us-gaap_SubsequentEventTypeAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_SubsequentEventTypeAxis" xml:lang="en-US">Subsequent Event Type [Axis]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_SubsequentEventTypeAxis" xml:lang="en-US">Subsequent Event Type [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventTypeAxis" xlink:to="lab_us-gaap_SubsequentEventTypeAxis" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaap_SubsequentEventTypeDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_SubsequentEventTypeDomain" xml:lang="en-US">Subsequent Event Type [Domain]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_SubsequentEventTypeDomain" xml:lang="en-US">Subsequent Event Type [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventTypeDomain" xlink:to="lab_us-gaap_SubsequentEventTypeDomain" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:label="loc_rgen_SummaryOfSignificantAccountingPoliciesLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_SummaryOfSignificantAccountingPoliciesLineItems" xml:lang="en-US">Summary Of Significant Accounting Policies [Line Items]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_SummaryOfSignificantAccountingPoliciesLineItems" xml:lang="en-US">Summary Of Significant Accounting Policies [Line Items]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="lab_rgen_SummaryOfSignificantAccountingPoliciesLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_SummaryOfSignificantAccountingPoliciesLineItems" xml:lang="en-US">Summary Of Significant Accounting Policies [Line Items]</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xml:lang="en-US">Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xml:lang="en-US">Common stock excluded from calculation of diluted earnings per share</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:to="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="loc_us-gaap_DebtInstrumentFaceAmount" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DebtInstrumentFaceAmount" xml:lang="en-US">Debt Instrument, Face Amount</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_DebtInstrumentFaceAmount" xml:lang="en-US">Principal amount</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DebtInstrumentFaceAmount" xml:lang="en-US">Notes issued</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentFaceAmount" xlink:to="lab_us-gaap_DebtInstrumentFaceAmount" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentFrequencyOfPeriodicPayment" xlink:label="loc_us-gaap_DebtInstrumentFrequencyOfPeriodicPayment" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DebtInstrumentFrequencyOfPeriodicPayment" xml:lang="en-US">Debt Instrument, Frequency of Periodic Payment</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DebtInstrumentFrequencyOfPeriodicPayment" xml:lang="en-US">Notes, frequency of periodic payment</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentFrequencyOfPeriodicPayment" xlink:to="lab_us-gaap_DebtInstrumentFrequencyOfPeriodicPayment" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongTermDebt" xlink:label="loc_us-gaap_LongTermDebt" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LongTermDebt" xml:lang="en-US">Long-term Debt</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_LongTermDebt" xml:lang="en-US">Total convertible senior notes</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_LongTermDebt" xml:lang="en-US">Total convertible senior notes</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_LongTermDebt" xml:lang="en-US">Notes, carrying value</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongTermDebt" xlink:to="lab_us-gaap_LongTermDebt" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongTermDebtFairValue" xlink:label="loc_us-gaap_LongTermDebtFairValue" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LongTermDebtFairValue" xml:lang="en-US">Long-term Debt, Fair Value</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_LongTermDebtFairValue" xml:lang="en-US">Fair value of convertible senior notes</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_LongTermDebtFairValue" xml:lang="en-US">Fair value of the note</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongTermDebtFairValue" xlink:to="lab_us-gaap_LongTermDebtFairValue" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xml:lang="en-US">Restricted stock units, outstanding</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xml:lang="en-US">Unvested at December 31, 2019</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xml:lang="en-US">Unvested at December 31, 2020</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xml:lang="en-US">Stock options, outstanding</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xml:lang="en-US">Options outstanding at December 31, 2019 | shares</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xml:lang="en-US">Options outstanding at December 31, 2020 | shares</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xml:lang="en-US">Stock options, weighted average exercise price</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xml:lang="en-US">Options outstanding at December 31, 2019</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xml:lang="en-US">Options outstanding at December 31, 2020</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_PercentageOfSharesSubjectToForfeiture" xlink:label="loc_rgen_PercentageOfSharesSubjectToForfeiture" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_PercentageOfSharesSubjectToForfeiture" xml:lang="en-US">Percentage of Shares Subject to Forfeiture</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_PercentageOfSharesSubjectToForfeiture" xml:lang="en-US">Estimated forfeiture rates</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_PercentageOfSharesSubjectToForfeiture" xlink:to="lab_rgen_PercentageOfSharesSubjectToForfeiture" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_PercentageOfSharesSubjectToForfeiture" xml:lang="en-US">Percentage of shares subject to forfeiture.</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdvertisingExpense" xlink:label="loc_us-gaap_AdvertisingExpense" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AdvertisingExpense" xml:lang="en-US">Advertising Expense</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdvertisingExpense" xlink:to="lab_us-gaap_AdvertisingExpense" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" xml:lang="en-US">Restricted Cash and Cash Equivalents, Noncurrent</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" xml:lang="en-US">Restricted Cash</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" xlink:to="lab_us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities" xml:lang="en-US">Incremental Common Shares Attributable to Dilutive Effect of Conversion of Debt Securities</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities" xml:lang="en-US">Convertible senior notes</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities" xlink:to="lab_us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="loc_us-gaap_ConcentrationRiskPercentage1" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ConcentrationRiskPercentage1" xml:lang="en-US">Concentration Risk, Percentage</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/definitionGuidance" xlink:label="lab_us-gaap_ConcentrationRiskPercentage1" xml:lang="en-US">Revenues, percentage by country</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_ConcentrationRiskPercentage1" xml:lang="en-US">Revenue from significant customers as a percentage of total revenue</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskPercentage1" xlink:to="lab_us-gaap_ConcentrationRiskPercentage1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="loc_us-gaap_BalanceSheetLocationAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_BalanceSheetLocationAxis" xml:lang="en-US">Balance Sheet Location [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BalanceSheetLocationAxis" xlink:to="lab_us-gaap_BalanceSheetLocationAxis" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="loc_us-gaap_BalanceSheetLocationDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_BalanceSheetLocationDomain" xml:lang="en-US">Balance Sheet Location [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BalanceSheetLocationDomain" xlink:to="lab_us-gaap_BalanceSheetLocationDomain" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsAxis" xlink:label="loc_us-gaap_CashAndCashEquivalentsAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CashAndCashEquivalentsAxis" xml:lang="en-US">Cash and Cash Equivalents [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsAxis" xlink:to="lab_us-gaap_CashAndCashEquivalentsAxis" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xml:lang="en-US">Cash and Cash Equivalents [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:to="lab_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_MoneyMarketFundsMember" xlink:label="loc_us-gaap_MoneyMarketFundsMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_MoneyMarketFundsMember" xml:lang="en-US">Money Market Funds [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MoneyMarketFundsMember" xlink:to="lab_us-gaap_MoneyMarketFundsMember" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis" xml:lang="en-US">Fair Value Hierarchy and NAV [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xml:lang="en-US">Fair Value Hierarchy and NAV [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="loc_us-gaap_FairValueInputsLevel1Member" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_FairValueInputsLevel1Member" xml:lang="en-US">Fair Value, Inputs, Level 1 [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueInputsLevel1Member" xlink:to="lab_us-gaap_FairValueInputsLevel1Member" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="loc_us-gaap_LongtermDebtTypeAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LongtermDebtTypeAxis" xml:lang="en-US">Long-term Debt, Type [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongtermDebtTypeAxis" xlink:to="lab_us-gaap_LongtermDebtTypeAxis" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="loc_us-gaap_LongtermDebtTypeDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LongtermDebtTypeDomain" xml:lang="en-US">Long-term Debt, Type [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongtermDebtTypeDomain" xlink:to="lab_us-gaap_LongtermDebtTypeDomain" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="loc_us-gaap_FairValueByMeasurementFrequencyAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_FairValueByMeasurementFrequencyAxis" xml:lang="en-US">Measurement Frequency [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis" xlink:to="lab_us-gaap_FairValueByMeasurementFrequencyAxis" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_FairValueMeasurementFrequencyDomain" xml:lang="en-US">Measurement Frequency [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementFrequencyDomain" xlink:to="lab_us-gaap_FairValueMeasurementFrequencyDomain" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_TitleOfIndividualAxis" xlink:label="loc_srt_TitleOfIndividualAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_srt_TitleOfIndividualAxis" xml:lang="en-US">Title of Individual [Axis]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_srt_TitleOfIndividualAxis" xml:lang="en-US">Title of Individual [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_TitleOfIndividualAxis" xlink:to="lab_srt_TitleOfIndividualAxis" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_srt_TitleOfIndividualWithRelationshipToEntityDomain" xml:lang="en-US">Title of Individual [Domain]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_srt_TitleOfIndividualWithRelationshipToEntityDomain" xml:lang="en-US">Relationship to Entity [Domain]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_srt_TitleOfIndividualWithRelationshipToEntityDomain" xml:lang="en-US">Title of Individual [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="lab_srt_TitleOfIndividualWithRelationshipToEntityDomain" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ExecutiveOfficerMember" xlink:label="loc_srt_ExecutiveOfficerMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_srt_ExecutiveOfficerMember" xml:lang="en-US">Executive Officer [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_srt_ExecutiveOfficerMember" xml:lang="en-US">Awards Granted to Executive Level Employees</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ExecutiveOfficerMember" xlink:to="lab_srt_ExecutiveOfficerMember" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_NonExecutiveMember" xlink:label="loc_rgen_NonExecutiveMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_NonExecutiveMember" xml:lang="en-US">Non-Executive [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_NonExecutiveMember" xml:lang="en-US">Awards Granted to Non-Executive Level Employees</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_NonExecutiveMember" xlink:to="lab_rgen_NonExecutiveMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_NonExecutiveMember" xml:lang="en-US">Non-Executive [Member]</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="loc_us-gaap_ConcentrationRiskByTypeAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ConcentrationRiskByTypeAxis" xml:lang="en-US">Concentration Risk Type [Axis]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ConcentrationRiskByTypeAxis" xml:lang="en-US">Concentration Risk Type [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskByTypeAxis" xlink:to="lab_us-gaap_ConcentrationRiskByTypeAxis" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="loc_us-gaap_ConcentrationRiskTypeDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ConcentrationRiskTypeDomain" xml:lang="en-US">Concentration Risk Type [Domain]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ConcentrationRiskTypeDomain" xml:lang="en-US">Concentration Risk Type [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskTypeDomain" xlink:to="lab_us-gaap_ConcentrationRiskTypeDomain" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="loc_us-gaap_CustomerConcentrationRiskMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CustomerConcentrationRiskMember" xml:lang="en-US">Customer Concentration Risk [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_CustomerConcentrationRiskMember" xml:lang="en-US">Customer Concentration Risk</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CustomerConcentrationRiskMember" xlink:to="lab_us-gaap_CustomerConcentrationRiskMember" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsReceivableMember" xlink:label="loc_us-gaap_AccountsReceivableMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AccountsReceivableMember" xml:lang="en-US">Accounts Receivable [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsReceivableMember" xlink:to="lab_us-gaap_AccountsReceivableMember" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsLineItems" xlink:label="loc_us-gaap_CashAndCashEquivalentsLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CashAndCashEquivalentsLineItems" xml:lang="en-US">Cash and Cash Equivalents [Line Items]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_CashAndCashEquivalentsLineItems" xml:lang="en-US">Cash and Cash Equivalents [Line Items]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsLineItems" xlink:to="lab_us-gaap_CashAndCashEquivalentsLineItems" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAbstract" xml:lang="en-US">Property, Plant and Equipment [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xml:lang="en-US">Property, Plant and Equipment [Table]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xml:lang="en-US">Property, Plant and Equipment [Table]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="lab_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis" xml:lang="en-US">Property, Plant and Equipment, Type [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain" xml:lang="en-US">Property, Plant and Equipment, Type [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BuildingMember" xlink:label="loc_us-gaap_BuildingMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_BuildingMember" xml:lang="en-US">Building [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BuildingMember" xlink:to="lab_us-gaap_BuildingMember" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="loc_us-gaap_LeaseholdImprovementsMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LeaseholdImprovementsMember" xml:lang="en-US">Leasehold Improvements [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeaseholdImprovementsMember" xlink:to="lab_us-gaap_LeaseholdImprovementsMember" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EquipmentMember" xlink:label="loc_us-gaap_EquipmentMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_EquipmentMember" xml:lang="en-US">Equipment [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquipmentMember" xlink:to="lab_us-gaap_EquipmentMember" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_FurnitureFixturesAndOfficeEquipmentMemberMember" xlink:label="loc_rgen_FurnitureFixturesAndOfficeEquipmentMemberMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_FurnitureFixturesAndOfficeEquipmentMemberMember" xml:lang="en-US">Furniture Fixtures And Office Equipment Member [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_FurnitureFixturesAndOfficeEquipmentMemberMember" xlink:to="lab_rgen_FurnitureFixturesAndOfficeEquipmentMemberMember" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ComputerHardwareAndSoftwareMemberMember" xlink:label="loc_rgen_ComputerHardwareAndSoftwareMemberMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_ComputerHardwareAndSoftwareMemberMember" xml:lang="en-US">Computer Hardware And Software member [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_ComputerHardwareAndSoftwareMemberMember" xlink:to="lab_rgen_ComputerHardwareAndSoftwareMemberMember" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentLineItems" xml:lang="en-US">Property, Plant and Equipment [Line Items]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentLineItems" xml:lang="en-US">Property, Plant and Equipment [Line Items]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentLineItems" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife" xml:lang="en-US">Property, Plant and Equipment, Useful Life</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife" xml:lang="en-US">Estimated Useful Life</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentEstimatedUsefulLives" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentEstimatedUsefulLives" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentEstimatedUsefulLives" xml:lang="en-US">Property, Plant and Equipment, Estimated Useful Lives</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentEstimatedUsefulLives" xml:lang="en-US">Estimated Useful Life</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentEstimatedUsefulLives" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentEstimatedUsefulLives" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MaximumMember" xlink:label="loc_srt_MaximumMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_srt_MaximumMember" xml:lang="en-US">Maximum [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_srt_MaximumMember" xml:lang="en-US">Maximum</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_MaximumMember" xlink:to="lab_srt_MaximumMember" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MinimumMember" xlink:label="loc_srt_MinimumMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_srt_MinimumMember" xml:lang="en-US">Minimum [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_srt_MinimumMember" xml:lang="en-US">Minimum</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_MinimumMember" xlink:to="lab_srt_MinimumMember" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ReconciliationOfBasicAndDilutedAbstract" xlink:label="loc_rgen_ReconciliationOfBasicAndDilutedAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_ReconciliationOfBasicAndDilutedAbstract" xml:lang="en-US">Reconciliation of Basic and Diluted [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_ReconciliationOfBasicAndDilutedAbstract" xlink:to="lab_rgen_ReconciliationOfBasicAndDilutedAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_ReconciliationOfBasicAndDilutedAbstract" xml:lang="en-US">Reconciliation of basic and diluted.</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable" xlink:label="loc_rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable" xml:lang="en-US">Schedule Of Earnings Per Share Basic And Diluted [Table]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable" xlink:to="lab_rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable" xml:lang="en-US">Schedule Of Earnings Per Share Basic And Diluted [Table]</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems" xlink:label="loc_rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems" xml:lang="en-US">Schedule Of Earnings Per Share Basic And Diluted [Line Items]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems" xml:lang="en-US">Schedule Of Earnings Per Share Basic And Diluted [Line Items]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems" xlink:to="lab_rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems" xml:lang="en-US">Schedule Of Earnings Per Share Basic And Diluted [Line Items]</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DilutiveSecuritiesAbstract" xlink:label="loc_us-gaap_DilutiveSecuritiesAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DilutiveSecuritiesAbstract" xml:lang="en-US">Dilutive Securities, Effect on Basic Earnings Per Share [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_DilutiveSecuritiesAbstract" xml:lang="en-US">Effect of dilutive shares:</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DilutiveSecuritiesAbstract" xlink:to="lab_us-gaap_DilutiveSecuritiesAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesRestrictedStock" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesRestrictedStock" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesRestrictedStock" xml:lang="en-US">Weighted Average Number of Shares, Restricted Stock</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesRestrictedStock" xml:lang="en-US">Options and stock units</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesRestrictedStock" xlink:to="lab_us-gaap_WeightedAverageNumberOfSharesRestrictedStock" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:label="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xml:lang="en-US">Weighted Average Number Diluted Shares Outstanding Adjustment</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xml:lang="en-US">Dilutive potential common shares</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:to="lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareBasicAndDilutedAbstract" xlink:label="loc_us-gaap_EarningsPerShareBasicAndDilutedAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_EarningsPerShareBasicAndDilutedAbstract" xml:lang="en-US">Earnings Per Share, Basic and Diluted [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/definitionGuidance" xlink:label="lab_us-gaap_EarningsPerShareBasicAndDilutedAbstract" xml:lang="en-US">Earnings per share:</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareBasicAndDilutedAbstract" xlink:to="lab_us-gaap_EarningsPerShareBasicAndDilutedAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:label="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xml:lang="en-US">Revenue from External Customers by Products and Services [Table]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:to="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ChromatographyProductsMember" xlink:label="loc_rgen_ChromatographyProductsMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_ChromatographyProductsMember" xml:lang="en-US">Chromatography Products [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_ChromatographyProductsMember" xlink:to="lab_rgen_ChromatographyProductsMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_ChromatographyProductsMember" xml:lang="en-US">Chromatography Products [Member]</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_FiltrationProductsMember" xlink:label="loc_rgen_FiltrationProductsMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_FiltrationProductsMember" xml:lang="en-US">Filtration Products [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_FiltrationProductsMember" xlink:to="lab_rgen_FiltrationProductsMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_FiltrationProductsMember" xml:lang="en-US">Filtration Products [Member]</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ProcessAnalyticsProductsMember" xlink:label="loc_rgen_ProcessAnalyticsProductsMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_ProcessAnalyticsProductsMember" xml:lang="en-US">Process Analytics Products [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_ProcessAnalyticsProductsMember" xlink:to="lab_rgen_ProcessAnalyticsProductsMember" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ProteinsProductsMember" xlink:label="loc_rgen_ProteinsProductsMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_ProteinsProductsMember" xml:lang="en-US">Proteins Products [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_ProteinsProductsMember" xlink:to="lab_rgen_ProteinsProductsMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_ProteinsProductsMember" xml:lang="en-US">Protein Products [Member]</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_OtherProductsMember" xlink:label="loc_rgen_OtherProductsMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_OtherProductsMember" xml:lang="en-US">Other products [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_OtherProductsMember" xlink:to="lab_rgen_OtherProductsMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_OtherProductsMember" xml:lang="en-US">Other products [Member]</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:label="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xml:lang="en-US">Revenue from External Customer [Line Items]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="lab_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RisksAndUncertaintiesAbstract" xlink:label="loc_us-gaap_RisksAndUncertaintiesAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_RisksAndUncertaintiesAbstract" xml:lang="en-US">Risks and Uncertainties [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RisksAndUncertaintiesAbstract" xlink:to="lab_us-gaap_RisksAndUncertaintiesAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskTable" xlink:label="loc_us-gaap_ConcentrationRiskTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ConcentrationRiskTable" xml:lang="en-US">Concentration Risk [Table]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_ConcentrationRiskTable" xml:lang="en-US">Concentration Risk [Table]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskTable" xlink:to="lab_us-gaap_ConcentrationRiskTable" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srt_StatementGeographicalAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_srt_StatementGeographicalAxis" xml:lang="en-US">Geographical [Axis]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_srt_StatementGeographicalAxis" xml:lang="en-US">Geographical [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_StatementGeographicalAxis" xlink:to="lab_srt_StatementGeographicalAxis" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srt_SegmentGeographicalDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_srt_SegmentGeographicalDomain" xml:lang="en-US">Geographical [Domain]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_srt_SegmentGeographicalDomain" xml:lang="en-US">Geographical [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_SegmentGeographicalDomain" xlink:to="lab_srt_SegmentGeographicalDomain" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_NorthAmericaMember" xlink:label="loc_srt_NorthAmericaMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_srt_NorthAmericaMember" xml:lang="en-US">North America [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_srt_NorthAmericaMember" xml:lang="en-US">North America</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_NorthAmericaMember" xlink:to="lab_srt_NorthAmericaMember" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_EuropeMember" xlink:label="loc_srt_EuropeMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_srt_EuropeMember" xml:lang="en-US">Europe [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_srt_EuropeMember" xml:lang="en-US">Europe</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_EuropeMember" xlink:to="lab_srt_EuropeMember" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_APACOtherMember" xlink:label="loc_rgen_APACOtherMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_APACOtherMember" xml:lang="en-US">A P A C Other [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_rgen_APACOtherMember" xml:lang="en-US">APAC Other [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_APACOtherMember" xlink:to="lab_rgen_APACOtherMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_APACOtherMember" xml:lang="en-US">APAC/Other</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="loc_us-gaap_ConcentrationRiskLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ConcentrationRiskLineItems" xml:lang="en-US">Concentration Risk [Line Items]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_ConcentrationRiskLineItems" xml:lang="en-US">Concentration Risk [Line Items]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskLineItems" xlink:to="lab_us-gaap_ConcentrationRiskLineItems" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GeographicConcentrationRiskMember" xlink:label="loc_us-gaap_GeographicConcentrationRiskMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_GeographicConcentrationRiskMember" xml:lang="en-US">Geographic Concentration Risk [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GeographicConcentrationRiskMember" xlink:to="lab_us-gaap_GeographicConcentrationRiskMember" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" xlink:label="loc_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" xml:lang="en-US">Reconciliation of Assets from Segment to Consolidated [Table]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" xml:lang="en-US">Reconciliation of Assets from Segment to Consolidated [Table]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" xlink:to="lab_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SegmentReportingAssetReconcilingItemLineItems" xlink:label="loc_us-gaap_SegmentReportingAssetReconcilingItemLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_SegmentReportingAssetReconcilingItemLineItems" xml:lang="en-US">Segment Reporting, Asset Reconciling Item [Line Items]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_SegmentReportingAssetReconcilingItemLineItems" xml:lang="en-US">Segment Reporting, Asset Reconciling Item [Line Items]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentReportingAssetReconcilingItemLineItems" xlink:to="lab_us-gaap_SegmentReportingAssetReconcilingItemLineItems" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_APACMember" xlink:label="loc_rgen_APACMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_APACMember" xml:lang="en-US">APAC [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_APACMember" xml:lang="en-US">APAC</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_APACMember" xlink:to="lab_rgen_APACMember" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SegmentReportingAbstract" xlink:label="loc_us-gaap_SegmentReportingAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_SegmentReportingAbstract" xml:lang="en-US">Segment Reporting [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentReportingAbstract" xlink:to="lab_us-gaap_SegmentReportingAbstract" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_AssetsNonCurrentExcludingDifferedTaxAssets" xlink:label="loc_rgen_AssetsNonCurrentExcludingDifferedTaxAssets" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_AssetsNonCurrentExcludingDifferedTaxAssets" xml:lang="en-US">Assets Non current Excluding Differed Tax Assets</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_AssetsNonCurrentExcludingDifferedTaxAssets" xml:lang="en-US">Long Lived Assets</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_AssetsNonCurrentExcludingDifferedTaxAssets" xlink:to="lab_rgen_AssetsNonCurrentExcludingDifferedTaxAssets" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_AssetsNonCurrentExcludingDifferedTaxAssets" xml:lang="en-US">The amount of total non-current assets excluding deferred tax assets.</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:label="loc_us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xml:lang="en-US">Schedule of Revenue by Major Customers, by Reporting Segments [Table]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xml:lang="en-US">Schedule of Revenue by Major Customers, by Reporting Segments [Table]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:to="lab_us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EntityWideRevenueMajorCustomerLineItems" xlink:label="loc_us-gaap_EntityWideRevenueMajorCustomerLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_EntityWideRevenueMajorCustomerLineItems" xml:lang="en-US">Revenue, Major Customer [Line Items]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_EntityWideRevenueMajorCustomerLineItems" xml:lang="en-US">Revenue, Major Customer [Line Items]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EntityWideRevenueMajorCustomerLineItems" xlink:to="lab_us-gaap_EntityWideRevenueMajorCustomerLineItems" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_MilliporeSigmaMember" xlink:label="loc_rgen_MilliporeSigmaMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_MilliporeSigmaMember" xml:lang="en-US">Millipore Sigma [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_MilliporeSigmaMember" xml:lang="en-US">MilliporeSigma</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_MilliporeSigmaMember" xlink:to="lab_rgen_MilliporeSigmaMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_MilliporeSigmaMember" xml:lang="en-US">Millipore Sigma.</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SalesRevenueNetMember" xlink:label="loc_us-gaap_SalesRevenueNetMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_SalesRevenueNetMember" xml:lang="en-US">Revenue Benchmark [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_SalesRevenueNetMember" xml:lang="en-US">Sales Revenue</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SalesRevenueNetMember" xlink:to="lab_us-gaap_SalesRevenueNetMember" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationsAbstract" xlink:label="loc_us-gaap_BusinessCombinationsAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_BusinessCombinationsAbstract" xml:lang="en-US">Business Combinations [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationsAbstract" xlink:to="lab_us-gaap_BusinessCombinationsAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xml:lang="en-US">Schedule of Business Acquisitions, by Acquisition [Table]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xml:lang="en-US">Schedule of Business Acquisitions, by Acquisition [Table]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_BusinessAcquisitionLineItems" xml:lang="en-US">Business Acquisition [Line Items]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_BusinessAcquisitionLineItems" xml:lang="en-US">Business Acquisition [Line Items]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems" xlink:to="lab_us-gaap_BusinessAcquisitionLineItems" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:label="loc_us-gaap_BusinessCombinationAcquisitionRelatedCosts" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_BusinessCombinationAcquisitionRelatedCosts" xml:lang="en-US">Business Combination, Acquisition Related Costs</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_BusinessCombinationAcquisitionRelatedCosts" xml:lang="en-US">Business Combination, Acquisition Related Costs</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:to="lab_us-gaap_BusinessCombinationAcquisitionRelatedCosts" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferred1" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_BusinessCombinationConsiderationTransferred1" xml:lang="en-US">Business Combination, Consideration Transferred</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_BusinessCombinationConsiderationTransferred1" xml:lang="en-US">Business combination, consideration transferred</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_BusinessCombinationConsiderationTransferred1" xml:lang="en-US">Fair value of net assets acquired</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationConsiderationTransferred1" xlink:to="lab_us-gaap_BusinessCombinationConsiderationTransferred1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xml:lang="en-US">Business Combination, Consideration Transferred, Equity Interests Issued and Issuable</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xml:lang="en-US">Value of common stock issued</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xml:lang="en-US">Equity consideration</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:to="lab_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Intangible Assets, Other than Goodwill</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/positiveLabel" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xml:lang="en-US">Fair value of acquired finite lived intangible assets</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xml:lang="en-US">Business combination, intangible assets</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual" xlink:label="loc_us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual" xml:lang="en-US">Business Combination, Pro Forma Information, Revenue of Acquiree since Acquisition Date, Actual</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual" xml:lang="en-US">Business acquisition, revenue</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual" xlink:to="lab_us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue" xlink:label="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue" xml:lang="en-US">Acquired Finite-lived Intangible Asset, Residual Value</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue" xml:lang="en-US">Intangible Asset Residual Value</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue" xlink:to="lab_us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:label="loc_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xml:lang="en-US">Business Acquisition, Pro Forma Net Income (Loss)</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xml:lang="en-US">Business acquisitions proforma net loss</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xml:lang="en-US">Net income</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:to="lab_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets" xlink:label="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Tangible Assets</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets" xml:lang="en-US">Fair value of tangible assets acquired</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets" xlink:to="lab_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Tangible Assets</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" xlink:label="loc_us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" xml:lang="en-US">Business Acquisition, Transaction Costs</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" xml:lang="en-US">Transaction costs</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" xlink:to="lab_us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xml:lang="en-US">Business Combination, Consideration Transferred, Liabilities Incurred</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xml:lang="en-US">Business combination contingent consideration</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xml:lang="en-US">Contingent consideration</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:to="lab_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices" xlink:label="loc_rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices" xml:lang="en-US">Business Combination Separately Recognized Transactions Settlement Of Preexisting Invoices</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices" xml:lang="en-US">Business Combination settlement of preexisting invoices</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices" xml:lang="en-US">Settlement of preexisting liabilities</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices" xlink:to="lab_rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices" xml:lang="en-US">Business combination settlement of preexisting invoices.</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_BusinessCombinationsCashDepositedInEscrowAccount" xlink:label="loc_rgen_BusinessCombinationsCashDepositedInEscrowAccount" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_BusinessCombinationsCashDepositedInEscrowAccount" xml:lang="en-US">Business Combinations Cash Deposited In Escrow Account</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_BusinessCombinationsCashDepositedInEscrowAccount" xml:lang="en-US">Business combinations cash deposited in escrow account</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_BusinessCombinationsCashDepositedInEscrowAccount" xlink:to="lab_rgen_BusinessCombinationsCashDepositedInEscrowAccount" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_BusinessCombinationsCashDepositedInEscrowAccount" xml:lang="en-US">Business combinations cash deposited in escrow account.</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xml:lang="en-US">Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/definitionGuidance" xlink:label="lab_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xml:lang="en-US">Deferred tax liability</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:to="lab_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CompensationExpenseExcludingCostOfGoodAndServiceSold" xlink:label="loc_us-gaap_CompensationExpenseExcludingCostOfGoodAndServiceSold" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CompensationExpenseExcludingCostOfGoodAndServiceSold" xml:lang="en-US">Compensation Expense, Excluding Cost of Good and Service Sold</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CompensationExpenseExcludingCostOfGoodAndServiceSold" xlink:to="lab_us-gaap_CompensationExpenseExcludingCostOfGoodAndServiceSold" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:label="loc_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xml:lang="en-US">Business Acquisition, Percentage of Voting Interests Acquired</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xml:lang="en-US">Business acquisition, voting interest acquired</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:to="lab_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_BusinessCombinationConsiderationIndemnificationEscrow" xlink:label="loc_rgen_BusinessCombinationConsiderationIndemnificationEscrow" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_BusinessCombinationConsiderationIndemnificationEscrow" xml:lang="en-US">Business Combination Consideration Indemnification Escrow</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_BusinessCombinationConsiderationIndemnificationEscrow" xml:lang="en-US">Business acquisition, Indemnification escrow</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_BusinessCombinationConsiderationIndemnificationEscrow" xlink:to="lab_rgen_BusinessCombinationConsiderationIndemnificationEscrow" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_BusinessCombinationConsiderationIndemnificationEscrow" xml:lang="en-US">Business Combination Consideration Indemnification Escrow</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesGross" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesGross" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PaymentsToAcquireBusinessesGross" xml:lang="en-US">Cash consideration</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_PaymentsToAcquireBusinessesGross" xml:lang="en-US">Cash consideration</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquireBusinessesGross" xlink:to="lab_us-gaap_PaymentsToAcquireBusinessesGross" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xml:lang="en-US">Finite-Lived Intangible Assets, Major Class Name [Domain]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xml:lang="en-US">Finite-Lived Intangible Assets, Major Class Name [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="loc_us-gaap_IncomeStatementLocationAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncomeStatementLocationAxis" xml:lang="en-US">Income Statement Location [Axis]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_IncomeStatementLocationAxis" xml:lang="en-US">Income Statement Location [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementLocationAxis" xlink:to="lab_us-gaap_IncomeStatementLocationAxis" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaap_IncomeStatementLocationDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncomeStatementLocationDomain" xml:lang="en-US">Income Statement Location [Domain]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_IncomeStatementLocationDomain" xml:lang="en-US">Income Statement Location [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementLocationDomain" xlink:to="lab_us-gaap_IncomeStatementLocationDomain" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xml:lang="en-US">Selling, General and Administrative Expenses [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xml:lang="en-US">Selling, general and administrative</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/definitionGuidance" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xml:lang="en-US">Selling, general and administrative</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:to="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ContingentConsiderationByTypeAxis" xlink:label="loc_us-gaap_ContingentConsiderationByTypeAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ContingentConsiderationByTypeAxis" xml:lang="en-US">Contingent Consideration by Type [Axis]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ContingentConsiderationByTypeAxis" xml:lang="en-US">Contingent Consideration by Type [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContingentConsiderationByTypeAxis" xlink:to="lab_us-gaap_ContingentConsiderationByTypeAxis" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ContingentConsiderationTypeDomain" xlink:label="loc_us-gaap_ContingentConsiderationTypeDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ContingentConsiderationTypeDomain" xml:lang="en-US">Contingent Consideration Type [Domain]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ContingentConsiderationTypeDomain" xml:lang="en-US">Contingent Consideration Type [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContingentConsiderationTypeDomain" xlink:to="lab_us-gaap_ContingentConsiderationTypeDomain" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueByAssetClassAxis" xlink:label="loc_us-gaap_FairValueByAssetClassAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_FairValueByAssetClassAxis" xml:lang="en-US">Asset Class [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueByAssetClassAxis" xlink:to="lab_us-gaap_FairValueByAssetClassAxis" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:label="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xml:lang="en-US">Asset Class [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:to="lab_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GoodwillMember" xlink:label="loc_us-gaap_GoodwillMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_GoodwillMember" xml:lang="en-US">Goodwill [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_GoodwillMember" xml:lang="en-US">Goodwill [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillMember" xlink:to="lab_us-gaap_GoodwillMember" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NonrecurringAdjustmentAxis" xlink:label="loc_us-gaap_NonrecurringAdjustmentAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_NonrecurringAdjustmentAxis" xml:lang="en-US">Nonrecurring Adjustment [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NonrecurringAdjustmentAxis" xlink:to="lab_us-gaap_NonrecurringAdjustmentAxis" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NonrecurringAdjustmentDomain" xlink:label="loc_us-gaap_NonrecurringAdjustmentDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_NonrecurringAdjustmentDomain" xml:lang="en-US">Nonrecurring Adjustment [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NonrecurringAdjustmentDomain" xlink:to="lab_us-gaap_NonrecurringAdjustmentDomain" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TrustForBenefitOfEmployeesMember" xlink:label="loc_us-gaap_TrustForBenefitOfEmployeesMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_TrustForBenefitOfEmployeesMember" xml:lang="en-US">Trust for Benefit of Employees [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_TrustForBenefitOfEmployeesMember" xml:lang="en-US">Employees</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TrustForBenefitOfEmployeesMember" xlink:to="lab_us-gaap_TrustForBenefitOfEmployeesMember" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_CashConsiderationExcludingRestrictedCash" xlink:label="loc_rgen_CashConsiderationExcludingRestrictedCash" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_CashConsiderationExcludingRestrictedCash" xml:lang="en-US">Cash Consideration Excluding Restricted Cash</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_CashConsiderationExcludingRestrictedCash" xml:lang="en-US">Cash consideration</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_CashConsiderationExcludingRestrictedCash" xlink:to="lab_rgen_CashConsiderationExcludingRestrictedCash" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_CashConsiderationExcludingRestrictedCash" xml:lang="en-US">Cash consideration excluding restricted cash.</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xml:lang="en-US">Cash and cash equivalents</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRestrictedCash" xlink:label="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRestrictedCash" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRestrictedCash" xml:lang="en-US">Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Restricted Cash</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRestrictedCash" xml:lang="en-US">Restricted cash</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRestrictedCash" xlink:to="lab_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRestrictedCash" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRestrictedCash" xml:lang="en-US">Amount of restricted cash, acquired at the acquisition date.</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" xlink:label="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" xml:lang="en-US">Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Lease Right Of Use Asset</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" xml:lang="en-US">Operating lease right of use asset</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" xlink:to="lab_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" xml:lang="en-US">Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Lease Right Of Use Asset.</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent" xlink:label="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent" xml:lang="en-US">Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Lease Liability Non Current</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent" xml:lang="en-US">Operating lease liability, long-term</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent" xlink:to="lab_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent" xml:lang="en-US">Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Lease Liability Non Current.</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Prepaid Expense and Other Assets</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xml:lang="en-US">Prepaid expenses and other current assets</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Receivables</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xml:lang="en-US">Accounts receivable</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Accounts Payable</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xml:lang="en-US">Accounts payable</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" xlink:label="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" xml:lang="en-US">Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Current Liabilities Accrued Liabilities</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" xml:lang="en-US">Accrued liabilities</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" xlink:to="lab_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" xml:lang="en-US">Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Current Liabilities Accrued Liabilities</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xml:lang="en-US">Property and equipment</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent" xlink:label="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent" xml:lang="en-US">Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Lease Liability Current</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent" xml:lang="en-US">Operating lease liability</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent" xlink:to="lab_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent" xml:lang="en-US">Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Lease Liability Current.</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityCurrent" xlink:label="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityCurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityCurrent" xml:lang="en-US">Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Deferred Tax Liability Current</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityCurrent" xml:lang="en-US">Deferred revenue</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityCurrent" xlink:to="lab_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityCurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityCurrent" xml:lang="en-US">Business combination recognized identifiable assets acquired and liabilities assumed deferred tax liability current.</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesNotesPayable" xlink:label="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesNotesPayable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesNotesPayable" xml:lang="en-US">Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Current Liabilities Notes Payable</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesNotesPayable" xml:lang="en-US">Notes payable</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesNotesPayable" xlink:to="lab_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesNotesPayable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesNotesPayable" xml:lang="en-US">Business combination recognized identifiable assets acquired and liabilities assumed current liabilities notes payable.</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedBonus" xlink:label="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedBonus" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedBonus" xml:lang="en-US">Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Accrued Bonus</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedBonus" xml:lang="en-US">Accrued bonus</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedBonus" xlink:to="lab_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedBonus" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedBonus" xml:lang="en-US">Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Accrued Bonus.</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" xml:lang="en-US">Other noncurrent assets</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilitiesCurrent" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilitiesCurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilitiesCurrent" xml:lang="en-US">Deferred tax liabilities ,net</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilitiesCurrent" xml:lang="en-US">Deferred tax liabilities ,net</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilitiesCurrent" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilitiesCurrent" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets" xml:lang="en-US">Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed, Deferred Tax Assets</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets" xml:lang="en-US">Deferred tax</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Inventory</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xml:lang="en-US">Inventory</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired, Goodwill, and Liabilities Assumed, Net</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xml:lang="en-US">Fair value of net assets acquired</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="loc_us-gaap_NoncompeteAgreementsMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_NoncompeteAgreementsMember" xml:lang="en-US">Noncompete Agreements [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_NoncompeteAgreementsMember" xml:lang="en-US">Non-compete agreements</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NoncompeteAgreementsMember" xlink:to="lab_us-gaap_NoncompeteAgreementsMember" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TrademarksAndTradeNamesMember" xlink:label="loc_us-gaap_TrademarksAndTradeNamesMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_TrademarksAndTradeNamesMember" xml:lang="en-US">Trademarks and Trade Names [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_TrademarksAndTradeNamesMember" xml:lang="en-US">Trademark and tradename</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TrademarksAndTradeNamesMember" xlink:to="lab_us-gaap_TrademarksAndTradeNamesMember" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="loc_us-gaap_CustomerRelationshipsMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CustomerRelationshipsMember" xml:lang="en-US">Customer Relationships [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_CustomerRelationshipsMember" xml:lang="en-US">Customer relationships</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CustomerRelationshipsMember" xlink:to="lab_us-gaap_CustomerRelationshipsMember" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="loc_us-gaap_DevelopedTechnologyRightsMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DevelopedTechnologyRightsMember" xml:lang="en-US">Developed Technology Rights [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_DevelopedTechnologyRightsMember" xml:lang="en-US">Developed technology</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DevelopedTechnologyRightsMember" xml:lang="en-US">Technology&#8212;developed</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DevelopedTechnologyRightsMember" xlink:to="lab_us-gaap_DevelopedTechnologyRightsMember" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:label="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xml:lang="en-US">Acquired Finite-lived Intangible Assets, Weighted Average Useful Life</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xml:lang="en-US">Weighted Average Useful Life (in years)</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:to="lab_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Finite-Lived Intangibles</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xml:lang="en-US">Fair Value</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TradeNamesMember" xlink:label="loc_us-gaap_TradeNamesMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_TradeNamesMember" xml:lang="en-US">Trade Names [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_TradeNamesMember" xml:lang="en-US">Trademark and tradename [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TradeNamesMember" xlink:to="lab_us-gaap_TradeNamesMember" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:label="loc_us-gaap_BusinessAcquisitionsProFormaRevenue" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_BusinessAcquisitionsProFormaRevenue" xml:lang="en-US">Business Acquisition, Pro Forma Revenue</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_BusinessAcquisitionsProFormaRevenue" xml:lang="en-US">Total revenue</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:to="lab_us-gaap_BusinessAcquisitionsProFormaRevenue" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic" xlink:label="loc_us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic" xml:lang="en-US">Business Acquisition, Pro Forma Earnings Per Share, Basic</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic" xml:lang="en-US">Basic</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic" xlink:to="lab_us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted" xlink:label="loc_us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted" xml:lang="en-US">Business Acquisition, Pro Forma Earnings Per Share, Diluted</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted" xml:lang="en-US">Diluted</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted" xlink:to="lab_us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiability" xlink:label="loc_us-gaap_OperatingLeaseLiability" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_OperatingLeaseLiability" xml:lang="en-US">Operating Lease, Liability</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/disclosureGuidance" xlink:label="lab_us-gaap_OperatingLeaseLiability" xml:lang="en-US">Operating lease liabilities</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/presentationGuidance" xlink:label="lab_us-gaap_OperatingLeaseLiability" xml:lang="en-US">Total operating lease liabilities</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/definitionGuidance" xlink:label="lab_us-gaap_OperatingLeaseLiability" xml:lang="en-US">Minimum operating lease payments</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiability" xlink:to="lab_us-gaap_OperatingLeaseLiability" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IncreaseDecreaseInRightOfUseAssets" xlink:label="loc_rgen_IncreaseDecreaseInRightOfUseAssets" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_IncreaseDecreaseInRightOfUseAssets" xml:lang="en-US">Increase Decrease In Right Of Use Assets</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_IncreaseDecreaseInRightOfUseAssets" xml:lang="en-US">Increase in right of use asset</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_IncreaseDecreaseInRightOfUseAssets" xlink:to="lab_rgen_IncreaseDecreaseInRightOfUseAssets" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_IncreaseDecreaseInRightOfUseAssets" xml:lang="en-US">Represents Increase Decrease In Right Of Use Assets And Lease Liabilities.</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AreaOfLand" xlink:label="loc_us-gaap_AreaOfLand" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AreaOfLand" xml:lang="en-US">Area of Land</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_AreaOfLand" xml:lang="en-US">Expansion of existing premises</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AreaOfLand" xlink:to="lab_us-gaap_AreaOfLand" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IncreaseDecreaseInOperatingLeaseLiabilities" xlink:label="loc_rgen_IncreaseDecreaseInOperatingLeaseLiabilities" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_IncreaseDecreaseInOperatingLeaseLiabilities" xml:lang="en-US">Increase Decrease In Operating Lease Liabilities</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_IncreaseDecreaseInOperatingLeaseLiabilities" xml:lang="en-US">Increase in operating lease liabilities</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_IncreaseDecreaseInOperatingLeaseLiabilities" xlink:to="lab_rgen_IncreaseDecreaseInOperatingLeaseLiabilities" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_IncreaseDecreaseInOperatingLeaseLiabilities" xml:lang="en-US">Represents Increase Decrease In operating Lease Liabilities.</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertySubjectToOrAvailableForOperatingLeaseAxis" xlink:label="loc_us-gaap_PropertySubjectToOrAvailableForOperatingLeaseAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PropertySubjectToOrAvailableForOperatingLeaseAxis" xml:lang="en-US">Property Subject to or Available for Operating Lease [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertySubjectToOrAvailableForOperatingLeaseAxis" xlink:to="lab_us-gaap_PropertySubjectToOrAvailableForOperatingLeaseAxis" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertySubjectToOrAvailableForOperatingLeaseDomain" xlink:label="loc_us-gaap_PropertySubjectToOrAvailableForOperatingLeaseDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PropertySubjectToOrAvailableForOperatingLeaseDomain" xml:lang="en-US">Property Subject to or Available for Operating Lease [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertySubjectToOrAvailableForOperatingLeaseDomain" xlink:to="lab_us-gaap_PropertySubjectToOrAvailableForOperatingLeaseDomain" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_MarlboroughMassachusettsMember" xlink:label="loc_rgen_MarlboroughMassachusettsMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_MarlboroughMassachusettsMember" xml:lang="en-US">Marlborough Massachusetts [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_MarlboroughMassachusettsMember" xml:lang="en-US">Marlborough Massachusetts [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_MarlboroughMassachusettsMember" xlink:to="lab_rgen_MarlboroughMassachusettsMember" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due Year Three</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xml:lang="en-US">2023</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year One</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xml:lang="en-US">2021</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due Year Two</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xml:lang="en-US">2022</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due Year Four</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xml:lang="en-US">2024</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due Year Five</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xml:lang="en-US">2025</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due after Year Five</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xml:lang="en-US">2026 and thereafter</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xml:lang="en-US">Total future minimum lease payments</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xml:lang="en-US">Lessee, Operating Lease, Liability, Undiscounted Excess Amount</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xml:lang="en-US">Less: amount of lease payment representing interest</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LeaseCost" xlink:label="loc_us-gaap_LeaseCost" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LeaseCost" xml:lang="en-US">Lease, Cost</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_LeaseCost" xml:lang="en-US">Lease, cost</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeaseCost" xlink:to="lab_us-gaap_LeaseCost" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseCost" xlink:label="loc_us-gaap_OperatingLeaseCost" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_OperatingLeaseCost" xml:lang="en-US">Operating Lease, Cost</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_OperatingLeaseCost" xml:lang="en-US">Operating lease cost</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseCost" xlink:to="lab_us-gaap_OperatingLeaseCost" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_VariableOperatingLeaseCost" xlink:label="loc_rgen_VariableOperatingLeaseCost" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_VariableOperatingLeaseCost" xml:lang="en-US">Variable Operating Lease cost</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_VariableOperatingLeaseCost" xml:lang="en-US">Variable operating lease cost</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_VariableOperatingLeaseCost" xlink:to="lab_rgen_VariableOperatingLeaseCost" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_VariableOperatingLeaseCost" xml:lang="en-US">Amount of variable lease cost, excluded from lease liability, recognized when obligation for payment is incurred for operating leases.</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeasePayments" xlink:label="loc_us-gaap_OperatingLeasePayments" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_OperatingLeasePayments" xml:lang="en-US">Operating Lease, Payments</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_us-gaap_OperatingLeasePayments" xml:lang="en-US">Operating lease cost</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeasePayments" xlink:to="lab_us-gaap_OperatingLeasePayments" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xml:lang="en-US">Operating Lease, Weighted Average Remaining Lease Term</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xml:lang="en-US">Weighted average remaining lease term (years)</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xml:lang="en-US">Operating Lease, Weighted Average Discount Rate, Percent</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xml:lang="en-US">Weighted average discount rate</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:to="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DisaggregationOfRevenueTable" xml:lang="en-US">Disaggregation of Revenue [Table]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable" xlink:to="lab_us-gaap_DisaggregationOfRevenueTable" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DisaggregationOfRevenueLineItems" xml:lang="en-US">Disaggregation of Revenue [Line Items]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_DisaggregationOfRevenueLineItems" xml:lang="en-US">Disaggregation of Revenue [Line Items]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems" xlink:to="lab_us-gaap_DisaggregationOfRevenueLineItems" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" xlink:label="loc_us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" xml:lang="en-US">Contract with Customer, Asset and Liability [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" xml:lang="en-US">Balances from contracts with customers only:</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" xlink:to="lab_us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredRevenue" xlink:label="loc_us-gaap_DeferredRevenue" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DeferredRevenue" xml:lang="en-US">Deferred Revenue</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_DeferredRevenue" xml:lang="en-US">Deferred revenue (included in accrued liabilities in the consolidated balance sheets)</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredRevenue" xlink:to="lab_us-gaap_DeferredRevenue" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract" xlink:label="loc_us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract" xml:lang="en-US">Change in Contract with Customer, Asset and Liability [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract" xml:lang="en-US">Revenue recognized during years presented relating to:</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract" xlink:to="lab_us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="loc_us-gaap_ContractWithCustomerLiability" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ContractWithCustomerLiability" xml:lang="en-US">Contract with Customer, Liability</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ContractWithCustomerLiability" xml:lang="en-US">The beginning deferred revenue balance</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerLiability" xlink:to="lab_us-gaap_ContractWithCustomerLiability" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivable" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivable" xml:lang="en-US">Beginning balance</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivable" xml:lang="en-US">Ending balance</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:to="lab_us-gaap_AllowanceForDoubtfulAccountsReceivable" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="loc_us-gaap_ProvisionForDoubtfulAccounts" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ProvisionForDoubtfulAccounts" xml:lang="en-US">Accounts Receivable, Credit Loss Expense (Reversal)</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ProvisionForDoubtfulAccounts" xml:lang="en-US">Current period change for expected credit losses</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProvisionForDoubtfulAccounts" xlink:to="lab_us-gaap_ProvisionForDoubtfulAccounts" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss, Writeoff</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xml:lang="en-US">Current period change for write-offs</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:to="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfGoodwillTable" xlink:label="loc_us-gaap_ScheduleOfGoodwillTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ScheduleOfGoodwillTable" xml:lang="en-US">Schedule of Goodwill [Table]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ScheduleOfGoodwillTable" xml:lang="en-US">Schedule of Goodwill [Table]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable" xlink:to="lab_us-gaap_ScheduleOfGoodwillTable" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GoodwillLineItems" xlink:label="loc_us-gaap_GoodwillLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_GoodwillLineItems" xml:lang="en-US">Goodwill [Line Items]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_GoodwillLineItems" xml:lang="en-US">Goodwill [Line Items]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillLineItems" xlink:to="lab_us-gaap_GoodwillLineItems" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GoodwillAcquiredDuringPeriod" xlink:label="loc_us-gaap_GoodwillAcquiredDuringPeriod" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_GoodwillAcquiredDuringPeriod" xml:lang="en-US">Goodwill, Acquired During Period</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_GoodwillAcquiredDuringPeriod" xml:lang="en-US">Goodwill arising from Acquisition</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillAcquiredDuringPeriod" xlink:to="lab_us-gaap_GoodwillAcquiredDuringPeriod" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:label="loc_us-gaap_GoodwillForeignCurrencyTranslationGainLoss" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xml:lang="en-US">Goodwill, Foreign Currency Translation Gain (Loss)</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xml:lang="en-US">Cumulative translation adjustment</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:to="lab_us-gaap_GoodwillForeignCurrencyTranslationGainLoss" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_SpectrumIncMember" xlink:label="loc_rgen_SpectrumIncMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_SpectrumIncMember" xml:lang="en-US">Spectrum Inc [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_SpectrumIncMember" xml:lang="en-US">Spectrum Inc.</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_SpectrumIncMember" xlink:to="lab_rgen_SpectrumIncMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_SpectrumIncMember" xml:lang="en-US">Spectrum Inc.</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfIntangibleAssetsTable" xlink:label="loc_rgen_ScheduleOfIntangibleAssetsTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_ScheduleOfIntangibleAssetsTable" xml:lang="en-US">Schedule of Intangible Assets [Table]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_ScheduleOfIntangibleAssetsTable" xml:lang="en-US">Schedule of Intangible Assets [Table]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_ScheduleOfIntangibleAssetsTable" xlink:to="lab_rgen_ScheduleOfIntangibleAssetsTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_ScheduleOfIntangibleAssetsTable" xml:lang="en-US">Schedule of Intangible Assets [Table]</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PatentsMember" xlink:label="loc_us-gaap_PatentsMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PatentsMember" xml:lang="en-US">Patents [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_PatentsMember" xml:lang="en-US">Patents</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PatentsMember" xlink:to="lab_us-gaap_PatentsMember" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherIntangibleAssetsMember" xlink:label="loc_us-gaap_OtherIntangibleAssetsMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_OtherIntangibleAssetsMember" xml:lang="en-US">Other Intangible Assets [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_OtherIntangibleAssetsMember" xml:lang="en-US">Other intangibles</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherIntangibleAssetsMember" xlink:to="lab_us-gaap_OtherIntangibleAssetsMember" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TrademarksMember" xlink:label="loc_us-gaap_TrademarksMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_TrademarksMember" xml:lang="en-US">Trademarks [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_TrademarksMember" xml:lang="en-US">Trademark</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/definitionGuidance" xlink:label="lab_us-gaap_TrademarksMember" xml:lang="en-US">Trademark</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TrademarksMember" xlink:to="lab_us-gaap_TrademarksMember" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IntangibleAssetsLineItems" xlink:label="loc_rgen_IntangibleAssetsLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_IntangibleAssetsLineItems" xml:lang="en-US">Intangible Assets [Line Items]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_IntangibleAssetsLineItems" xml:lang="en-US">Intangible Assets [Line Items]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_IntangibleAssetsLineItems" xlink:to="lab_rgen_IntangibleAssetsLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_IntangibleAssetsLineItems" xml:lang="en-US">Intangible Assets [Line Items]</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xml:lang="en-US">Finite-Lived Intangible Assets, Accumulated Amortization</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xml:lang="en-US">Accumulated Amortization</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IntangibleAssetsGrossExcludingGoodwill" xlink:label="loc_us-gaap_IntangibleAssetsGrossExcludingGoodwill" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IntangibleAssetsGrossExcludingGoodwill" xml:lang="en-US">Intangible Assets, Gross (Excluding Goodwill)</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_IntangibleAssetsGrossExcludingGoodwill" xml:lang="en-US">Gross Carrying Value</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IntangibleAssetsGrossExcludingGoodwill" xlink:to="lab_us-gaap_IntangibleAssetsGrossExcludingGoodwill" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsGross" xml:lang="en-US">Finite-Lived Intangible Assets, Gross</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsGross" xml:lang="en-US">Gross Carrying Value</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsGross" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsGross" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife" xml:lang="en-US">Finite-Lived Intangible Asset, Useful Life</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife" xml:lang="en-US">Weighted Average Useful Life (in years)</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsNet" xml:lang="en-US">Finite-Lived Intangible Assets, Net</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsNet" xml:lang="en-US">Net Carrying Value</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsNet" xml:lang="en-US">Total</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsNet" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xml:lang="en-US">Indefinite-lived Intangible Assets (Excluding Goodwill)</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xml:lang="en-US">Gross Carrying Value</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:to="lab_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IndefiniteLivedIntangibleAssetsNet" xlink:label="loc_rgen_IndefiniteLivedIntangibleAssetsNet" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_IndefiniteLivedIntangibleAssetsNet" xml:lang="en-US">Indefinite Lived Intangible Assets Net</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_rgen_IndefiniteLivedIntangibleAssetsNet" xml:lang="en-US">Net Carrying Value</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_IndefiniteLivedIntangibleAssetsNet" xlink:to="lab_rgen_IndefiniteLivedIntangibleAssetsNet" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_IndefiniteLivedIntangibleAssetsNet" xml:lang="en-US">Indefinite Lived Intangible Assets Net</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="loc_rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization" xml:lang="en-US">Indefinite Lived Intangible Assets Accumulated Amortization</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization" xml:lang="en-US">Accumulated Amortization</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="lab_rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization" xml:lang="en-US">Indefinite Lived Intangible Assets Accumulated Amortization</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xml:lang="en-US">Indefinite-lived Intangible Assets [Axis]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xml:lang="en-US">Indefinite-lived Intangible Assets [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="lab_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xml:lang="en-US">Indefinite-lived Intangible Assets, Major Class Name [Domain]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xml:lang="en-US">Indefinite-lived Intangible Assets, Major Class Name [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="lab_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:label="loc_rgen_FiniteLivedIntangibleLiabilitiesLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_FiniteLivedIntangibleLiabilitiesLineItems" xml:lang="en-US">Finite Lived Intangible Liabilities [Line Items]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_rgen_FiniteLivedIntangibleLiabilitiesLineItems" xml:lang="en-US">Finite-Lived Intangible Liabilities [Line Items]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_FiniteLivedIntangibleLiabilitiesLineItems" xml:lang="en-US">Finite-Lived Intangible Liabilities [Line Items]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:to="lab_rgen_FiniteLivedIntangibleLiabilitiesLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_FiniteLivedIntangibleLiabilitiesLineItems" xml:lang="en-US">Finite-Lived Intangible Liabilities [Line Items]</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AmortizationOfIntangibleAssets" xml:lang="en-US">Amortization of Intangible Assets</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_AmortizationOfIntangibleAssets" xml:lang="en-US">Amortization expense</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AmortizationOfIntangibleAssets" xlink:to="lab_us-gaap_AmortizationOfIntangibleAssets" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year One</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xml:lang="en-US">2021</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Year Five</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xml:lang="en-US">2025</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Year Four</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xml:lang="en-US">2024</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Year Three</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xml:lang="en-US">2023</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Year Two</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xml:lang="en-US">2022</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, after Year Five</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xml:lang="en-US">2026 and thereafter</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaap_InventoryDisclosureAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_InventoryDisclosureAbstract" xml:lang="en-US">Inventory Disclosure [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryDisclosureAbstract" xlink:to="lab_us-gaap_InventoryDisclosureAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryCurrentTable" xlink:label="loc_us-gaap_InventoryCurrentTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_InventoryCurrentTable" xml:lang="en-US">Inventory, Current [Table]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_InventoryCurrentTable" xml:lang="en-US">Inventory, Current [Table]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryCurrentTable" xlink:to="lab_us-gaap_InventoryCurrentTable" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryLineItems" xlink:label="loc_us-gaap_InventoryLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_InventoryLineItems" xml:lang="en-US">Inventory [Line Items]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_InventoryLineItems" xml:lang="en-US">Inventory [Line Items]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryLineItems" xlink:to="lab_us-gaap_InventoryLineItems" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="loc_us-gaap_InventoryWorkInProcessNetOfReserves" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_InventoryWorkInProcessNetOfReserves" xml:lang="en-US">Inventory, Work in Process, Net of Reserves</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_InventoryWorkInProcessNetOfReserves" xml:lang="en-US">Work-in-process</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryWorkInProcessNetOfReserves" xlink:to="lab_us-gaap_InventoryWorkInProcessNetOfReserves" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="loc_us-gaap_InventoryFinishedGoodsNetOfReserves" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_InventoryFinishedGoodsNetOfReserves" xml:lang="en-US">Inventory, Finished Goods, Net of Reserves</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_InventoryFinishedGoodsNetOfReserves" xml:lang="en-US">Finished products</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:to="lab_us-gaap_InventoryFinishedGoodsNetOfReserves" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="loc_us-gaap_InventoryRawMaterialsNetOfReserves" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_InventoryRawMaterialsNetOfReserves" xml:lang="en-US">Inventory, Raw Materials, Net of Reserves</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_InventoryRawMaterialsNetOfReserves" xml:lang="en-US">Raw materials</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryRawMaterialsNetOfReserves" xlink:to="lab_us-gaap_InventoryRawMaterialsNetOfReserves" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_UncategorizedAbstract" xlink:label="loc_rgen_UncategorizedAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_UncategorizedAbstract" xml:lang="en-US">Uncategorized [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_UncategorizedAbstract" xlink:to="lab_rgen_UncategorizedAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_UncategorizedAbstract" xml:lang="en-US">Uncategorized [Abstract]</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_PrepaidExpensesAndOtherCurrentAssetsTable" xlink:label="loc_rgen_PrepaidExpensesAndOtherCurrentAssetsTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_PrepaidExpensesAndOtherCurrentAssetsTable" xml:lang="en-US">Prepaid Expenses And Other Current Assets [Table]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_PrepaidExpensesAndOtherCurrentAssetsTable" xml:lang="en-US">Prepaid Expenses And Other Current Assets [Table]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_PrepaidExpensesAndOtherCurrentAssetsTable" xlink:to="lab_rgen_PrepaidExpensesAndOtherCurrentAssetsTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_PrepaidExpensesAndOtherCurrentAssetsTable" xml:lang="en-US">Prepaid Expenses And Other Current Assets [Table]</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems" xlink:label="loc_rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems" xml:lang="en-US">Prepaid Expenses And Other Current Assets [Line Items]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems" xml:lang="en-US">Prepaid Expenses And Other Current Assets [Line Items]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems" xlink:to="lab_rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems" xml:lang="en-US">Prepaid Expenses And Other Current Assets [Line Items]</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherAssetsCurrent" xlink:label="loc_us-gaap_OtherAssetsCurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_OtherAssetsCurrent" xml:lang="en-US">Other Assets, Current</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_OtherAssetsCurrent" xml:lang="en-US">Other</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherAssetsCurrent" xlink:to="lab_us-gaap_OtherAssetsCurrent" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PrepaidInsurance" xlink:label="loc_us-gaap_PrepaidInsurance" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PrepaidInsurance" xml:lang="en-US">Prepaid Insurance</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_PrepaidInsurance" xml:lang="en-US">Prepaid insurance</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PrepaidInsurance" xlink:to="lab_us-gaap_PrepaidInsurance" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_PrepaidServicesAndProfessionalFees" xlink:label="loc_rgen_PrepaidServicesAndProfessionalFees" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_PrepaidServicesAndProfessionalFees" xml:lang="en-US">Prepaid Services and Professional Fees</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_PrepaidServicesAndProfessionalFees" xml:lang="en-US">Equipment maintenance and services</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_PrepaidServicesAndProfessionalFees" xlink:to="lab_rgen_PrepaidServicesAndProfessionalFees" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_PrepaidServicesAndProfessionalFees" xml:lang="en-US">Prepaid Services and Professional Fees</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PrepaidTaxes" xlink:label="loc_us-gaap_PrepaidTaxes" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PrepaidTaxes" xml:lang="en-US">Prepaid Taxes</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_PrepaidTaxes" xml:lang="en-US">Prepaid taxes</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PrepaidTaxes" xlink:to="lab_us-gaap_PrepaidTaxes" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_MachineryAndEquipmentGross" xlink:label="loc_us-gaap_MachineryAndEquipmentGross" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_MachineryAndEquipmentGross" xml:lang="en-US">Machinery and Equipment, Gross</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_MachineryAndEquipmentGross" xml:lang="en-US">Equipment</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MachineryAndEquipmentGross" xlink:to="lab_us-gaap_MachineryAndEquipmentGross" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentGross" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentGross" xml:lang="en-US">Property, Plant and Equipment, Gross</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentGross" xml:lang="en-US">Total property, plant and equipment</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentGross" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentGross" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalizedComputerSoftwareGross" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareGross" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CapitalizedComputerSoftwareGross" xml:lang="en-US">Capitalized Computer Software, Gross</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_CapitalizedComputerSoftwareGross" xml:lang="en-US">Computer hardware and software</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedComputerSoftwareGross" xlink:to="lab_us-gaap_CapitalizedComputerSoftwareGross" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LeaseholdImprovementsGross" xlink:label="loc_us-gaap_LeaseholdImprovementsGross" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LeaseholdImprovementsGross" xml:lang="en-US">Leasehold Improvements, Gross</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_LeaseholdImprovementsGross" xml:lang="en-US">Leasehold improvements</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeaseholdImprovementsGross" xlink:to="lab_us-gaap_LeaseholdImprovementsGross" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Land" xlink:label="loc_us-gaap_Land" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_Land" xml:lang="en-US">Land</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_Land" xml:lang="en-US">Land</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Land" xlink:to="lab_us-gaap_Land" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentOther" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentOther" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentOther" xml:lang="en-US">Property, Plant and Equipment, Other, Gross</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentOther" xml:lang="en-US">Other</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentOther" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentOther" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FurnitureAndFixturesGross" xlink:label="loc_us-gaap_FurnitureAndFixturesGross" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_FurnitureAndFixturesGross" xml:lang="en-US">Furniture and Fixtures, Gross</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_FurnitureAndFixturesGross" xml:lang="en-US">Furniture, fixtures and office equipment</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FurnitureAndFixturesGross" xlink:to="lab_us-gaap_FurnitureAndFixturesGross" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConstructionInProgressGross" xlink:label="loc_us-gaap_ConstructionInProgressGross" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ConstructionInProgressGross" xml:lang="en-US">Construction in Progress, Gross</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ConstructionInProgressGross" xml:lang="en-US">Construction in progress</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConstructionInProgressGross" xlink:to="lab_us-gaap_ConstructionInProgressGross" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BuildingsAndImprovementsGross" xlink:label="loc_us-gaap_BuildingsAndImprovementsGross" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_BuildingsAndImprovementsGross" xml:lang="en-US">Buildings and Improvements, Gross</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_BuildingsAndImprovementsGross" xml:lang="en-US">Buildings</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BuildingsAndImprovementsGross" xlink:to="lab_us-gaap_BuildingsAndImprovementsGross" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xml:lang="en-US">Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xml:lang="en-US">Less - Accumulated depreciation</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_FacilityAxis" xlink:label="loc_rgen_FacilityAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_FacilityAxis" xml:lang="en-US">Facility [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_FacilityAxis" xlink:to="lab_rgen_FacilityAxis" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_FacilityDomain" xlink:label="loc_rgen_FacilityDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_FacilityDomain" xml:lang="en-US">Facility [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_FacilityDomain" xlink:to="lab_rgen_FacilityDomain" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Depreciation" xlink:label="loc_us-gaap_Depreciation" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_Depreciation" xml:lang="en-US">Depreciation</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Depreciation" xlink:to="lab_us-gaap_Depreciation" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_RgenFacilityAxis" xlink:label="loc_rgen_RgenFacilityAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_RgenFacilityAxis" xml:lang="en-US">RGEN Facility [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_RgenFacilityAxis" xlink:to="lab_rgen_RgenFacilityAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_RgenFacilityAxis" xml:lang="en-US">RGEN facility axis</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_RgenFacilityDomain" xlink:label="loc_rgen_RgenFacilityDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_RgenFacilityDomain" xml:lang="en-US">RGEN Facility [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_RgenFacilityDomain" xlink:to="lab_rgen_RgenFacilityDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_RgenFacilityDomain" xml:lang="en-US">RGEN facility domain</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="loc_us-gaap_PayablesAndAccrualsAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PayablesAndAccrualsAbstract" xml:lang="en-US">Payables and Accruals [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract" xlink:to="lab_us-gaap_PayablesAndAccrualsAbstract" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfAccruedLiabilitiesTable" xlink:label="loc_rgen_ScheduleOfAccruedLiabilitiesTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_ScheduleOfAccruedLiabilitiesTable" xml:lang="en-US">Schedule of Accrued Liabilities [Table]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_ScheduleOfAccruedLiabilitiesTable" xml:lang="en-US">Schedule of Accrued Liabilities [Table]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_ScheduleOfAccruedLiabilitiesTable" xlink:to="lab_rgen_ScheduleOfAccruedLiabilitiesTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_ScheduleOfAccruedLiabilitiesTable" xml:lang="en-US">Schedule of Accrued Liabilities [Table]</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfAccruedLiabilitiesLineItems" xlink:label="loc_rgen_ScheduleOfAccruedLiabilitiesLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_ScheduleOfAccruedLiabilitiesLineItems" xml:lang="en-US">Schedule of Accrued Liabilities [Line Items]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_ScheduleOfAccruedLiabilitiesLineItems" xml:lang="en-US">Schedule of Accrued Liabilities [Line Items]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_ScheduleOfAccruedLiabilitiesLineItems" xlink:to="lab_rgen_ScheduleOfAccruedLiabilitiesLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_ScheduleOfAccruedLiabilitiesLineItems" xml:lang="en-US">Schedule of Accrued Liabilities [Line Items]</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="loc_us-gaap_AccruedIncomeTaxesCurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AccruedIncomeTaxesCurrent" xml:lang="en-US">Accrued Income Taxes, Current</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_AccruedIncomeTaxesCurrent" xml:lang="en-US">Taxes</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedIncomeTaxesCurrent" xlink:to="lab_us-gaap_AccruedIncomeTaxesCurrent" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedProfessionalFeesCurrent" xlink:label="loc_us-gaap_AccruedProfessionalFeesCurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AccruedProfessionalFeesCurrent" xml:lang="en-US">Accrued Professional Fees, Current</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_AccruedProfessionalFeesCurrent" xml:lang="en-US">Professional fees</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedProfessionalFeesCurrent" xlink:to="lab_us-gaap_AccruedProfessionalFeesCurrent" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredRevenueCurrent" xlink:label="loc_us-gaap_DeferredRevenueCurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DeferredRevenueCurrent" xml:lang="en-US">Deferred Revenue, Current</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DeferredRevenueCurrent" xml:lang="en-US">Deferred revenue</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredRevenueCurrent" xlink:to="lab_us-gaap_DeferredRevenueCurrent" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedRoyaltiesCurrent" xlink:label="loc_us-gaap_AccruedRoyaltiesCurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AccruedRoyaltiesCurrent" xml:lang="en-US">Accrued Royalties, Current</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_AccruedRoyaltiesCurrent" xml:lang="en-US">Royalty and license fees</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedRoyaltiesCurrent" xlink:to="lab_us-gaap_AccruedRoyaltiesCurrent" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_EmployeeRelatedLiabilitiesCurrent" xml:lang="en-US">Employee-related Liabilities, Current</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_EmployeeRelatedLiabilitiesCurrent" xml:lang="en-US">Employee compensation</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:to="lab_us-gaap_EmployeeRelatedLiabilitiesCurrent" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="loc_us-gaap_OtherAccruedLiabilitiesCurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_OtherAccruedLiabilitiesCurrent" xml:lang="en-US">Other Accrued Liabilities, Current</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_OtherAccruedLiabilitiesCurrent" xml:lang="en-US">Other</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherAccruedLiabilitiesCurrent" xlink:to="lab_us-gaap_OtherAccruedLiabilitiesCurrent" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:label="loc_us-gaap_ProductWarrantyAccrualClassifiedCurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ProductWarrantyAccrualClassifiedCurrent" xml:lang="en-US">Product Warranty Accrual, Current</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_ProductWarrantyAccrualClassifiedCurrent" xml:lang="en-US">Warranties</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:to="lab_us-gaap_ProductWarrantyAccrualClassifiedCurrent" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfIncomeBeforeIncomeTaxTable" xlink:label="loc_rgen_ScheduleOfIncomeBeforeIncomeTaxTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_ScheduleOfIncomeBeforeIncomeTaxTable" xml:lang="en-US">Schedule of Income Before Income Tax [Table]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_ScheduleOfIncomeBeforeIncomeTaxTable" xml:lang="en-US">Schedule of Income Before Income Tax [Table]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_ScheduleOfIncomeBeforeIncomeTaxTable" xlink:to="lab_rgen_ScheduleOfIncomeBeforeIncomeTaxTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_ScheduleOfIncomeBeforeIncomeTaxTable" xml:lang="en-US">Schedule of Income Before Income Tax [Table]</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems" xlink:label="loc_rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems" xml:lang="en-US">Schedule of Income Before Income Tax [Line Items]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems" xml:lang="en-US">Schedule of Income Before Income Tax [Line Items]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems" xlink:to="lab_rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems" xml:lang="en-US">Schedule of Income Before Income Tax [Line Items]</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xml:lang="en-US">Income (Loss) from Continuing Operations before Income Taxes, Domestic</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xml:lang="en-US">Domestic</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:to="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xml:lang="en-US">Income (Loss) from Continuing Operations before Income Taxes, Foreign</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xml:lang="en-US">Foreign</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:to="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IncomeTaxesTable" xlink:label="loc_rgen_IncomeTaxesTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_IncomeTaxesTable" xml:lang="en-US">Income Taxes [Table]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_IncomeTaxesTable" xml:lang="en-US">Income Taxes [Table]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_IncomeTaxesTable" xlink:to="lab_rgen_IncomeTaxesTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_IncomeTaxesTable" xml:lang="en-US">Income Taxes [Table]</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IncomeTaxesLineItems" xlink:label="loc_rgen_IncomeTaxesLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_IncomeTaxesLineItems" xml:lang="en-US">Income Taxes [Line Items]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_IncomeTaxesLineItems" xml:lang="en-US">Income Taxes [Line Items]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_IncomeTaxesLineItems" xlink:to="lab_rgen_IncomeTaxesLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_IncomeTaxesLineItems" xml:lang="en-US">Income Taxes [Line Items]</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_CurrentIncomeTaxExpenseBenefit" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CurrentIncomeTaxExpenseBenefit" xml:lang="en-US">Current Income Tax Expense (Benefit)</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_CurrentIncomeTaxExpenseBenefit" xml:lang="en-US">Current</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:to="lab_us-gaap_CurrentIncomeTaxExpenseBenefit" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions" xlink:label="loc_us-gaap_IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions" xml:lang="en-US">Income Tax Effects Allocated Directly to Equity, Equity Transactions</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions" xml:lang="en-US">Equity</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions" xlink:to="lab_us-gaap_IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ProvisionForDeferredIncomeTaxExpenseBenefit" xlink:label="loc_rgen_ProvisionForDeferredIncomeTaxExpenseBenefit" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_ProvisionForDeferredIncomeTaxExpenseBenefit" xml:lang="en-US">Provision for Deferred Income Tax Expense (Benefit)</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_ProvisionForDeferredIncomeTaxExpenseBenefit" xml:lang="en-US">Deferred</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_ProvisionForDeferredIncomeTaxExpenseBenefit" xlink:to="lab_rgen_ProvisionForDeferredIncomeTaxExpenseBenefit" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_ProvisionForDeferredIncomeTaxExpenseBenefit" xml:lang="en-US">Provision for Deferred Income Tax Expense (Benefit)</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations" xlink:label="loc_us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations" xml:lang="en-US">Federal Income Tax Expense (Benefit), Continuing Operations</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations" xml:lang="en-US">Federal</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations" xlink:to="lab_us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations" xlink:label="loc_us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations" xml:lang="en-US">Foreign Income Tax Expense (Benefit), Continuing Operations</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations" xml:lang="en-US">Foreign</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations" xlink:to="lab_us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations" xlink:label="loc_us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations" xml:lang="en-US">State and Local Income Tax Expense (Benefit), Continuing Operations</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations" xml:lang="en-US">State</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations" xlink:to="lab_us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DomesticCountryMember" xlink:label="loc_us-gaap_DomesticCountryMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DomesticCountryMember" xml:lang="en-US">Domestic Tax Authority [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DomesticCountryMember" xml:lang="en-US">Domestic Tax Authority</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DomesticCountryMember" xlink:to="lab_us-gaap_DomesticCountryMember" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_FederalAndStateMember" xlink:label="loc_rgen_FederalAndStateMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_FederalAndStateMember" xml:lang="en-US">Federal and State [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_FederalAndStateMember" xml:lang="en-US">Federal and State</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_FederalAndStateMember" xlink:to="lab_rgen_FederalAndStateMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_FederalAndStateMember" xml:lang="en-US">Federal and State [Member]</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StateAndLocalJurisdictionMember" xlink:label="loc_us-gaap_StateAndLocalJurisdictionMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_StateAndLocalJurisdictionMember" xml:lang="en-US">State and Local Jurisdiction [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_StateAndLocalJurisdictionMember" xml:lang="en-US">State</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StateAndLocalJurisdictionMember" xlink:to="lab_us-gaap_StateAndLocalJurisdictionMember" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TaxPeriodAxis" xlink:label="loc_us-gaap_TaxPeriodAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_TaxPeriodAxis" xml:lang="en-US">Tax Period [Axis]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_TaxPeriodAxis" xml:lang="en-US">Tax Period [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TaxPeriodAxis" xlink:to="lab_us-gaap_TaxPeriodAxis" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TaxPeriodDomain" xlink:label="loc_us-gaap_TaxPeriodDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_TaxPeriodDomain" xml:lang="en-US">Tax Period [Domain]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_TaxPeriodDomain" xml:lang="en-US">Tax Period [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TaxPeriodDomain" xlink:to="lab_us-gaap_TaxPeriodDomain" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LatestTaxYearMember" xlink:label="loc_us-gaap_LatestTaxYearMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LatestTaxYearMember" xml:lang="en-US">Latest Tax Year [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_LatestTaxYearMember" xml:lang="en-US">Latest Tax Year</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LatestTaxYearMember" xlink:to="lab_us-gaap_LatestTaxYearMember" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_TaxYear2040Member" xlink:label="loc_rgen_TaxYear2040Member" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_TaxYear2040Member" xml:lang="en-US">Tax Year 2040 [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_TaxYear2040Member" xml:lang="en-US">Tax Year 2040</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_TaxYear2040Member" xlink:to="lab_rgen_TaxYear2040Member" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_TaxYear2040Member" xml:lang="en-US">Tax Year 2040.</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TaxCreditCarryforwardAmount" xlink:label="loc_us-gaap_TaxCreditCarryforwardAmount" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_TaxCreditCarryforwardAmount" xml:lang="en-US">Tax Credit Carryforward, Amount</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_TaxCreditCarryforwardAmount" xml:lang="en-US">Business tax credits carry forwards</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TaxCreditCarryforwardAmount" xlink:to="lab_us-gaap_TaxCreditCarryforwardAmount" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xml:lang="en-US">Unrecognized Tax Benefits that Would Impact Effective Tax Rate</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xml:lang="en-US">Impact of unrecognized tax benefits on effective tax rate</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:to="lab_us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ForeignEarningsSubjectToOneTimeTransitionTax" xlink:label="loc_rgen_ForeignEarningsSubjectToOneTimeTransitionTax" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_ForeignEarningsSubjectToOneTimeTransitionTax" xml:lang="en-US">Foreign Earnings Subject To One Time Transition Tax</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_ForeignEarningsSubjectToOneTimeTransitionTax" xml:lang="en-US">Foreign earnings subject to one time transition tax</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_ForeignEarningsSubjectToOneTimeTransitionTax" xlink:to="lab_rgen_ForeignEarningsSubjectToOneTimeTransitionTax" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_ForeignEarningsSubjectToOneTimeTransitionTax" xml:lang="en-US">Foreign Earnings Subject To One Time Transition Tax</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:label="loc_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xml:lang="en-US">Valuation Allowance, Deferred Tax Asset, Increase (Decrease), Amount</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xml:lang="en-US">Valuation allowance increase (decrease)</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:to="lab_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="loc_us-gaap_OperatingLossCarryforwards" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_OperatingLossCarryforwards" xml:lang="en-US">Operating Loss Carryforwards</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_OperatingLossCarryforwards" xml:lang="en-US">Net operating loss carry forwards</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLossCarryforwards" xlink:to="lab_us-gaap_OperatingLossCarryforwards" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherInformationPertainingToIncomeTaxes" xlink:label="loc_us-gaap_OtherInformationPertainingToIncomeTaxes" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_OtherInformationPertainingToIncomeTaxes" xml:lang="en-US">Other Information Pertaining to Income Taxes</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_OtherInformationPertainingToIncomeTaxes" xml:lang="en-US">Net operating loss and business tax credit carry forwards expiration date</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherInformationPertainingToIncomeTaxes" xlink:to="lab_us-gaap_OtherInformationPertainingToIncomeTaxes" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_UndistributedEarningsOfForeignSubsidiaries" xlink:label="loc_us-gaap_UndistributedEarningsOfForeignSubsidiaries" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_UndistributedEarningsOfForeignSubsidiaries" xml:lang="en-US">Undistributed Earnings of Foreign Subsidiaries</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_UndistributedEarningsOfForeignSubsidiaries" xml:lang="en-US">Undistributed earnings of foreign subsidiaries</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UndistributedEarningsOfForeignSubsidiaries" xlink:to="lab_us-gaap_UndistributedEarningsOfForeignSubsidiaries" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense" xml:lang="en-US">Unrecognized Tax Benefits, Income Tax Penalties and Interest Expense</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense" xml:lang="en-US">Interest and penalties related to income taxes</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense" xlink:to="lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xml:lang="en-US">Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xml:lang="en-US">Interest and penalties accrued</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:to="lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_CoronavirusAidReliefAndEconomicSecurityFundValue" xlink:label="loc_rgen_CoronavirusAidReliefAndEconomicSecurityFundValue" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_CoronavirusAidReliefAndEconomicSecurityFundValue" xml:lang="en-US">Coronavirus Aid Relief and Economic Security Fund Value</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_CoronavirusAidReliefAndEconomicSecurityFundValue" xml:lang="en-US">Coronavirus aid relief and economic security fund value</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_CoronavirusAidReliefAndEconomicSecurityFundValue" xlink:to="lab_rgen_CoronavirusAidReliefAndEconomicSecurityFundValue" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_CoronavirusAidReliefAndEconomicSecurityFundValue" xml:lang="en-US">Coronavirus Aid Relief and Economic Security Fund Value.</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountingStandardsUpdate201606Member" xlink:label="loc_us-gaap_AccountingStandardsUpdate201606Member" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AccountingStandardsUpdate201606Member" xml:lang="en-US">Accounting Standards Update 2016-06 [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountingStandardsUpdate201606Member" xlink:to="lab_us-gaap_AccountingStandardsUpdate201606Member" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherAssetsMember" xlink:label="loc_us-gaap_OtherAssetsMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_OtherAssetsMember" xml:lang="en-US">Other Assets [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherAssetsMember" xlink:to="lab_us-gaap_OtherAssetsMember" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_DeferredTaxLiablitiesMember" xlink:label="loc_rgen_DeferredTaxLiablitiesMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_DeferredTaxLiablitiesMember" xml:lang="en-US">Deferred tax liablities [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_DeferredTaxLiablitiesMember" xlink:to="lab_rgen_DeferredTaxLiablitiesMember" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_AccumulatedDeficitMember" xlink:label="loc_rgen_AccumulatedDeficitMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_AccumulatedDeficitMember" xml:lang="en-US">accumulated deficit [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_AccumulatedDeficitMember" xlink:to="lab_rgen_AccumulatedDeficitMember" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable" xlink:label="loc_rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable" xml:lang="en-US">Schedule of Deferred Tax Assets and Liabilities [Table]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable" xml:lang="en-US">Schedule of Deferred Tax Assets and Liabilities [Table]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable" xlink:to="lab_rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable" xml:lang="en-US">Schedule of Deferred Tax Assets and Liabilities [Table]</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems" xlink:label="loc_rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems" xml:lang="en-US">Schedule of Deferred Tax Assets and Liabilities [Line Items]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems" xml:lang="en-US">Schedule of Deferred Tax Assets and Liabilities [Line Items]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems" xlink:to="lab_rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems" xml:lang="en-US">Schedule of Deferred Tax Assets and Liabilities [Line Items]</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsNetAbstract" xlink:label="loc_us-gaap_DeferredTaxAssetsNetAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DeferredTaxAssetsNetAbstract" xml:lang="en-US">Deferred Tax Assets, Net [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DeferredTaxAssetsNetAbstract" xml:lang="en-US">Deferred tax assets:</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="lab_us-gaap_DeferredTaxAssetsNetAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xml:lang="en-US">Deferred Tax Assets, Operating Loss Carryforwards</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xml:lang="en-US">Net operating loss carryforwards</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:to="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseAbstract" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseAbstract" xml:lang="en-US">Deferred Tax Assets, Tax Deferred Expense [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseAbstract" xml:lang="en-US">Temporary timing differences:</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseAbstract" xlink:to="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpense" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpense" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpense" xml:lang="en-US">Deferred Tax Assets, Tax Deferred Expense</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpense" xml:lang="en-US">Total temporary timing differences</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpense" xlink:to="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpense" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xml:lang="en-US">Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-based Compensation Cost</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xml:lang="en-US">Stock-based compensation expense</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:to="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther" xml:lang="en-US">Deferred Tax Assets, Tax Deferred Expense, Other</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther" xml:lang="en-US">Other</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther" xlink:to="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_DeferredTaxAssetsOperatingLeases" xlink:label="loc_rgen_DeferredTaxAssetsOperatingLeases" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_DeferredTaxAssetsOperatingLeases" xml:lang="en-US">Deferred Tax Assets Operating Leases</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_DeferredTaxAssetsOperatingLeases" xml:lang="en-US">Operating leases</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_DeferredTaxAssetsOperatingLeases" xlink:to="lab_rgen_DeferredTaxAssetsOperatingLeases" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_DeferredTaxAssetsOperatingLeases" xml:lang="en-US">Deferred Tax Assets Operating Leases.</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_DeferredTaxAssetsAccruedBonus" xlink:label="loc_rgen_DeferredTaxAssetsAccruedBonus" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_DeferredTaxAssetsAccruedBonus" xml:lang="en-US">Deferred Tax Assets, Accrued Bonus</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_DeferredTaxAssetsAccruedBonus" xml:lang="en-US">Accrued bonus</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_DeferredTaxAssetsAccruedBonus" xlink:to="lab_rgen_DeferredTaxAssetsAccruedBonus" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_DeferredTaxAssetsAccruedBonus" xml:lang="en-US">Deferred tax assets, accrued bonus.</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="loc_us-gaap_DeferredTaxAssetsGross" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DeferredTaxAssetsGross" xml:lang="en-US">Deferred Tax Assets, Gross</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_DeferredTaxAssetsGross" xml:lang="en-US">Total deferred tax assets</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsGross" xlink:to="lab_us-gaap_DeferredTaxAssetsGross" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="loc_us-gaap_DeferredTaxAssetsNet" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DeferredTaxAssetsNet" xml:lang="en-US">Deferred Tax Assets, Net of Valuation Allowance</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="lab_us-gaap_DeferredTaxAssetsNet" xml:lang="en-US">Net deferred tax assets</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsNet" xlink:to="lab_us-gaap_DeferredTaxAssetsNet" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwards" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxCreditCarryforwards" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DeferredTaxAssetsTaxCreditCarryforwards" xml:lang="en-US">Deferred Tax Assets, Tax Credit Carryforwards</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DeferredTaxAssetsTaxCreditCarryforwards" xml:lang="en-US">Tax business credits carryforwards</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsTaxCreditCarryforwards" xlink:to="lab_us-gaap_DeferredTaxAssetsTaxCreditCarryforwards" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="loc_us-gaap_DeferredTaxAssetsValuationAllowance" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DeferredTaxAssetsValuationAllowance" xml:lang="en-US">Deferred Tax Assets, Valuation Allowance</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_us-gaap_DeferredTaxAssetsValuationAllowance" xml:lang="en-US">Less: valuation allowance</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:to="lab_us-gaap_DeferredTaxAssetsValuationAllowance" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxLiabilitiesAbstract" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesAbstract" xml:lang="en-US">Deferred Tax Liabilities, Gross [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesAbstract" xml:lang="en-US">Deferred tax liabilities:</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="lab_us-gaap_DeferredTaxLiabilitiesAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilities" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DeferredIncomeTaxLiabilities" xml:lang="en-US">Deferred Tax Liabilities, Gross</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:label="lab_us-gaap_DeferredIncomeTaxLiabilities" xml:lang="en-US">Total deferred tax liabilities</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredIncomeTaxLiabilities" xlink:to="lab_us-gaap_DeferredIncomeTaxLiabilities" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxLiabilities" xlink:label="loc_us-gaap_DeferredTaxLiabilities" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DeferredTaxLiabilities" xml:lang="en-US">Deferred Tax Liabilities, Net</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:label="lab_us-gaap_DeferredTaxLiabilities" xml:lang="en-US">Total net deferred tax liabilities</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxLiabilities" xlink:to="lab_us-gaap_DeferredTaxLiabilities" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes" xlink:label="loc_rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes" xml:lang="en-US">Deferred Tax Liabilities, Conversion Option on Convertible Notes</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes" xml:lang="en-US">Conversion option on convertible notes</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes" xlink:to="lab_rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes" xml:lang="en-US">Deferred Tax Liabilities, Conversion Option on Convertible Notes</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xml:lang="en-US">Deferred Tax Liabilities, Intangible Assets</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xml:lang="en-US">Acquired intangible assets</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:to="lab_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill" xml:lang="en-US">Deferred Tax Liabilities, Goodwill</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill" xml:lang="en-US">Goodwill</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill" xlink:to="lab_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_DeferredIncomeTaxLiabilitiesFixedAssets" xlink:label="loc_rgen_DeferredIncomeTaxLiabilitiesFixedAssets" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_DeferredIncomeTaxLiabilitiesFixedAssets" xml:lang="en-US">Deferred Income Tax Liabilities, Fixed Assets</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_DeferredIncomeTaxLiabilitiesFixedAssets" xml:lang="en-US">Fixed assets</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_DeferredIncomeTaxLiabilitiesFixedAssets" xlink:to="lab_rgen_DeferredIncomeTaxLiabilitiesFixedAssets" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_DeferredIncomeTaxLiabilitiesFixedAssets" xml:lang="en-US">Deferred income tax liabilities, fixed assets.</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" xlink:label="loc_rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" xml:lang="en-US">Deferred Tax Liabilities, Operating Lease Right Of Use Assets</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" xml:lang="en-US">Operating lease right of use assets</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" xlink:to="lab_rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" xml:lang="en-US">Deferred tax liabilities, operating lease right of use assets.</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IncomeTaxRateReconciliationTable" xlink:label="loc_rgen_IncomeTaxRateReconciliationTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_IncomeTaxRateReconciliationTable" xml:lang="en-US">Income Tax Rate Reconciliation [Table]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_IncomeTaxRateReconciliationTable" xml:lang="en-US">Income Tax Rate Reconciliation [Table]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_IncomeTaxRateReconciliationTable" xlink:to="lab_rgen_IncomeTaxRateReconciliationTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_IncomeTaxRateReconciliationTable" xml:lang="en-US">Income Tax Rate Reconciliation [Table]</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IncomeTaxRateReconciliationLineItems" xlink:label="loc_rgen_IncomeTaxRateReconciliationLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_IncomeTaxRateReconciliationLineItems" xml:lang="en-US">Income Tax Rate Reconciliation [Line Items]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_IncomeTaxRateReconciliationLineItems" xml:lang="en-US">Income Tax Rate Reconciliation [Line Items]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems" xlink:to="lab_rgen_IncomeTaxRateReconciliationLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_IncomeTaxRateReconciliationLineItems" xml:lang="en-US">Income Tax Rate Reconciliation [Line Items]</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xml:lang="en-US">Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xml:lang="en-US">Expected tax at statutory rate</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xml:lang="en-US">Change in valuation allowance</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Nondeductible Expense, Other, Percent</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther" xml:lang="en-US">Other</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Percent</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xml:lang="en-US">Income tax (benefit) provision</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Percent [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xml:lang="en-US">Adjustments due to:</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Percent</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xml:lang="en-US">Difference between U.S. and foreign tax</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xml:lang="en-US">Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xml:lang="en-US">State income and franchise tax</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Tax Credit, Percent</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xml:lang="en-US">Business tax credits</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Change in Enacted Tax Rate, Percent</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xml:lang="en-US">Change in U.S. federal tax rates</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Nondeductible Expense, Share-based Compensation Cost, Percent</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xml:lang="en-US">Stock-based compensation expense</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Other Adjustments, Percent</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xml:lang="en-US">Other</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:label="loc_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xml:lang="en-US">Effective Income Tax Rate Reconciliation at Federal Statutory Income Tax Rate, Amount</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xml:lang="en-US">Expected tax at statutory rate</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:to="lab_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpenseOther" xlink:label="loc_us-gaap_IncomeTaxReconciliationNondeductibleExpenseOther" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncomeTaxReconciliationNondeductibleExpenseOther" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Nondeductible Expense, Other, Amount</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_IncomeTaxReconciliationNondeductibleExpenseOther" xml:lang="en-US">Other</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxReconciliationNondeductibleExpenseOther" xlink:to="lab_us-gaap_IncomeTaxReconciliationNondeductibleExpenseOther" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Amount [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract" xml:lang="en-US">Adjustments due to:</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract" xlink:to="lab_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential" xlink:label="loc_us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Amount</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential" xml:lang="en-US">Difference between U.S. and foreign tax</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential" xlink:to="lab_us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" xlink:label="loc_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" xml:lang="en-US">Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Amount</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" xml:lang="en-US">State income and franchise tax</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" xlink:to="lab_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxReconciliationTaxCredits" xlink:label="loc_us-gaap_IncomeTaxReconciliationTaxCredits" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncomeTaxReconciliationTaxCredits" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Tax Credit, Amount</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_us-gaap_IncomeTaxReconciliationTaxCredits" xml:lang="en-US">Business tax credits</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxReconciliationTaxCredits" xlink:to="lab_us-gaap_IncomeTaxReconciliationTaxCredits" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="loc_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Amount</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xml:lang="en-US">Change in valuation allowance</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:to="lab_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTax" xlink:label="loc_rgen_EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTax" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTax" xml:lang="en-US">Effective Income Tax Rate Reconciliation Tax Cuts and Jobs Act of 2017 Transition Tax</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTax" xml:lang="en-US">Transition tax</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTax" xlink:to="lab_rgen_EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTax" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTax" xml:lang="en-US">Effective income tax rate reconciliation change in rate due to transition tax attributable to the Tax Cuts and Jobs Act of 2017.</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxReconciliationChangeInEnactedTaxRate" xlink:label="loc_us-gaap_IncomeTaxReconciliationChangeInEnactedTaxRate" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncomeTaxReconciliationChangeInEnactedTaxRate" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Change in Enacted Tax Rate, Amount</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_IncomeTaxReconciliationChangeInEnactedTaxRate" xml:lang="en-US">Change in U.S. federal tax rates</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxReconciliationChangeInEnactedTaxRate" xlink:to="lab_us-gaap_IncomeTaxReconciliationChangeInEnactedTaxRate" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IncomeTaxReconciliationChangeInForeignTaxRateAmount" xlink:label="loc_rgen_IncomeTaxReconciliationChangeInForeignTaxRateAmount" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_IncomeTaxReconciliationChangeInForeignTaxRateAmount" xml:lang="en-US">Income Tax Reconciliation Change in Foreign Tax Rate Amount</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_rgen_IncomeTaxReconciliationChangeInForeignTaxRateAmount" xml:lang="en-US">Change in Netherlands tax rate</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_IncomeTaxReconciliationChangeInForeignTaxRateAmount" xlink:to="lab_rgen_IncomeTaxReconciliationChangeInForeignTaxRateAmount" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_IncomeTaxReconciliationChangeInForeignTaxRateAmount" xml:lang="en-US">Income Tax Reconciliation, Change in Foreign Tax Rate, Amount.</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_EffectiveIncomeTaxRateReconciliationChangeInForeignTaxRateAmount" xlink:label="loc_rgen_EffectiveIncomeTaxRateReconciliationChangeInForeignTaxRateAmount" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_EffectiveIncomeTaxRateReconciliationChangeInForeignTaxRateAmount" xml:lang="en-US">Effective Income Tax Rate Reconciliation Change in Foreign Tax Rate Amount</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_rgen_EffectiveIncomeTaxRateReconciliationChangeInForeignTaxRateAmount" xml:lang="en-US">Change in Netherlands tax rate</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_EffectiveIncomeTaxRateReconciliationChangeInForeignTaxRateAmount" xlink:to="lab_rgen_EffectiveIncomeTaxRateReconciliationChangeInForeignTaxRateAmount" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_EffectiveIncomeTaxRateReconciliationChangeInForeignTaxRateAmount" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Change in Foreign Tax Rate, Amount.</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation" xlink:label="loc_rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation" xml:lang="en-US">Income Tax Reconciliation Nondeductible Expense Executive Compensation</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation" xml:lang="en-US">Executive compensation</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation" xlink:to="lab_rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation" xml:lang="en-US">Income Tax Reconciliation, Nondeductible Expense, Executive Compensation.</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:label="loc_us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Nondeductible Expense, Share-based Compensation Cost, Amount</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" xml:lang="en-US">Stock-based compensation expense</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:to="lab_us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxReconciliationOtherReconcilingItems" xlink:label="loc_us-gaap_IncomeTaxReconciliationOtherReconcilingItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncomeTaxReconciliationOtherReconcilingItems" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Other Reconciling Items, Amount</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_IncomeTaxReconciliationOtherReconcilingItems" xml:lang="en-US">Other</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxReconciliationOtherReconcilingItems" xlink:to="lab_us-gaap_IncomeTaxReconciliationOtherReconcilingItems" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings" xlink:label="loc_us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Repatriation of Foreign Earnings, Amount</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings" xml:lang="en-US">U.S. taxation of foreign earnings</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings" xlink:to="lab_us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Repatriation of Foreign Earnings, Percent</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings" xml:lang="en-US">U.S. taxation of foreign earnings</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation" xlink:label="loc_rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation" xml:lang="en-US">Effective Income Tax Rate Reconciliation Nondeductible Expense Executive Compensation</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation" xml:lang="en-US">Executive compensation</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation" xlink:to="lab_rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Nondeductible Expense, Executive Compensation</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxReconciliationTaxContingencies" xlink:label="loc_us-gaap_IncomeTaxReconciliationTaxContingencies" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncomeTaxReconciliationTaxContingencies" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Tax Contingency, Amount</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_IncomeTaxReconciliationTaxContingencies" xml:lang="en-US">Uncertain tax provisions</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxReconciliationTaxContingencies" xlink:to="lab_us-gaap_IncomeTaxReconciliationTaxContingencies" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IncomeTaxReconciliationReturnToProvisionAdjustments" xlink:label="loc_rgen_IncomeTaxReconciliationReturnToProvisionAdjustments" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_IncomeTaxReconciliationReturnToProvisionAdjustments" xml:lang="en-US">Income Tax Reconciliation Return to Provision Adjustments</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_rgen_IncomeTaxReconciliationReturnToProvisionAdjustments" xml:lang="en-US">Return to provision adjustments</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_IncomeTaxReconciliationReturnToProvisionAdjustments" xlink:to="lab_rgen_IncomeTaxReconciliationReturnToProvisionAdjustments" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_IncomeTaxReconciliationReturnToProvisionAdjustments" xml:lang="en-US">Income Tax Reconciliation Return to Provision Adjustments</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments" xlink:label="loc_rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments" xml:lang="en-US">Effective Income Tax Rate Reconciliation Return to Provision Adjustments</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments" xml:lang="en-US">Return to provision adjustments</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments" xlink:to="lab_rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Return to Provision Adjustments</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IncomeTaxReconciliationChangeInStateTaxRate" xlink:label="loc_rgen_IncomeTaxReconciliationChangeInStateTaxRate" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_IncomeTaxReconciliationChangeInStateTaxRate" xml:lang="en-US">Income Tax Reconciliation Change In State Tax Rate</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_rgen_IncomeTaxReconciliationChangeInStateTaxRate" xml:lang="en-US">Change in U.S. state tax rates</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_IncomeTaxReconciliationChangeInStateTaxRate" xlink:to="lab_rgen_IncomeTaxReconciliationChangeInStateTaxRate" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_IncomeTaxReconciliationChangeInStateTaxRate" xml:lang="en-US">Income Tax Reconciliation Change In State Tax Rate</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_EffectiveIncomeTaxRateReconciliationChangeInStateTaxRate" xlink:label="loc_rgen_EffectiveIncomeTaxRateReconciliationChangeInStateTaxRate" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_EffectiveIncomeTaxRateReconciliationChangeInStateTaxRate" xml:lang="en-US">Change in U.S. state tax rates</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_rgen_EffectiveIncomeTaxRateReconciliationChangeInStateTaxRate" xml:lang="en-US">Change in U.S. state tax rates</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_EffectiveIncomeTaxRateReconciliationChangeInStateTaxRate" xlink:to="lab_rgen_EffectiveIncomeTaxRateReconciliationChangeInStateTaxRate" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_EffectiveIncomeTaxRateReconciliationChangeInStateTaxRate" xml:lang="en-US">Effective Income Tax Rate Reconciliation Change In State Tax Rate</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_TransitionTaxForAccumulatedForeignEarningsProvisionalIncomeTaxExpense" xlink:label="loc_rgen_TransitionTaxForAccumulatedForeignEarningsProvisionalIncomeTaxExpense" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_TransitionTaxForAccumulatedForeignEarningsProvisionalIncomeTaxExpense" xml:lang="en-US">Transition Tax for Accumulated Foreign Earnings Provisional Income Tax Expense</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_rgen_TransitionTaxForAccumulatedForeignEarningsProvisionalIncomeTaxExpense" xml:lang="en-US">Transition tax</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_TransitionTaxForAccumulatedForeignEarningsProvisionalIncomeTaxExpense" xlink:to="lab_rgen_TransitionTaxForAccumulatedForeignEarningsProvisionalIncomeTaxExpense" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_TransitionTaxForAccumulatedForeignEarningsProvisionalIncomeTaxExpense" xml:lang="en-US">Transition tax for accumulated foreign earnings, provisional income tax expense.</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Tax Contingency, Percent</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" xml:lang="en-US">Uncertain tax provisions</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxExaminationTable" xlink:label="loc_us-gaap_IncomeTaxExaminationTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncomeTaxExaminationTable" xml:lang="en-US">Income Tax Examination [Table]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_IncomeTaxExaminationTable" xml:lang="en-US">Income Tax Examination [Table]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxExaminationTable" xlink:to="lab_us-gaap_IncomeTaxExaminationTable" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxExaminationLineItems" xlink:label="loc_us-gaap_IncomeTaxExaminationLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncomeTaxExaminationLineItems" xml:lang="en-US">Income Tax Examination [Line Items]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_IncomeTaxExaminationLineItems" xml:lang="en-US">Income Tax Examination [Line Items]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxExaminationLineItems" xlink:to="lab_us-gaap_IncomeTaxExaminationLineItems" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OpenTaxYear" xlink:label="loc_us-gaap_OpenTaxYear" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_OpenTaxYear" xml:lang="en-US">Open Tax Year</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_OpenTaxYear" xml:lang="en-US">Fiscal year subject to examination</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OpenTaxYear" xlink:to="lab_us-gaap_OpenTaxYear" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2020/country-2020-01-31.xsd#country_SE" xlink:label="loc_country_SE" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_country_SE" xml:lang="en-US">SWEDEN</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_country_SE" xml:lang="en-US">Sweden</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_country_SE" xlink:to="lab_country_SE" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2020/country-2020-01-31.xsd#country_US" xlink:label="loc_country_US" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_country_US" xml:lang="en-US">UNITED STATES</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_country_US" xml:lang="en-US">United States</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_country_US" xlink:to="lab_country_US" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarliestTaxYearMember" xlink:label="loc_us-gaap_EarliestTaxYearMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_EarliestTaxYearMember" xml:lang="en-US">Earliest Tax Year [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_EarliestTaxYearMember" xml:lang="en-US">Earliest Tax Year</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarliestTaxYearMember" xlink:to="lab_us-gaap_EarliestTaxYearMember" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable" xlink:label="loc_us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable" xml:lang="en-US">Significant Change in Unrecognized Tax Benefits is Reasonably Possible [Table]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable" xml:lang="en-US">Significant Change in Unrecognized Tax Benefits is Reasonably Possible [Table]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable" xlink:to="lab_us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems" xlink:label="loc_us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems" xml:lang="en-US">Significant Change in Unrecognized Tax Benefits is Reasonably Possible [Line Items]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems" xml:lang="en-US">Significant Change in Unrecognized Tax Benefits is Reasonably Possible [Line Items]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems" xlink:to="lab_us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="loc_us-gaap_UnrecognizedTaxBenefits" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_UnrecognizedTaxBenefits" xml:lang="en-US">Unrecognized Tax Benefits</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="lab_us-gaap_UnrecognizedTaxBenefits" xml:lang="en-US">Balance of gross unrecognized tax benefits, beginning of period</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="lab_us-gaap_UnrecognizedTaxBenefits" xml:lang="en-US">Balance of gross unrecognized tax benefits, end of period</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnrecognizedTaxBenefits" xlink:to="lab_us-gaap_UnrecognizedTaxBenefits" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xml:lang="en-US">Unrecognized Tax Benefits, Increase Resulting from Current Period Tax Positions</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xml:lang="en-US">Gross amounts of increases in unrecognized tax benefits as a result of tax positions taken in the current period</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:to="lab_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease" xlink:label="loc_rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease" xml:lang="en-US">Unrecognized Tax Benefits, Period Gross Decreases Release</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease" xml:lang="en-US">Gross amounts of decrease due to release</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease" xlink:to="lab_rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease" xml:lang="en-US">Unrecognized Tax Benefits, Period Gross Decreases Release</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xml:lang="en-US">Unrecognized Tax Benefits, Decrease Resulting from Prior Period Tax Positions</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xml:lang="en-US">Gross amounts of decreases in unrecognized tax benefits as a result of tax positions taken in the prior period</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:to="lab_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xml:lang="en-US">Disclosure of Compensation Related Costs, Share-based Payments [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="lab_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_StockholdersEquityNoteDisclosureTable" xlink:label="loc_rgen_StockholdersEquityNoteDisclosureTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_StockholdersEquityNoteDisclosureTable" xml:lang="en-US">Stockholders Equity Note Disclosure [Table]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_StockholdersEquityNoteDisclosureTable" xml:lang="en-US">Stockholders Equity Note Disclosure [Table]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureTable" xlink:to="lab_rgen_StockholdersEquityNoteDisclosureTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_StockholdersEquityNoteDisclosureTable" xml:lang="en-US">Stockholders Equity Note Disclosure [Table]</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_StockholdersEquityNoteDisclosureLineItems" xlink:label="loc_rgen_StockholdersEquityNoteDisclosureLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_StockholdersEquityNoteDisclosureLineItems" xml:lang="en-US">Stockholders Equity Note Disclosure [Line Items]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_StockholdersEquityNoteDisclosureLineItems" xml:lang="en-US">Stockholders Equity Note Disclosure [Line Items]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureLineItems" xlink:to="lab_rgen_StockholdersEquityNoteDisclosureLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_StockholdersEquityNoteDisclosureLineItems" xml:lang="en-US">Stockholders Equity Note Disclosure [Line Items]</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Aggregate Intrinsic Value, Vested</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xml:lang="en-US">Aggregate intrinsic value of restricted stock units vested</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xml:lang="en-US">Incentive options, vesting percentage</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xml:lang="en-US">Weighted average grant date fair value of restricted stock units granted</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested in Period, Fair Value</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xml:lang="en-US">Total fair value of stock options vested</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares" xlink:label="loc_rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options and Equity Instruments Other Than Options, Nonvested, Number of Shares</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares" xml:lang="en-US">Number of unvested options and restricted stock units</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares" xlink:to="lab_rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options and Equity Instruments Other Than Options, Nonvested, Number of Shares</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xml:lang="en-US">Incentive options, vesting period</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Fair Value</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xml:lang="en-US">Total grant date fair value of restricted stock units vested</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xml:lang="en-US">Aggregate intrinsic value of stock options exercised</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xml:lang="en-US">Weighted average grant date fair value of share-based awards granted</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xml:lang="en-US">Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, Period for Recognition</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xml:lang="en-US">Unrecognized compensation cost, weighted average remaining requisite service period</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharePrice" xlink:label="loc_us-gaap_SharePrice" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_SharePrice" xml:lang="en-US">Share Price</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_SharePrice" xml:lang="en-US">Closing price of common stock</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharePrice" xlink:to="lab_us-gaap_SharePrice" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_CommonStockIssuePricePerShare" xlink:label="loc_rgen_CommonStockIssuePricePerShare" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_CommonStockIssuePricePerShare" xml:lang="en-US">Common Stock Issue Price Per Share</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_CommonStockIssuePricePerShare" xml:lang="en-US">Common stock issue price per share</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_CommonStockIssuePricePerShare" xlink:to="lab_rgen_CommonStockIssuePricePerShare" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_CommonStockIssuePricePerShare" xml:lang="en-US">Common stock issue price per share.</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xml:lang="en-US">Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xml:lang="en-US">Total unrecognized compensation cost</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xml:lang="en-US">Exercised number of shares</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xml:lang="en-US">Exercised | shares</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:label="loc_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xml:lang="en-US">Common Stock, Capital Shares Reserved for Future Issuance</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xml:lang="en-US">Common stock shares reserved for Issuance</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:to="lab_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PlanNameAxis" xlink:label="loc_us-gaap_PlanNameAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PlanNameAxis" xml:lang="en-US">Plan Name [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PlanNameAxis" xlink:to="lab_us-gaap_PlanNameAxis" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaap_PlanNameDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PlanNameDomain" xml:lang="en-US">Plan Name [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PlanNameDomain" xlink:to="lab_us-gaap_PlanNameDomain" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_StockOptionAndIncentivePlanMember" xlink:label="loc_rgen_StockOptionAndIncentivePlanMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_StockOptionAndIncentivePlanMember" xml:lang="en-US">Stock Option And Incentive Plan [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_StockOptionAndIncentivePlanMember" xml:lang="en-US">2018 Plan</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_StockOptionAndIncentivePlanMember" xlink:to="lab_rgen_StockOptionAndIncentivePlanMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_StockOptionAndIncentivePlanMember" xml:lang="en-US">Stock Option and Incentive Plan [Member]</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_UnderwriterMember" xlink:label="loc_rgen_UnderwriterMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_UnderwriterMember" xml:lang="en-US">Underwriter [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_UnderwriterMember" xml:lang="en-US">Underwriters</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_UnderwriterMember" xlink:to="lab_rgen_UnderwriterMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_UnderwriterMember" xml:lang="en-US">Underwriter.</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_VestingAxis" xlink:label="loc_us-gaap_VestingAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_VestingAxis" xml:lang="en-US">Vesting [Axis]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_VestingAxis" xml:lang="en-US">Vesting [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_VestingAxis" xlink:to="lab_us-gaap_VestingAxis" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_VestingDomain" xlink:label="loc_us-gaap_VestingDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_VestingDomain" xml:lang="en-US">Vesting [Domain]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_VestingDomain" xml:lang="en-US">Vesting [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_VestingDomain" xlink:to="lab_us-gaap_VestingDomain" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:label="loc_us-gaap_ShareBasedCompensationAwardTrancheTwoMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xml:lang="en-US">Share-based Compensation Award, Tranche Two [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xml:lang="en-US">Vest Over Five Year</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:to="lab_us-gaap_ShareBasedCompensationAwardTrancheTwoMember" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:label="loc_us-gaap_ShareBasedCompensationAwardTrancheOneMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareBasedCompensationAwardTrancheOneMember" xml:lang="en-US">Share-based Compensation Award, Tranche One [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ShareBasedCompensationAwardTrancheOneMember" xml:lang="en-US">Vest Over Three Year</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:to="lab_us-gaap_ShareBasedCompensationAwardTrancheOneMember" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xml:lang="en-US">Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Table]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xml:lang="en-US">Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Table]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:to="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpenseMember" xml:lang="en-US">Research and Development Expense [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpenseMember" xml:lang="en-US">Research and development</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ResearchAndDevelopmentExpenseMember" xlink:to="lab_us-gaap_ResearchAndDevelopmentExpenseMember" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CostOfSalesMember" xlink:label="loc_us-gaap_CostOfSalesMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CostOfSalesMember" xml:lang="en-US">Cost of Sales [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_CostOfSalesMember" xml:lang="en-US">Cost of product revenue</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostOfSalesMember" xlink:to="lab_us-gaap_CostOfSalesMember" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xml:lang="en-US">Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xml:lang="en-US">Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xml:lang="en-US">Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Volatility Rate, Minimum</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" xml:lang="en-US">Expected volatility (range), minimum</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate, Minimum</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" xml:lang="en-US">Risk-free interest rate, minimum</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Dividend Rate</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xml:lang="en-US">Expected dividend yield</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Term</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xml:lang="en-US">Expected term (in years)</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate, Maximum</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" xml:lang="en-US">Risk-free interest rate, maximum</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Volatility Rate, Maximum</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" xml:lang="en-US">Expected volatility (range), maximum</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract" xlink:label="loc_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Aggregate Intrinsic Value [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract" xml:lang="en-US">Aggregate Intrinsic Value</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract" xlink:to="lab_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Aggregate Intrinsic Value [Abstract]</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Intrinsic Value</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xml:lang="en-US">Options exercisable at December 31, 2020</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xml:lang="en-US">Options outstanding at December 31, 2020</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xml:lang="en-US">Vested and expectd to vest at December 31, 2020</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Additional Disclosures [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xml:lang="en-US">Weighted-Average Remaining Contractual Term (in years)</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xml:lang="en-US">Options exercisable at December 31, 2020</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xml:lang="en-US">Vested and expected to vest at December 31, 2020</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xml:lang="en-US">Options outstanding at December 31, 2020</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xml:lang="en-US">Options Outstanding</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xml:lang="en-US">Options exercisable at December 31, 2020 | shares</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Net of Forfeitures</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xml:lang="en-US">Granted | shares</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xml:lang="en-US">Vested and expected to vest at December 31, 2020 | shares</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xml:lang="en-US">Weighted-Average Exercise Price Per Share</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Exercise Price</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xml:lang="en-US">Options exercisable at December 31, 2020</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xml:lang="en-US">Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xml:lang="en-US">Exercised</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xml:lang="en-US">Share-based Compensation Arrangements by Share-based Payment Award, Options, Grants in Period, Weighted Average Exercise Price</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xml:lang="en-US">Granted</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xml:lang="en-US">Options Outstanding</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xml:lang="en-US">Forfeited/expired/cancelled</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xml:lang="en-US">Awarded</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xml:lang="en-US">Vested</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Aggregate Intrinsic Value [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract" xml:lang="en-US">Aggregate Intrinsic Value</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Aggregate Intrinsic Value, Outstanding</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" xml:lang="en-US">Unvested at December 31, 2020</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="loc_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xml:lang="en-US">Share based Compensation Arrangement by Share based Payment Award, Equity Instruments Other Than Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xml:lang="en-US">Vested and expected to vest at December 31, 2020</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:to="lab_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xml:lang="en-US">Share based Compensation Arrangement by Share based Payment Award, Equity Instruments Other Than Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Additional Disclosures [Abstract]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xml:lang="en-US">Weighted-Average Remaining Contractual Term (in years)</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Outstanding, Weighted Average Remaining Contractual Terms</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xml:lang="en-US">Unvested at December 31, 2020</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm" xlink:label="loc_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm" xml:lang="en-US">Share Based Compensation Arrangement by Share Based Payment Award Equity Instruments Other Than Options Vested and Expected to Vest Outstanding Weighted Average Remaining Contractual Term</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm" xml:lang="en-US">Vested and expected to vest at December 31, 2020</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm" xlink:to="lab_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm" xml:lang="en-US">Share Based Compensation Arrangement by Share Based Payment Award Equity Instruments Other Than Options Vested and Expected to Vest Outstanding Weighted Average Remaining Contractual Term</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber" xlink:label="loc_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber" xml:lang="en-US">Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Vested And Expected To Vest Number</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber" xml:lang="en-US">Vested and expected to vest at December 31, 2020</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber" xlink:to="lab_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber" xml:lang="en-US">Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Vested And Expected To Vest Number</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_CommitmentsAndContingenciesTable" xlink:label="loc_rgen_CommitmentsAndContingenciesTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_CommitmentsAndContingenciesTable" xml:lang="en-US">Commitments and Contingencies [Table]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_CommitmentsAndContingenciesTable" xml:lang="en-US">Commitments and Contingencies [Table]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_CommitmentsAndContingenciesTable" xlink:to="lab_rgen_CommitmentsAndContingenciesTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_CommitmentsAndContingenciesTable" xml:lang="en-US">Commitments and Contingencies [Table]</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_CommitmentsAndContingenciesLineItems" xlink:label="loc_rgen_CommitmentsAndContingenciesLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_CommitmentsAndContingenciesLineItems" xml:lang="en-US">Commitments and Contingencies [Line Items]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_CommitmentsAndContingenciesLineItems" xml:lang="en-US">Commitments and Contingencies [Line Items]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_CommitmentsAndContingenciesLineItems" xlink:to="lab_rgen_CommitmentsAndContingenciesLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_CommitmentsAndContingenciesLineItems" xml:lang="en-US">Commitments and Contingencies [Line Items]</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongTermPurchaseCommitmentAmount" xlink:label="loc_us-gaap_LongTermPurchaseCommitmentAmount" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LongTermPurchaseCommitmentAmount" xml:lang="en-US">Long-term Purchase Commitment, Amount</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_LongTermPurchaseCommitmentAmount" xml:lang="en-US">Payments to Navigo in connection with this program, which are recorded to research and development expenses</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongTermPurchaseCommitmentAmount" xlink:to="lab_us-gaap_LongTermPurchaseCommitmentAmount" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_CapacityOfBioreactors" xlink:label="loc_rgen_CapacityOfBioreactors" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_CapacityOfBioreactors" xml:lang="en-US">Capacity Of Bioreactors</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_rgen_CapacityOfBioreactors" xml:lang="en-US">Bioreactors used in perfusion cell culture applications</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_CapacityOfBioreactors" xlink:to="lab_rgen_CapacityOfBioreactors" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_CapacityOfBioreactors" xml:lang="en-US">It's represents about capacity of bioreactors.</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_AmendmentAxis" xlink:label="loc_rgen_AmendmentAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_AmendmentAxis" xml:lang="en-US">Amendment [Axis]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_AmendmentAxis" xml:lang="en-US">Amendment [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_AmendmentAxis" xlink:to="lab_rgen_AmendmentAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_AmendmentAxis" xml:lang="en-US">Amendment [Axis]</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_AmendmentDomain" xlink:label="loc_rgen_AmendmentDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_AmendmentDomain" xml:lang="en-US">Amendment [Domain]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_AmendmentDomain" xml:lang="en-US">Amendment [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_AmendmentDomain" xlink:to="lab_rgen_AmendmentDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_AmendmentDomain" xml:lang="en-US">Amendment [Domain]</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis" xlink:label="loc_us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis" xml:lang="en-US">Category of Item Purchased [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis" xlink:to="lab_us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain" xlink:label="loc_us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain" xml:lang="en-US">Long-term Purchase Commitment, Category of Item Purchased [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain" xlink:to="lab_us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ResearchAndDevelopmentArrangementMember" xlink:label="loc_us-gaap_ResearchAndDevelopmentArrangementMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ResearchAndDevelopmentArrangementMember" xml:lang="en-US">Research and Development Arrangement [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ResearchAndDevelopmentArrangementMember" xlink:to="lab_us-gaap_ResearchAndDevelopmentArrangementMember" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_NGLImpactAMember" xlink:label="loc_rgen_NGLImpactAMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_NGLImpactAMember" xml:lang="en-US">NGL Impact A [Member]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_NGLImpactAMember" xlink:to="lab_rgen_NGLImpactAMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_NGLImpactAMember" xml:lang="en-US">NGL Impact A[Member]</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CreditFacilityAxis" xlink:label="loc_us-gaap_CreditFacilityAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CreditFacilityAxis" xml:lang="en-US">Credit Facility [Axis]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_CreditFacilityAxis" xml:lang="en-US">Credit Facility [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CreditFacilityAxis" xlink:to="lab_us-gaap_CreditFacilityAxis" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CreditFacilityDomain" xlink:label="loc_us-gaap_CreditFacilityDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CreditFacilityDomain" xml:lang="en-US">Credit Facility [Domain]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_CreditFacilityDomain" xml:lang="en-US">Credit Facility [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CreditFacilityDomain" xlink:to="lab_us-gaap_CreditFacilityDomain" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentTable" xlink:label="loc_us-gaap_DebtInstrumentTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DebtInstrumentTable" xml:lang="en-US">Schedule of Long-term Debt Instruments [Table]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DebtInstrumentTable" xml:lang="en-US">Schedule of Long-term Debt Instruments [Table]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentTable" xlink:to="lab_us-gaap_DebtInstrumentTable" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ZeropointthreesevenfivepercentageconvertibleseniornotesduetwentytwentyfourmemberMember" xlink:label="loc_rgen_ZeropointthreesevenfivepercentageconvertibleseniornotesduetwentytwentyfourmemberMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_ZeropointthreesevenfivepercentageconvertibleseniornotesduetwentytwentyfourmemberMember" xml:lang="en-US">0.375%Convertible Senior Notes due 2024</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_ZeropointthreesevenfivepercentageconvertibleseniornotesduetwentytwentyfourmemberMember" xlink:to="lab_rgen_ZeropointthreesevenfivepercentageconvertibleseniornotesduetwentytwentyfourmemberMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_ZeropointthreesevenfivepercentageconvertibleseniornotesduetwentytwentyfourmemberMember" xml:lang="en-US">Zero pointthree seven five percentage convertible senior notes due twenty twenty four member</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="loc_us-gaap_DebtInstrumentLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DebtInstrumentLineItems" xml:lang="en-US">Debt Instrument [Line Items]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DebtInstrumentLineItems" xml:lang="en-US">Debt Instrument [Line Items]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentLineItems" xlink:to="lab_us-gaap_DebtInstrumentLineItems" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentUnamortizedDiscount" xlink:label="loc_us-gaap_DebtInstrumentUnamortizedDiscount" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DebtInstrumentUnamortizedDiscount" xml:lang="en-US">Debt Instrument, Unamortized Discount</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_us-gaap_DebtInstrumentUnamortizedDiscount" xml:lang="en-US">Unamortized debt discount</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentUnamortizedDiscount" xlink:to="lab_us-gaap_DebtInstrumentUnamortizedDiscount" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredFinanceCostsNet" xlink:label="loc_us-gaap_DeferredFinanceCostsNet" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DeferredFinanceCostsNet" xml:lang="en-US">Debt Issuance Costs, Net</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="lab_us-gaap_DeferredFinanceCostsNet" xml:lang="en-US">Unamortized debt issuance costs</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredFinanceCostsNet" xlink:to="lab_us-gaap_DeferredFinanceCostsNet" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="loc_us-gaap_DebtInstrumentCarryingAmount" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DebtInstrumentCarryingAmount" xml:lang="en-US">Long-term Debt, Gross</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DebtInstrumentCarryingAmount" xml:lang="en-US">Principal amount</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentCarryingAmount" xlink:to="lab_us-gaap_DebtInstrumentCarryingAmount" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMember" xlink:label="loc_rgen_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMember" xml:lang="en-US">Two Point One Two Five Percentage Convertible Senior Notes Due Twenty Twenty One [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMember" xml:lang="en-US">2.125% Convertible Senior Notes due 2021</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMember" xlink:to="lab_rgen_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMember" xml:lang="en-US">Two Point One Two Five Percentage Convertible Senior Notes Due Twenty Twenty One [Member]</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" xlink:label="loc_rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" xml:lang="en-US">Zero Point Three Seven Five Percent Convertible Senior Notes Due Twenty Twenty Four [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" xml:lang="en-US">0.375% Convertible Senior Notes due 2024</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" xlink:to="lab_rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentRedemptionPeriodAxis" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPeriodAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DebtInstrumentRedemptionPeriodAxis" xml:lang="en-US">Debt Instrument, Redemption, Period [Axis]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DebtInstrumentRedemptionPeriodAxis" xml:lang="en-US">Debt Instrument, Redemption, Period [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentRedemptionPeriodAxis" xlink:to="lab_us-gaap_DebtInstrumentRedemptionPeriodAxis" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentRedemptionPeriodDomain" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPeriodDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DebtInstrumentRedemptionPeriodDomain" xml:lang="en-US">Debt Instrument, Redemption, Period [Domain]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DebtInstrumentRedemptionPeriodDomain" xml:lang="en-US">Debt Instrument, Redemption, Period [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentRedemptionPeriodDomain" xlink:to="lab_us-gaap_DebtInstrumentRedemptionPeriodDomain" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" xlink:label="loc_us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" xml:lang="en-US">Debt Instrument, Convertible, Threshold Percentage of Stock Price Trigger</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" xml:lang="en-US">Notes threshold percentage of stock price trigger</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" xlink:to="lab_us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentConvertibleThresholdTradingDays" xlink:label="loc_us-gaap_DebtInstrumentConvertibleThresholdTradingDays" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DebtInstrumentConvertibleThresholdTradingDays" xml:lang="en-US">Debt Instrument, Convertible, Threshold Trading Days</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DebtInstrumentConvertibleThresholdTradingDays" xml:lang="en-US">Notes threshold trading days</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentConvertibleThresholdTradingDays" xlink:to="lab_us-gaap_DebtInstrumentConvertibleThresholdTradingDays" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AmortizationOfDebtDiscountPremium" xlink:label="loc_us-gaap_AmortizationOfDebtDiscountPremium" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AmortizationOfDebtDiscountPremium" xml:lang="en-US">Amortization of Debt Discount (Premium)</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_AmortizationOfDebtDiscountPremium" xml:lang="en-US">Accretion of the debt discount</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AmortizationOfDebtDiscountPremium" xlink:to="lab_us-gaap_AmortizationOfDebtDiscountPremium" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AmortizationOfFinancingCosts" xlink:label="loc_us-gaap_AmortizationOfFinancingCosts" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AmortizationOfFinancingCosts" xml:lang="en-US">Amortization of Debt Issuance Costs</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_AmortizationOfFinancingCosts" xml:lang="en-US">Amortization of the debt issuance costs</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AmortizationOfFinancingCosts" xlink:to="lab_us-gaap_AmortizationOfFinancingCosts" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:label="loc_us-gaap_DebtInstrumentConvertibleConversionPrice1" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DebtInstrumentConvertibleConversionPrice1" xml:lang="en-US">Debt Instrument, Convertible, Conversion Price</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DebtInstrumentConvertibleConversionPrice1" xml:lang="en-US">Notes initial conversion price</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:to="lab_us-gaap_DebtInstrumentConvertibleConversionPrice1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentConvertibleConversionRatio1" xlink:label="loc_us-gaap_DebtInstrumentConvertibleConversionRatio1" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DebtInstrumentConvertibleConversionRatio1" xml:lang="en-US">Debt Instrument, Convertible, Conversion Ratio</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DebtInstrumentConvertibleConversionRatio1" xml:lang="en-US">Notes conversion ratio per $1,000 principal amount</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentConvertibleConversionRatio1" xlink:to="lab_us-gaap_DebtInstrumentConvertibleConversionRatio1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" xlink:label="loc_us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" xml:lang="en-US">Debt Instrument, Convertible, Threshold Consecutive Trading Days</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" xml:lang="en-US">Notes threshold consecutive trading days</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" xlink:to="lab_us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentRedemptionPricePercentage" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPricePercentage" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DebtInstrumentRedemptionPricePercentage" xml:lang="en-US">Debt Instrument, Redemption Price, Percentage</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DebtInstrumentRedemptionPricePercentage" xml:lang="en-US">Notes redemption price</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentRedemptionPricePercentage" xlink:to="lab_us-gaap_DebtInstrumentRedemptionPricePercentage" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:label="loc_us-gaap_DebtInstrumentInterestRateEffectivePercentage" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DebtInstrumentInterestRateEffectivePercentage" xml:lang="en-US">Debt Instrument, Interest Rate, Effective Percentage</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DebtInstrumentInterestRateEffectivePercentage" xml:lang="en-US">Effective interest rate on the Notes</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:to="lab_us-gaap_DebtInstrumentInterestRateEffectivePercentage" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentMaturityDate" xlink:label="loc_us-gaap_DebtInstrumentMaturityDate" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DebtInstrumentMaturityDate" xml:lang="en-US">Debt Instrument, Maturity Date</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DebtInstrumentMaturityDate" xml:lang="en-US">Notes, due date</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentMaturityDate" xlink:to="lab_us-gaap_DebtInstrumentMaturityDate" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InterestExpenseDebtExcludingAmortization" xlink:label="loc_us-gaap_InterestExpenseDebtExcludingAmortization" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_InterestExpenseDebtExcludingAmortization" xml:lang="en-US">Interest Expense, Debt, Excluding Amortization</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_InterestExpenseDebtExcludingAmortization" xml:lang="en-US">Contractual coupon interest</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InterestExpenseDebtExcludingAmortization" xlink:to="lab_us-gaap_InterestExpenseDebtExcludingAmortization" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" xml:lang="en-US">Stock Issued During Period, Value, Conversion of Convertible Securities</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" xml:lang="en-US">Conversion of Convertible Securities Stock Issued | value</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" xlink:to="lab_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent" xlink:label="loc_us-gaap_DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent" xml:lang="en-US">Debt Instrument, Convertible, Carrying Amount of Equity Component</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent" xml:lang="en-US">Equity component of converted debt</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent" xlink:to="lab_us-gaap_DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentInterestRateTerms" xlink:label="loc_us-gaap_DebtInstrumentInterestRateTerms" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DebtInstrumentInterestRateTerms" xml:lang="en-US">Debt Instrument, Interest Rate Terms</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DebtInstrumentInterestRateTerms" xml:lang="en-US">Interest repayment terms</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentInterestRateTerms" xlink:to="lab_us-gaap_DebtInstrumentInterestRateTerms" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_DebtInstrumentFaceAmountRemaining" xlink:label="loc_rgen_DebtInstrumentFaceAmountRemaining" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_DebtInstrumentFaceAmountRemaining" xml:lang="en-US">Debt Instrument Face Amount Remaining</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_DebtInstrumentFaceAmountRemaining" xml:lang="en-US">Face amount of remaining convertible debt</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_DebtInstrumentFaceAmountRemaining" xlink:to="lab_rgen_DebtInstrumentFaceAmountRemaining" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_DebtInstrumentFaceAmountRemaining" xml:lang="en-US">Debt instrument face amount remaining</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_DebtInstrumentConvertibleIntoEquity" xlink:label="loc_rgen_DebtInstrumentConvertibleIntoEquity" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_DebtInstrumentConvertibleIntoEquity" xml:lang="en-US">Debt Instrument Convertible Into Equity</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_DebtInstrumentConvertibleIntoEquity" xml:lang="en-US">Debt instrument amount convertible into equity</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_DebtInstrumentConvertibleIntoEquity" xlink:to="lab_rgen_DebtInstrumentConvertibleIntoEquity" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_DebtInstrumentConvertibleIntoEquity" xml:lang="en-US">Debt instrument convertible into equity.</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarlyRepaymentOfSeniorDebt" xlink:label="loc_us-gaap_EarlyRepaymentOfSeniorDebt" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_EarlyRepaymentOfSeniorDebt" xml:lang="en-US">Early Repayment of Senior Debt</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_EarlyRepaymentOfSeniorDebt" xml:lang="en-US">Repayment Of Senior Debt</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarlyRepaymentOfSeniorDebt" xlink:to="lab_us-gaap_EarlyRepaymentOfSeniorDebt" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentIncreaseAccruedInterest" xlink:label="loc_us-gaap_DebtInstrumentIncreaseAccruedInterest" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DebtInstrumentIncreaseAccruedInterest" xml:lang="en-US">Debt Instrument, Increase, Accrued Interest</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_DebtInstrumentIncreaseAccruedInterest" xml:lang="en-US">Accrued interest</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentIncreaseAccruedInterest" xlink:to="lab_us-gaap_DebtInstrumentIncreaseAccruedInterest" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" xml:lang="en-US">Stock Issued During Period, Shares, Conversion of Convertible Securities</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" xml:lang="en-US">Conversion of Convertible Securities Stock Issued | shares</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_OptionToPurchaseAdditionalDebtFaceAmount" xlink:label="loc_rgen_OptionToPurchaseAdditionalDebtFaceAmount" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_OptionToPurchaseAdditionalDebtFaceAmount" xml:lang="en-US">Option to Purchase Additional Debt Face Amount</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_rgen_OptionToPurchaseAdditionalDebtFaceAmount" xml:lang="en-US">Additional Notes issued</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_OptionToPurchaseAdditionalDebtFaceAmount" xlink:to="lab_rgen_OptionToPurchaseAdditionalDebtFaceAmount" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_OptionToPurchaseAdditionalDebtFaceAmount" xml:lang="en-US">Option to purchase additional debt face amount.</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_DiscountRate" xlink:label="loc_rgen_DiscountRate" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_DiscountRate" xml:lang="en-US">Discount Rate</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_rgen_DiscountRate" xml:lang="en-US">Discount rate</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_DiscountRate" xlink:to="lab_rgen_DiscountRate" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_DiscountRate" xml:lang="en-US">Discount rate.</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentConvertibleBeneficialConversionFeature" xlink:label="loc_us-gaap_DebtInstrumentConvertibleBeneficialConversionFeature" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DebtInstrumentConvertibleBeneficialConversionFeature" xml:lang="en-US">Debt Instrument, Convertible, Beneficial Conversion Feature</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DebtInstrumentConvertibleBeneficialConversionFeature" xml:lang="en-US">Proceeds allocated to the conversion feature</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentConvertibleBeneficialConversionFeature" xlink:to="lab_us-gaap_DebtInstrumentConvertibleBeneficialConversionFeature" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent" xlink:label="loc_rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent" xml:lang="en-US">Convertible Notes Transaction Costs Of Liability Component</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent" xml:lang="en-US">Transaction costs attributable to liability component</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent" xlink:to="lab_rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent" xml:lang="en-US">Convertible notes transaction costs of liability component.</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ConvertibleNotesTransactionCostsOfEquityComponent" xlink:label="loc_rgen_ConvertibleNotesTransactionCostsOfEquityComponent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_ConvertibleNotesTransactionCostsOfEquityComponent" xml:lang="en-US">Convertible Notes Transaction Costs Of Equity Component</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_rgen_ConvertibleNotesTransactionCostsOfEquityComponent" xml:lang="en-US">Transaction costs attributable to equity component</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_ConvertibleNotesTransactionCostsOfEquityComponent" xlink:to="lab_rgen_ConvertibleNotesTransactionCostsOfEquityComponent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_ConvertibleNotesTransactionCostsOfEquityComponent" xml:lang="en-US">Convertible notes transaction costs of equity component.</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTaxAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xml:lang="en-US">Comprehensive Income (Loss), Net of Tax, Attributable to Parent [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:to="lab_us-gaap_ComprehensiveIncomeNetOfTaxAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss) [Table]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss) [Table]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss) [Line Items]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss) [Line Items]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xml:lang="en-US">Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xml:lang="en-US">Other comprehensive loss</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccumulatedTranslationAdjustmentMember" xlink:label="loc_us-gaap_AccumulatedTranslationAdjustmentMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_AccumulatedTranslationAdjustmentMember" xml:lang="en-US">Accumulated Foreign Currency Adjustment Attributable to Parent [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_AccumulatedTranslationAdjustmentMember" xml:lang="en-US">Foreign Currency Translation Adjustment</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedTranslationAdjustmentMember" xlink:to="lab_us-gaap_AccumulatedTranslationAdjustmentMember" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="loc_us-gaap_CompensationAndRetirementDisclosureAbstract" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_CompensationAndRetirementDisclosureAbstract" xml:lang="en-US">Retirement Benefits [Abstract]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:to="lab_us-gaap_CompensationAndRetirementDisclosureAbstract" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable" xlink:label="loc_us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable" xml:lang="en-US">Schedule of Deferred Compensation Arrangement with Individual, Postretirement Benefits [Table]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable" xml:lang="en-US">Schedule of Deferred Compensation Arrangement with Individual, Postretirement Benefits [Table]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable" xlink:to="lab_us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis" xlink:label="loc_us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis" xml:lang="en-US">Other Postretirement Benefits, Individual Contracts, Type of Deferred Compensation [Axis]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis" xml:lang="en-US">Other Postretirement Benefits, Individual Contracts, Type of Deferred Compensation [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis" xlink:to="lab_us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain" xlink:label="loc_us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain" xml:lang="en-US">Other Postretirement Benefits, Individual Contracts, Type of Deferred Compensation [Domain]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain" xml:lang="en-US">Other Postretirement Benefits, Individual Contracts, Type of Deferred Compensation [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain" xlink:to="lab_us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_DefinedContribution401KPlanMember" xlink:label="loc_rgen_DefinedContribution401KPlanMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_DefinedContribution401KPlanMember" xml:lang="en-US">Defined Contribution 401 K Plan [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_DefinedContribution401KPlanMember" xml:lang="en-US">Defined Contribution 401 K Plan</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_DefinedContribution401KPlanMember" xlink:to="lab_rgen_DefinedContribution401KPlanMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_DefinedContribution401KPlanMember" xml:lang="en-US">Defined Contribution 401 K Plan [Member]</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" xlink:label="loc_us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" xml:lang="en-US">Deferred Compensation Arrangement with Individual, Postretirement Benefits [Line Items]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" xml:lang="en-US">Deferred Compensation Arrangement with Individual, Postretirement Benefits [Line Items]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" xlink:to="lab_us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_DefinedContributionPlanEmployeeEligibilityAge" xlink:label="loc_rgen_DefinedContributionPlanEmployeeEligibilityAge" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_DefinedContributionPlanEmployeeEligibilityAge" xml:lang="en-US">Defined Contribution Plan Employee Eligibility Age</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_DefinedContributionPlanEmployeeEligibilityAge" xml:lang="en-US">Defined contribution plan, eligible age of employees</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_DefinedContributionPlanEmployeeEligibilityAge" xlink:to="lab_rgen_DefinedContributionPlanEmployeeEligibilityAge" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_DefinedContributionPlanEmployeeEligibilityAge" xml:lang="en-US">Defined Contribution Plan Employee Eligibility Age</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DefinedBenefitPlanContributionsByEmployer" xlink:label="loc_us-gaap_DefinedBenefitPlanContributionsByEmployer" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_DefinedBenefitPlanContributionsByEmployer" xml:lang="en-US">Defined Benefit Plan, Plan Assets, Contributions by Employer</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_DefinedBenefitPlanContributionsByEmployer" xml:lang="en-US">Defined contribution plan, company contribution</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedBenefitPlanContributionsByEmployer" xlink:to="lab_us-gaap_DefinedBenefitPlanContributionsByEmployer" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RetirementPlanTypeAxis" xlink:label="loc_us-gaap_RetirementPlanTypeAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_RetirementPlanTypeAxis" xml:lang="en-US">Retirement Plan Type [Axis]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_RetirementPlanTypeAxis" xml:lang="en-US">Retirement Plan Type [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetirementPlanTypeAxis" xlink:to="lab_us-gaap_RetirementPlanTypeAxis" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RetirementPlanTypeDomain" xlink:label="loc_us-gaap_RetirementPlanTypeDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_RetirementPlanTypeDomain" xml:lang="en-US">Retirement Plan Type [Domain]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_RetirementPlanTypeDomain" xml:lang="en-US">Retirement Plan Type [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetirementPlanTypeDomain" xlink:to="lab_us-gaap_RetirementPlanTypeDomain" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PensionPlansDefinedBenefitMember" xlink:label="loc_us-gaap_PensionPlansDefinedBenefitMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PensionPlansDefinedBenefitMember" xml:lang="en-US">Pension Plan [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_PensionPlansDefinedBenefitMember" xml:lang="en-US">Pension Plans, Defined Benefit</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PensionPlansDefinedBenefitMember" xlink:to="lab_us-gaap_PensionPlansDefinedBenefitMember" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RetirementPlanSponsorLocationAxis" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_RetirementPlanSponsorLocationAxis" xml:lang="en-US">Retirement Plan Sponsor Location [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationAxis" xlink:to="lab_us-gaap_RetirementPlanSponsorLocationAxis" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RetirementPlanSponsorLocationDomain" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_RetirementPlanSponsorLocationDomain" xml:lang="en-US">Retirement Plan Sponsor Location [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationDomain" xlink:to="lab_us-gaap_RetirementPlanSponsorLocationDomain" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ForeignPlanMember" xlink:label="loc_us-gaap_ForeignPlanMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ForeignPlanMember" xml:lang="en-US">Foreign Plan [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="lab_us-gaap_ForeignPlanMember" xml:lang="en-US">Sweden</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ForeignPlanMember" xlink:to="lab_us-gaap_ForeignPlanMember" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:label="loc_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xml:lang="en-US">Schedule of Related Party Transactions, by Related Party [Table]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xml:lang="en-US">Schedule Of Related Party [Table]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="lab_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RelatedPartyTransactionLineItems" xlink:label="loc_us-gaap_RelatedPartyTransactionLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_RelatedPartyTransactionLineItems" xml:lang="en-US">Related Party Transaction [Line Items]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_RelatedPartyTransactionLineItems" xml:lang="en-US">Related Party Transaction [Line Items]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RelatedPartyTransactionLineItems" xlink:to="lab_us-gaap_RelatedPartyTransactionLineItems" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:label="loc_us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xml:lang="en-US">Noncontrolling Interest, Ownership Percentage by Noncontrolling Owners</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xml:lang="en-US">Non controlling ownership interest minimum</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:to="lab_us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProfessionalFees" xlink:label="loc_us-gaap_ProfessionalFees" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_ProfessionalFees" xml:lang="en-US">Spectrum Acquisition, tax preparation and other fees</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_ProfessionalFees" xml:lang="en-US">Spectrum Acquisition, tax preparation and other fees</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProfessionalFees" xlink:to="lab_us-gaap_ProfessionalFees" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TaxesPayableCurrent" xlink:label="loc_us-gaap_TaxesPayableCurrent" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_TaxesPayableCurrent" xml:lang="en-US">Taxes Payable, Current</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_TaxesPayableCurrent" xml:lang="en-US">Tax payable</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TaxesPayableCurrent" xlink:to="lab_us-gaap_TaxesPayableCurrent" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxesPaid" xlink:label="loc_us-gaap_IncomeTaxesPaid" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_IncomeTaxesPaid" xml:lang="en-US">Income Taxes Paid</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_IncomeTaxesPaid" xml:lang="en-US">Income tax paid</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxesPaid" xlink:to="lab_us-gaap_IncomeTaxesPaid" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xml:lang="en-US">Related Party [Axis]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xml:lang="en-US">Related Party [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:to="lab_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaap_RelatedPartyDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_RelatedPartyDomain" xml:lang="en-US">Related Party [Domain]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_RelatedPartyDomain" xml:lang="en-US">Related Party [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RelatedPartyDomain" xlink:to="lab_us-gaap_RelatedPartyDomain" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PrincipalOwnerMember" xlink:label="loc_us-gaap_PrincipalOwnerMember" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_PrincipalOwnerMember" xml:lang="en-US">Principal Owner [Member]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_PrincipalOwnerMember" xml:lang="en-US">Principal Owner</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PrincipalOwnerMember" xlink:to="lab_us-gaap_PrincipalOwnerMember" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="loc_us-gaap_SubsidiarySaleOfStockAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_SubsidiarySaleOfStockAxis" xml:lang="en-US">Sale of Stock [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis" xlink:to="lab_us-gaap_SubsidiarySaleOfStockAxis" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_SaleOfStockNameOfTransactionDomain" xml:lang="en-US">Sale of Stock [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain" xlink:to="lab_us-gaap_SaleOfStockNameOfTransactionDomain" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_OwnershipAxis" xlink:label="loc_srt_OwnershipAxis" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_srt_OwnershipAxis" xml:lang="en-US">Ownership [Axis]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_OwnershipAxis" xlink:to="lab_srt_OwnershipAxis" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_OwnershipDomain" xlink:label="loc_srt_OwnershipDomain" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_srt_OwnershipDomain" xml:lang="en-US">Ownership [Domain]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_OwnershipDomain" xlink:to="lab_srt_OwnershipDomain" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_QuarterlyFinancialInformationTable" xlink:label="loc_rgen_QuarterlyFinancialInformationTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_QuarterlyFinancialInformationTable" xml:lang="en-US">Quarterly Financial Information [Table]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_QuarterlyFinancialInformationTable" xml:lang="en-US">Quarterly Financial Information [Table]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_QuarterlyFinancialInformationTable" xlink:to="lab_rgen_QuarterlyFinancialInformationTable" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_QuarterlyFinancialInformationTable" xml:lang="en-US">Quarterly Financial Information [Table]</label>
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_QuarterlyFinancialInformationLineItems" xlink:label="loc_rgen_QuarterlyFinancialInformationLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_rgen_QuarterlyFinancialInformationLineItems" xml:lang="en-US">Quarterly Financial Information [Line Items]</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_rgen_QuarterlyFinancialInformationLineItems" xml:lang="en-US">Quarterly Financial Information [Line Items]</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rgen_QuarterlyFinancialInformationLineItems" xlink:to="lab_rgen_QuarterlyFinancialInformationLineItems" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="lab_rgen_QuarterlyFinancialInformationLineItems" xml:lang="en-US">Quarterly Financial Information [Line Items]</label>
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaap_GrossProfit" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_GrossProfit" xml:lang="en-US">Gross profit</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_GrossProfit" xml:lang="en-US">Gross profit</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GrossProfit" xlink:to="lab_us-gaap_GrossProfit" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingExpenses" xlink:label="loc_us-gaap_OperatingExpenses" />
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="lab_us-gaap_OperatingExpenses" xml:lang="en-US">Operating expenses</label>
<label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="lab_us-gaap_OperatingExpenses" xml:lang="en-US">Operating expenses</label>
<labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingExpenses" xlink:to="lab_us-gaap_OperatingExpenses" />
</labelLink>
</linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>11
<FILENAME>rgen-20201231_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by DFIN XBRL Instance Document - http://www.dfinsolutions.com/ - Version R3.0 - on 25-February-2021 [12:39:24] {AM}-->
<linkbase xmlns="http://www.xbrl.org/2003/linkbase" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#CoverPage" roleURI="http://www.repligencorp.com/role/CoverPage" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ConsolidatedBalanceSheets" roleURI="http://www.repligencorp.com/role/ConsolidatedBalanceSheets" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ConsolidatedBalanceSheetsParenthetical" roleURI="http://www.repligencorp.com/role/ConsolidatedBalanceSheetsParenthetical" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ConsolidatedStatementsOfComprehensiveIncome" roleURI="http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ConsolidatedStatementsOfStockholdersEquity" roleURI="http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquity" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ConsolidatedStatementsOfStockholdersEquityParenthetical" roleURI="http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquityParenthetical" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ConsolidatedStatementsOfCashFlows" roleURI="http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ConsolidatedStatementsOfCashFlowsParenthetical" roleURI="http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlowsParenthetical" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#OrganizationAndNatureOfBusiness" roleURI="http://www.repligencorp.com/role/OrganizationAndNatureOfBusiness" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#SummaryOfSignificantAccountingPolicies" roleURI="http://www.repligencorp.com/role/SummaryOfSignificantAccountingPolicies" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#Acquisitions" roleURI="http://www.repligencorp.com/role/Acquisitions" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#Leases" roleURI="http://www.repligencorp.com/role/Leases" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#RevenueRecognition" roleURI="http://www.repligencorp.com/role/RevenueRecognition" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#CreditLosses" roleURI="http://www.repligencorp.com/role/CreditLosses" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#GoodwillAndIntangibleAssets" roleURI="http://www.repligencorp.com/role/GoodwillAndIntangibleAssets" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ConsolidatedBalanceSheetDetail" roleURI="http://www.repligencorp.com/role/ConsolidatedBalanceSheetDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#IncomeTaxes" roleURI="http://www.repligencorp.com/role/IncomeTaxes" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#StockholdersEquity" roleURI="http://www.repligencorp.com/role/StockholdersEquity" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#CommitmentsAndContingencies" roleURI="http://www.repligencorp.com/role/CommitmentsAndContingencies" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ConvertibleSeniorNotes" roleURI="http://www.repligencorp.com/role/ConvertibleSeniorNotes" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#AccumulatedOtherComprehensiveIncomeLoss" roleURI="http://www.repligencorp.com/role/AccumulatedOtherComprehensiveIncomeLoss" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#EmployeeBenefitPlans" roleURI="http://www.repligencorp.com/role/EmployeeBenefitPlans" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#RelatedPartyTransactions" roleURI="http://www.repligencorp.com/role/RelatedPartyTransactions" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#SelectedQuarterlyFinancialDataUnaudited" roleURI="http://www.repligencorp.com/role/SelectedQuarterlyFinancialDataUnaudited" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#SummaryOfSignificantAccountingPoliciesPolicies" roleURI="http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesPolicies" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#SummaryOfSignificantAccountingPoliciesTables" roleURI="http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesTables" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#AcquisitionsTables" roleURI="http://www.repligencorp.com/role/AcquisitionsTables" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#LeasesTables" roleURI="http://www.repligencorp.com/role/LeasesTables" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#RevenueRecognitionTables" roleURI="http://www.repligencorp.com/role/RevenueRecognitionTables" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#CreditLossesTables" roleURI="http://www.repligencorp.com/role/CreditLossesTables" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#GoodwillAndIntangibleAssetsTables" roleURI="http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsTables" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ConsolidatedBalanceSheetDetailTables" roleURI="http://www.repligencorp.com/role/ConsolidatedBalanceSheetDetailTables" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#IncomeTaxesTables" roleURI="http://www.repligencorp.com/role/IncomeTaxesTables" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#StockholdersEquityTables" roleURI="http://www.repligencorp.com/role/StockholdersEquityTables" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ConvertibleSeniorNotesTables" roleURI="http://www.repligencorp.com/role/ConvertibleSeniorNotesTables" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#AccumulatedOtherComprehensiveIncomeLossTables" roleURI="http://www.repligencorp.com/role/AccumulatedOtherComprehensiveIncomeLossTables" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#SelectedQuarterlyFinancialDataUnauditedTables" roleURI="http://www.repligencorp.com/role/SelectedQuarterlyFinancialDataUnauditedTables" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" roleURI="http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ScheduleOfCashCashEquivalentsAndRestrictedCashDetail" roleURI="http://www.repligencorp.com/role/ScheduleOfCashCashEquivalentsAndRestrictedCashDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#EstimatedUsefulLifeOfAssetsDetail" roleURI="http://www.repligencorp.com/role/EstimatedUsefulLifeOfAssetsDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ReconciliationOfBasicAndDilutedSharesAmountsDetail" roleURI="http://www.repligencorp.com/role/ReconciliationOfBasicAndDilutedSharesAmountsDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#SummaryOfProductRevenuesByProductLineDetail" roleURI="http://www.repligencorp.com/role/SummaryOfProductRevenuesByProductLineDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#PercentageOfRevenueByGeographicAreaDetail" roleURI="http://www.repligencorp.com/role/PercentageOfRevenueByGeographicAreaDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#TotalAssetsByGeographicAreaDetail" roleURI="http://www.repligencorp.com/role/TotalAssetsByGeographicAreaDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#LongLivedAssetsByGeographicAreaDetail" roleURI="http://www.repligencorp.com/role/LongLivedAssetsByGeographicAreaDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#PercentageOfRevenueFromSignificantCustomersDetail" roleURI="http://www.repligencorp.com/role/PercentageOfRevenueFromSignificantCustomersDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#AcquisitionsAdditionalInformationDetail" roleURI="http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#AcquisitionsConsiderationTransferredDetail" roleURI="http://www.repligencorp.com/role/AcquisitionsConsiderationTransferredDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#AcquisitionsFairValueOfNetAssetsAcquiredDetail" roleURI="http://www.repligencorp.com/role/AcquisitionsFairValueOfNetAssetsAcquiredDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#AcquisitionsEstimatedUsefulLifeAndFairValueDetail" roleURI="http://www.repligencorp.com/role/AcquisitionsEstimatedUsefulLifeAndFairValueDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#AcquisitionsUnauditedSupplementalProFormaInformationDetail" roleURI="http://www.repligencorp.com/role/AcquisitionsUnauditedSupplementalProFormaInformationDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#LeasesAdditionalInformationDetail" roleURI="http://www.repligencorp.com/role/LeasesAdditionalInformationDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#LeasesMaturitiesOfLeaseLiabilitiesDetail" roleURI="http://www.repligencorp.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#LeasesConsolidatedBalanceSheetDetail" roleURI="http://www.repligencorp.com/role/LeasesConsolidatedBalanceSheetDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#LeasesConsolidatedStatementsOfComprehensiveIncomeDetail" roleURI="http://www.repligencorp.com/role/LeasesConsolidatedStatementsOfComprehensiveIncomeDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#LeasesConsolidatedStatementsOfCashFlowsRelatedToOperatingLeasesDetail" roleURI="http://www.repligencorp.com/role/LeasesConsolidatedStatementsOfCashFlowsRelatedToOperatingLeasesDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#LeasesOperatingLeaseLiabilitiesDetail" roleURI="http://www.repligencorp.com/role/LeasesOperatingLeaseLiabilitiesDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#SummaryOfDisaggregationOfProductRevenuesFromContractsWithCustomersByMajorProductLineDetail" roleURI="http://www.repligencorp.com/role/SummaryOfDisaggregationOfProductRevenuesFromContractsWithCustomersByMajorProductLineDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#RevenueFromSignificantCustomersDetail" roleURI="http://www.repligencorp.com/role/RevenueFromSignificantCustomersDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#SummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail" roleURI="http://www.repligencorp.com/role/SummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#CreditLossesSummaryOfAllowanceForCreditLossesForAccountsReceivablesDetail" roleURI="http://www.repligencorp.com/role/CreditLossesSummaryOfAllowanceForCreditLossesForAccountsReceivablesDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#CreditLossesAdditionalInformationDetail" roleURI="http://www.repligencorp.com/role/CreditLossesAdditionalInformationDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ChangesInCarryingValueOfGoodwillDetail" roleURI="http://www.repligencorp.com/role/ChangesInCarryingValueOfGoodwillDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#GoodwillAndIntangibleAssetsDetail" roleURI="http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#GoodwillAndIntangibleAssetsAdditionalInformationDetail" roleURI="http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#AmortizationExpenseForAmortizedIntangibleAssetsDetail" roleURI="http://www.repligencorp.com/role/AmortizationExpenseForAmortizedIntangibleAssetsDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ScheduleOfInventoriesDetail" roleURI="http://www.repligencorp.com/role/ScheduleOfInventoriesDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#PrepaidExpensesAndOtherCurrentAssetsDetail" roleURI="http://www.repligencorp.com/role/PrepaidExpensesAndOtherCurrentAssetsDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#PropertyPlantAndEquipmentDetail" roleURI="http://www.repligencorp.com/role/PropertyPlantAndEquipmentDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ConsolidatedBalanceSheetAdditionalInformationDetail" roleURI="http://www.repligencorp.com/role/ConsolidatedBalanceSheetAdditionalInformationDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ScheduleOfAccruedLiabilitiesDetail" roleURI="http://www.repligencorp.com/role/ScheduleOfAccruedLiabilitiesDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#IncomeBeforeIncomeTaxesDetail" roleURI="http://www.repligencorp.com/role/IncomeBeforeIncomeTaxesDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#CurrentDeferredAndEquityIncomeTaxesDetail" roleURI="http://www.repligencorp.com/role/CurrentDeferredAndEquityIncomeTaxesDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ProvisionForIncomeTaxesByJurisdictionDetail" roleURI="http://www.repligencorp.com/role/ProvisionForIncomeTaxesByJurisdictionDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#IncomeTaxesAdditionalInformationDetail" roleURI="http://www.repligencorp.com/role/IncomeTaxesAdditionalInformationDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ConsolidatedDeferredTaxAssetsLiabilitiesDetail" roleURI="http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail" roleURI="http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#SummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail" roleURI="http://www.repligencorp.com/role/SummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ReconciliationOfUnrecognizedTaxBenefitsDetail" roleURI="http://www.repligencorp.com/role/ReconciliationOfUnrecognizedTaxBenefitsDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#StockholdersEquityAdditionalInformationDetail" roleURI="http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#StockBasedCompensationExpenseDetail" roleURI="http://www.repligencorp.com/role/StockBasedCompensationExpenseDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#EstimatedWeightedAverageAssumptionsDetail" roleURI="http://www.repligencorp.com/role/EstimatedWeightedAverageAssumptionsDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#SummaryOfOptionActivityDetail" roleURI="http://www.repligencorp.com/role/SummaryOfOptionActivityDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#SummaryOfOptionActivityParentheticalDetail" roleURI="http://www.repligencorp.com/role/SummaryOfOptionActivityParentheticalDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#SummaryOfRestrictedStockUnitActivityDetail" roleURI="http://www.repligencorp.com/role/SummaryOfRestrictedStockUnitActivityDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#SummaryOfRestrictedStockUnitActivityParentheticalDetail" roleURI="http://www.repligencorp.com/role/SummaryOfRestrictedStockUnitActivityParentheticalDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#CommitmentsAndContingenciesAdditionalInformationDetail" roleURI="http://www.repligencorp.com/role/CommitmentsAndContingenciesAdditionalInformationDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#CarryingValueOfConvertibleSeniorNotesDetail" roleURI="http://www.repligencorp.com/role/CarryingValueOfConvertibleSeniorNotesDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ConvertibleSeniorNotesAdditionalInformationDetail" roleURI="http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ChangeInChangeInAccumulatedOtherComprehensiveLossDetailDetail" roleURI="http://www.repligencorp.com/role/ChangeInChangeInAccumulatedOtherComprehensiveLossDetailDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#EmployeeBenefitPlansAdditionalInformationDetail" roleURI="http://www.repligencorp.com/role/EmployeeBenefitPlansAdditionalInformationDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#RelatedPartyTransactionsAdditionalInformationDetail" roleURI="http://www.repligencorp.com/role/RelatedPartyTransactionsAdditionalInformationDetail" />
<roleRef xlink:type="simple" xlink:href="rgen-20201231.xsd#ConsolidatedStatementsOfOperationsInformationForEachOfPreviousEightQuartersDetail" roleURI="http://www.repligencorp.com/role/ConsolidatedStatementsOfOperationsInformationForEachOfPreviousEightQuartersDetail" />
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/CoverPage">
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_CoverAbstract" xlink:label="loc_dei_CoverAbstract_187796" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_AmendmentFlag" xlink:label="loc_dei_AmendmentFlag_187819" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_AmendmentFlag_187819" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentType" xlink:label="loc_dei_DocumentType_464304" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_DocumentType_464304" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentFiscalYearFocus" xlink:label="loc_dei_DocumentFiscalYearFocus_187828" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_DocumentFiscalYearFocus_187828" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="loc_dei_DocumentFiscalPeriodFocus_187829" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_DocumentFiscalPeriodFocus_187829" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityCentralIndexKey" xlink:label="loc_dei_EntityCentralIndexKey_187845" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_EntityCentralIndexKey_187845" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_CurrentFiscalYearEndDate" xlink:label="loc_dei_CurrentFiscalYearEndDate_187852" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_CurrentFiscalYearEndDate_187852" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentPeriodEndDate" xlink:label="loc_dei_DocumentPeriodEndDate_464303" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_DocumentPeriodEndDate_464303" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityCurrentReportingStatus" xlink:label="loc_dei_EntityCurrentReportingStatus_464305" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_EntityCurrentReportingStatus_464305" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityInteractiveDataCurrent" xlink:label="loc_dei_EntityInteractiveDataCurrent_464309" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_EntityInteractiveDataCurrent_464309" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityFileNumber" xlink:label="loc_dei_EntityFileNumber_464934" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_EntityFileNumber_464934" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityRegistrantName" xlink:label="loc_dei_EntityRegistrantName_464307" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_EntityRegistrantName_464307" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityFilerCategory" xlink:label="loc_dei_EntityFilerCategory_464355" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_EntityFilerCategory_464355" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_TradingSymbol" xlink:label="loc_dei_TradingSymbol_464313" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_TradingSymbol_464313" use="optional" order="13" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_Security12bTitle" xlink:label="loc_dei_Security12bTitle_464312" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_Security12bTitle_464312" use="optional" order="14" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_SecurityExchangeName" xlink:label="loc_dei_SecurityExchangeName_464314" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_SecurityExchangeName_464314" use="optional" order="15" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="loc_dei_EntityIncorporationStateCountryCode_464315" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_EntityIncorporationStateCountryCode_464315" use="optional" order="16" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityTaxIdentificationNumber" xlink:label="loc_dei_EntityTaxIdentificationNumber_464316" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_EntityTaxIdentificationNumber_464316" use="optional" order="17" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityAddressAddressLine1" xlink:label="loc_dei_EntityAddressAddressLine1_464317" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_EntityAddressAddressLine1_464317" use="optional" order="18" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityAddressCityOrTown" xlink:label="loc_dei_EntityAddressCityOrTown_464319" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_EntityAddressCityOrTown_464319" use="optional" order="19" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityAddressStateOrProvince" xlink:label="loc_dei_EntityAddressStateOrProvince_464320" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_EntityAddressStateOrProvince_464320" use="optional" order="20" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityAddressPostalZipCode" xlink:label="loc_dei_EntityAddressPostalZipCode_464322" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_EntityAddressPostalZipCode_464322" use="optional" order="21" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_CityAreaCode" xlink:label="loc_dei_CityAreaCode_464323" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_CityAreaCode_464323" use="optional" order="22" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityShellCompany" xlink:label="loc_dei_EntityShellCompany_464325" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_EntityShellCompany_464325" use="optional" order="23" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntitySmallBusiness" xlink:label="loc_dei_EntitySmallBusiness_464326" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_EntitySmallBusiness_464326" use="optional" order="24" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityEmergingGrowthCompany" xlink:label="loc_dei_EntityEmergingGrowthCompany_464327" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_EntityEmergingGrowthCompany_464327" use="optional" order="25" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LocalPhoneNumber" xlink:label="loc_dei_LocalPhoneNumber_464336" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_LocalPhoneNumber_464336" use="optional" order="26" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentAnnualReport" xlink:label="loc_dei_DocumentAnnualReport_566123" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_DocumentAnnualReport_566123" use="optional" order="27" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentTransitionReport" xlink:label="loc_dei_DocumentTransitionReport_464338" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_DocumentTransitionReport_464338" use="optional" order="28" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityVoluntaryFilers" xlink:label="loc_dei_EntityVoluntaryFilers_566055" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_EntityVoluntaryFilers_566055" use="optional" order="29" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="loc_dei_EntityWellKnownSeasonedIssuer_566072" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_EntityWellKnownSeasonedIssuer_566072" use="optional" order="30" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityPublicFloat" xlink:label="loc_dei_EntityPublicFloat_566075" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_EntityPublicFloat_566075" use="optional" order="31" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="loc_dei_EntityCommonStockSharesOutstanding_464311" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_EntityCommonStockSharesOutstanding_464311" use="optional" order="32" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_IcfrAuditorAttestationFlag" xlink:label="loc_dei_IcfrAuditorAttestationFlag_814029" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_187796" xlink:to="loc_dei_IcfrAuditorAttestationFlag_814029" use="optional" order="33" preferredLabel="http://www.xbrl.org/2003/role/label" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ConsolidatedBalanceSheets">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_23" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_30" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_23" xlink:to="loc_us-gaap_StatementTable_30" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_26" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_30" xlink:to="loc_dei_LegalEntityAxis_26" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_45" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_26" xlink:to="loc_dei_EntityDomain_45" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_29" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_30" xlink:to="loc_us-gaap_StatementLineItems_29" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetsAbstract" xlink:label="loc_us-gaap_AssetsAbstract_24" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_29" xlink:to="loc_us-gaap_AssetsAbstract_24" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="loc_us-gaap_AssetsCurrentAbstract_25" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_24" xlink:to="loc_us-gaap_AssetsCurrentAbstract_25" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_38" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_25" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_38" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedCash" xlink:label="loc_us-gaap_RestrictedCash_465032" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_25" xlink:to="loc_us-gaap_RestrictedCash_465032" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_40" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_25" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_40" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherReceivablesGrossCurrent" xlink:label="loc_us-gaap_OtherReceivablesGrossCurrent_41" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_25" xlink:to="loc_us-gaap_OtherReceivablesGrossCurrent_41" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="loc_us-gaap_UnbilledReceivablesCurrent_329075" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_25" xlink:to="loc_us-gaap_UnbilledReceivablesCurrent_329075" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaap_InventoryNet_42" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_25" xlink:to="loc_us-gaap_InventoryNet_42" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_43" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_25" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_43" use="optional" order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaap_AssetsCurrent_44" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_25" xlink:to="loc_us-gaap_AssetsCurrent_44" use="optional" order="14" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_32" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_24" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_32" use="optional" order="15" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_33" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_24" xlink:to="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_33" use="optional" order="16" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaap_Goodwill_34" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_24" xlink:to="loc_us-gaap_Goodwill_34" use="optional" order="17" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent" xlink:label="loc_us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent_332951" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_24" xlink:to="loc_us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent_332951" use="optional" order="18" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_409898" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_24" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_409898" use="optional" order="19" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_36" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_24" xlink:to="loc_us-gaap_OtherAssetsNoncurrent_36" use="optional" order="20" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Assets" xlink:label="loc_us-gaap_Assets_37" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_24" xlink:to="loc_us-gaap_Assets_37" use="optional" order="21" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_27" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_29" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_27" use="optional" order="22" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract_28" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_27" xlink:to="loc_us-gaap_LiabilitiesCurrentAbstract_28" use="optional" order="23" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaap_AccountsPayableCurrent_51" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_28" xlink:to="loc_us-gaap_AccountsPayableCurrent_51" use="optional" order="24" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_409907" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_28" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_409907" use="optional" order="25" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_52" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_28" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent_52" use="optional" order="26" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConvertibleNotesPayableCurrent" xlink:label="loc_us-gaap_ConvertibleNotesPayableCurrent_309576" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_28" xlink:to="loc_us-gaap_ConvertibleNotesPayableCurrent_309576" use="optional" order="27" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaap_LiabilitiesCurrent_53" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_28" xlink:to="loc_us-gaap_LiabilitiesCurrent_53" use="optional" order="28" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConvertibleLongTermNotesPayable" xlink:label="loc_us-gaap_ConvertibleLongTermNotesPayable_46" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_27" xlink:to="loc_us-gaap_ConvertibleLongTermNotesPayable_46" use="optional" order="29" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxLiabilitiesNoncurrent" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesNoncurrent_47" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_27" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesNoncurrent_47" use="optional" order="30" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_409908" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_27" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_409908" use="optional" order="31" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent_48" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_27" xlink:to="loc_us-gaap_OtherLiabilitiesNoncurrent_48" use="optional" order="32" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaap_Liabilities_309583" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_27" xlink:to="loc_us-gaap_Liabilities_309583" use="optional" order="33" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="loc_us-gaap_CommitmentsAndContingencies_49" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_27" xlink:to="loc_us-gaap_CommitmentsAndContingencies_49" use="optional" order="34" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="loc_us-gaap_StockholdersEquityAbstract_31" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_27" xlink:to="loc_us-gaap_StockholdersEquityAbstract_31" use="optional" order="35" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockValue" xlink:label="loc_us-gaap_PreferredStockValue_54" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_31" xlink:to="loc_us-gaap_PreferredStockValue_54" use="optional" order="36" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockValue" xlink:label="loc_us-gaap_CommonStockValue_55" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_31" xlink:to="loc_us-gaap_CommonStockValue_55" use="optional" order="37" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="loc_us-gaap_AdditionalPaidInCapitalCommonStock_56" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_31" xlink:to="loc_us-gaap_AdditionalPaidInCapitalCommonStock_56" use="optional" order="38" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_57" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_31" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_57" use="optional" order="39" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_58" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_31" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_58" use="optional" order="40" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity_59" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_31" xlink:to="loc_us-gaap_StockholdersEquity_59" use="optional" order="41" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_50" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_27" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquity_50" use="optional" order="42" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ConsolidatedBalanceSheetsParenthetical">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_61" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_64" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_61" xlink:to="loc_us-gaap_StatementTable_64" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_62" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_64" xlink:to="loc_dei_LegalEntityAxis_62" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_65" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_62" xlink:to="loc_dei_EntityDomain_65" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_63" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_64" xlink:to="loc_us-gaap_StatementLineItems_63" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_66" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_63" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_66" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="loc_us-gaap_PreferredStockParOrStatedValuePerShare_67" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_63" xlink:to="loc_us-gaap_PreferredStockParOrStatedValuePerShare_67" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="loc_us-gaap_PreferredStockSharesAuthorized_68" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_63" xlink:to="loc_us-gaap_PreferredStockSharesAuthorized_68" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="loc_us-gaap_PreferredStockSharesIssued_69" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_63" xlink:to="loc_us-gaap_PreferredStockSharesIssued_69" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="loc_us-gaap_PreferredStockSharesOutstanding_70" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_63" xlink:to="loc_us-gaap_PreferredStockSharesOutstanding_70" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare_71" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_63" xlink:to="loc_us-gaap_CommonStockParOrStatedValuePerShare_71" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="loc_us-gaap_CommonStockSharesAuthorized_72" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_63" xlink:to="loc_us-gaap_CommonStockSharesAuthorized_72" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaap_CommonStockSharesIssued_73" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_63" xlink:to="loc_us-gaap_CommonStockSharesIssued_73" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_74" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_63" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_74" use="optional" order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementAbstract" xlink:label="loc_us-gaap_IncomeStatementAbstract_76" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_83" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_76" xlink:to="loc_us-gaap_StatementTable_83" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_79" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_83" xlink:to="loc_dei_LegalEntityAxis_79" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_92" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_79" xlink:to="loc_dei_EntityDomain_92" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srt_ProductOrServiceAxis_284889" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_83" xlink:to="loc_srt_ProductOrServiceAxis_284889" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srt_ProductsAndServicesDomain_284890" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductOrServiceAxis_284889" xlink:to="loc_srt_ProductsAndServicesDomain_284890" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProductMember" xlink:label="loc_us-gaap_ProductMember_284891" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_284890" xlink:to="loc_us-gaap_ProductMember_284891" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RoyaltyMember" xlink:label="loc_us-gaap_RoyaltyMember_284892" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_284890" xlink:to="loc_us-gaap_RoyaltyMember_284892" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_82" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_83" xlink:to="loc_us-gaap_StatementLineItems_82" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenuesAbstract" xlink:label="loc_us-gaap_RevenuesAbstract_81" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_82" xlink:to="loc_us-gaap_RevenuesAbstract_81" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_284893" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenuesAbstract_81" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_284893" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CostsAndExpensesAbstract" xlink:label="loc_us-gaap_CostsAndExpensesAbstract_77" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_82" xlink:to="loc_us-gaap_CostsAndExpensesAbstract_77" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold_85" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CostsAndExpensesAbstract_77" xlink:to="loc_us-gaap_CostOfGoodsAndServicesSold_85" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense_86" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CostsAndExpensesAbstract_77" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpense_86" use="optional" order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense_87" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CostsAndExpensesAbstract_77" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpense_87" use="optional" order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CostsAndExpenses" xlink:label="loc_us-gaap_CostsAndExpenses_89" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CostsAndExpensesAbstract_77" xlink:to="loc_us-gaap_CostsAndExpenses_89" use="optional" order="15" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaap_OperatingIncomeLoss_98" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_82" xlink:to="loc_us-gaap_OperatingIncomeLoss_98" use="optional" order="16" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpenseAbstract_311282" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_82" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpenseAbstract_311282" use="optional" order="17" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InvestmentIncomeNet" xlink:label="loc_us-gaap_InvestmentIncomeNet_99" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherNonoperatingIncomeExpenseAbstract_311282" xlink:to="loc_us-gaap_InvestmentIncomeNet_99" use="optional" order="18" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt_499298" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherNonoperatingIncomeExpenseAbstract_311282" xlink:to="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt_499298" use="optional" order="19" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InterestExpense" xlink:label="loc_us-gaap_InterestExpense_100" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherNonoperatingIncomeExpenseAbstract_311282" xlink:to="loc_us-gaap_InterestExpense_100" use="optional" order="20" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_101" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherNonoperatingIncomeExpenseAbstract_311282" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_101" use="optional" order="21" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="loc_us-gaap_NonoperatingIncomeExpense_309667" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherNonoperatingIncomeExpenseAbstract_311282" xlink:to="loc_us-gaap_NonoperatingIncomeExpense_309667" use="optional" order="22" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_102" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_82" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_102" use="optional" order="23" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_103" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_82" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_103" use="optional" order="24" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_104" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_82" xlink:to="loc_us-gaap_NetIncomeLoss_104" use="optional" order="25" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaap_EarningsPerShareAbstract_78" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_82" xlink:to="loc_us-gaap_EarningsPerShareAbstract_78" use="optional" order="26" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareBasic" xlink:label="loc_us-gaap_EarningsPerShareBasic_90" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_78" xlink:to="loc_us-gaap_EarningsPerShareBasic_90" use="optional" order="27" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaap_EarningsPerShareDiluted_91" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_78" xlink:to="loc_us-gaap_EarningsPerShareDiluted_91" use="optional" order="28" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_84" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_82" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_84" use="optional" order="29" preferredLabel="http://www.xbrl.org/2003/role/presentationGuidance" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_106" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_84" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_106" use="optional" order="30" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_107" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_84" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_107" use="optional" order="31" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_311283" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_82" xlink:to="loc_us-gaap_NetIncomeLoss_311283" use="optional" order="32" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_80" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_82" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_80" use="optional" order="33" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_94" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_80" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_94" use="optional" order="34" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax_105" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_82" xlink:to="loc_us-gaap_ComprehensiveIncomeNetOfTax_105" use="optional" order="35" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquity">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract_109" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_114" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract_109" xlink:to="loc_us-gaap_StatementTable_114" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_112" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_114" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_112" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaap_EquityComponentDomain_110" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_112" xlink:to="loc_us-gaap_EquityComponentDomain_110" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaap_CommonStockMember_115" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_110" xlink:to="loc_us-gaap_CommonStockMember_115" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_116" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_110" xlink:to="loc_us-gaap_AdditionalPaidInCapitalMember_116" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_117" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_110" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_117" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RetainedEarningsMember" xlink:label="loc_us-gaap_RetainedEarningsMember_118" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_110" xlink:to="loc_us-gaap_RetainedEarningsMember_118" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_111" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_114" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_111" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_119" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_111" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_119" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_113" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_114" xlink:to="loc_us-gaap_StatementLineItems_113" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity_121" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_113" xlink:to="loc_us-gaap_StockholdersEquity_121" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharesOutstanding" xlink:label="loc_us-gaap_SharesOutstanding_120" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_113" xlink:to="loc_us-gaap_SharesOutstanding_120" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_122" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_113" xlink:to="loc_us-gaap_NetIncomeLoss_122" use="optional" order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueConversionOfUnits" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueConversionOfUnits_329130" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_113" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueConversionOfUnits_329130" use="optional" order="14" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits_329131" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_113" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits_329131" use="optional" order="15" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_AdjustmentsToAdditionalPaidInCapitalReductionForEquityComponentOfConvertibleDebt" xlink:label="loc_rgen_AdjustmentsToAdditionalPaidInCapitalReductionForEquityComponentOfConvertibleDebt_499299" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_113" xlink:to="loc_rgen_AdjustmentsToAdditionalPaidInCapitalReductionForEquityComponentOfConvertibleDebt_499299" use="optional" order="16" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_133" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_113" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_133" use="optional" order="17" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_134" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_113" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_134" use="optional" order="18" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueAcquisitions_309720" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_113" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueAcquisitions_309720" use="optional" order="19" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesAcquisitions_309721" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_113" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesAcquisitions_309721" use="optional" order="20" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="loc_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_499301" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_113" xlink:to="loc_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_499301" use="optional" order="21" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="loc_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_499300" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_113" xlink:to="loc_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_499300" use="optional" order="22" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt_499302" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_113" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt_499302" use="optional" order="23" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueNewIssues_128" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_113" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueNewIssues_128" use="optional" order="24" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesNewIssues_130" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_113" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesNewIssues_130" use="optional" order="25" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_132" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_113" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_132" use="optional" order="26" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_329123" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_113" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_329123" use="optional" order="27" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax_309722" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_113" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax_309722" use="optional" order="28" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity_136" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_113" xlink:to="loc_us-gaap_StockholdersEquity_136" use="optional" order="29" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharesOutstanding" xlink:label="loc_us-gaap_SharesOutstanding_135" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_113" xlink:to="loc_us-gaap_SharesOutstanding_135" use="optional" order="30" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquityParenthetical">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract_138" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_141" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract_138" xlink:to="loc_us-gaap_StatementTable_141" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_139" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_141" xlink:to="loc_dei_LegalEntityAxis_139" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_142" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_139" xlink:to="loc_dei_EntityDomain_142" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentAxis" xlink:label="loc_us-gaap_DebtInstrumentAxis_499304" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_141" xlink:to="loc_us-gaap_DebtInstrumentAxis_499304" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_499305" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentAxis_499304" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_499305" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember" xlink:label="loc_rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember_499358" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_499305" xlink:to="loc_rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember_499358" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_140" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_141" xlink:to="loc_us-gaap_StatementLineItems_140" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts_143" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_140" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts_143" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/presentationGuidance" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_499303" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_140" xlink:to="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_499303" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="loc_us-gaap_StatementOfCashFlowsAbstract_145" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_155" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_145" xlink:to="loc_us-gaap_StatementTable_155" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_150" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_155" xlink:to="loc_dei_LegalEntityAxis_150" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_174" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_150" xlink:to="loc_dei_EntityDomain_174" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_148" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_155" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_148" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_147" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_148" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_147" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_CTechnologiesIncMember" xlink:label="loc_rgen_CTechnologiesIncMember_580796" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_147" xlink:to="loc_rgen_CTechnologiesIncMember_580796" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember" xlink:label="loc_rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember_817139" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_147" xlink:to="loc_rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember_817139" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_154" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_155" xlink:to="loc_us-gaap_StatementLineItems_154" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_153" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_154" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_153" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_187" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_153" xlink:to="loc_us-gaap_NetIncomeLoss_187" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_146" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_153" xlink:to="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_146" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DepreciationAndAmortization" xlink:label="loc_us-gaap_DepreciationAndAmortization_157" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_146" xlink:to="loc_us-gaap_DepreciationAndAmortization_157" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AmortizationOfFinancingCostsAndDiscounts" xlink:label="loc_us-gaap_AmortizationOfFinancingCostsAndDiscounts_813882" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_146" xlink:to="loc_us-gaap_AmortizationOfFinancingCostsAndDiscounts_813882" use="optional" order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensation" xlink:label="loc_us-gaap_ShareBasedCompensation_159" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_146" xlink:to="loc_us-gaap_ShareBasedCompensation_159" use="optional" order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_160" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_146" xlink:to="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_160" use="optional" order="15" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt_499308" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_146" xlink:to="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt_499308" use="optional" order="16" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherNoncashIncomeExpense" xlink:label="loc_us-gaap_OtherNoncashIncomeExpense_312093" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_146" xlink:to="loc_us-gaap_OtherNoncashIncomeExpense_312093" use="optional" order="17" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_149" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_153" xlink:to="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_149" use="optional" order="18" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_167" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_149" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_167" use="optional" order="19" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInOtherReceivables" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherReceivables_168" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_149" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherReceivables_168" use="optional" order="20" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:label="loc_us-gaap_IncreaseDecreaseInContractWithCustomerAsset_329139" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_149" xlink:to="loc_us-gaap_IncreaseDecreaseInContractWithCustomerAsset_329139" use="optional" order="21" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories_169" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_149" xlink:to="loc_us-gaap_IncreaseDecreaseInInventories_169" use="optional" order="22" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_170" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_149" xlink:to="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_170" use="optional" order="23" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset" xlink:label="loc_rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset_422198" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_149" xlink:to="loc_rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset_422198" use="optional" order="24" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_467874" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_149" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_467874" use="optional" order="25" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_171" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_149" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayable_171" use="optional" order="26" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_172" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_149" xlink:to="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_172" use="optional" order="27" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IncreasedecreaseInOperatingLeaseLiability" xlink:label="loc_rgen_IncreasedecreaseInOperatingLeaseLiability_422204" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_149" xlink:to="loc_rgen_IncreasedecreaseInOperatingLeaseLiability_422204" use="optional" order="28" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities_173" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_149" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities_173" use="optional" order="29" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_188" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_153" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_188" use="optional" order="30" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_152" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_154" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_152" use="optional" order="31" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsToAcquireSoftware" xlink:label="loc_us-gaap_PaymentsToAcquireSoftware_329140" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_152" xlink:to="loc_us-gaap_PaymentsToAcquireSoftware_329140" use="optional" order="32" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsToDevelopSoftware" xlink:label="loc_us-gaap_PaymentsToDevelopSoftware_329141" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_152" xlink:to="loc_us-gaap_PaymentsToDevelopSoftware_329141" use="optional" order="33" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_182" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_152" xlink:to="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_182" use="optional" order="34" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_185" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_152" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_185" use="optional" order="35" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_186" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_152" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_186" use="optional" order="36" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_151" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_154" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_151" use="optional" order="37" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromConvertibleDebt" xlink:label="loc_us-gaap_ProceedsFromConvertibleDebt_175" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_151" xlink:to="loc_us-gaap_ProceedsFromConvertibleDebt_175" use="optional" order="38" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfCommonStock_176" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_151" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfCommonStock_176" use="optional" order="39" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="loc_us-gaap_ProceedsFromStockOptionsExercised_177" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_151" xlink:to="loc_us-gaap_ProceedsFromStockOptionsExercised_177" use="optional" order="40" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RepaymentsOfConvertibleDebt" xlink:label="loc_us-gaap_RepaymentsOfConvertibleDebt_309772" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_151" xlink:to="loc_us-gaap_RepaymentsOfConvertibleDebt_309772" use="optional" order="41" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_499309" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_151" xlink:to="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_499309" use="optional" order="42" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_179" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_151" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_179" use="optional" order="43" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents" xlink:label="loc_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_189" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_154" xlink:to="loc_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_189" use="optional" order="44" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_190" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_154" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_190" use="optional" order="45" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_191" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_154" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_191" use="optional" order="46" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_192" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_154" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_192" use="optional" order="47" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="loc_us-gaap_SupplementalCashFlowInformationAbstract_156" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_154" xlink:to="loc_us-gaap_SupplementalCashFlowInformationAbstract_156" use="optional" order="48" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="loc_us-gaap_IncomeTaxesPaidNet_193" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SupplementalCashFlowInformationAbstract_156" xlink:to="loc_us-gaap_IncomeTaxesPaidNet_193" use="optional" order="49" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InterestPaidNet" xlink:label="loc_us-gaap_InterestPaidNet_194" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SupplementalCashFlowInformationAbstract_156" xlink:to="loc_us-gaap_InterestPaidNet_194" use="optional" order="50" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SupplementalCashFlowElementsAbstract" xlink:label="loc_us-gaap_SupplementalCashFlowElementsAbstract_309774" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_154" xlink:to="loc_us-gaap_SupplementalCashFlowElementsAbstract_309774" use="optional" order="51" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_AssetsAcquiredUnderOperatingLeases" xlink:label="loc_rgen_AssetsAcquiredUnderOperatingLeases_603642" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SupplementalCashFlowElementsAbstract_309774" xlink:to="loc_rgen_AssetsAcquiredUnderOperatingLeases_603642" use="optional" order="52" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtConversionConvertedInstrumentAmount1" xlink:label="loc_us-gaap_DebtConversionConvertedInstrumentAmount1_499310" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SupplementalCashFlowElementsAbstract_309774" xlink:to="loc_us-gaap_DebtConversionConvertedInstrumentAmount1_499310" use="optional" order="53" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssued1" xlink:label="loc_us-gaap_StockIssued1_309806" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SupplementalCashFlowElementsAbstract_309774" xlink:to="loc_us-gaap_StockIssued1_309806" use="optional" order="54" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_NonCashEffectOfAdoptionOfAsu201616" xlink:label="loc_rgen_NonCashEffectOfAdoptionOfAsu201616_309775" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SupplementalCashFlowElementsAbstract_309774" xlink:to="loc_rgen_NonCashEffectOfAdoptionOfAsu201616_309775" use="optional" order="55" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_PropertyPlantAndEquipmentRelatedToLeaseIncentives" xlink:label="loc_rgen_PropertyPlantAndEquipmentRelatedToLeaseIncentives_499311" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SupplementalCashFlowElementsAbstract_309774" xlink:to="loc_rgen_PropertyPlantAndEquipmentRelatedToLeaseIncentives_499311" use="optional" order="56" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlowsParenthetical">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="loc_us-gaap_StatementOfCashFlowsAbstract_198" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_202" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_198" xlink:to="loc_us-gaap_StatementTable_202" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_200" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_202" xlink:to="loc_dei_LegalEntityAxis_200" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_215" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_200" xlink:to="loc_dei_EntityDomain_215" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_817616" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_202" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_817616" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_817617" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_817616" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_817617" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember" xlink:label="loc_rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember_817619" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_817617" xlink:to="loc_rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember_817619" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_201" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_202" xlink:to="loc_us-gaap_StatementLineItems_201" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferredAbstract" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferredAbstract_199" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_201" xlink:to="loc_us-gaap_BusinessCombinationConsiderationTransferredAbstract_199" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" xlink:label="loc_us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued_817623" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationConsiderationTransferredAbstract_199" xlink:to="loc_us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued_817623" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtConversionConvertedInstrumentSharesIssued1" xlink:label="loc_us-gaap_DebtConversionConvertedInstrumentSharesIssued1_499356" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationConsiderationTransferredAbstract_199" xlink:to="loc_us-gaap_DebtConversionConvertedInstrumentSharesIssued1_499356" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/OrganizationAndNatureOfBusiness">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_1154" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_1157" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_1154" xlink:to="loc_us-gaap_StatementTable_1157" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1155" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_1157" xlink:to="loc_dei_LegalEntityAxis_1155" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1158" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_1155" xlink:to="loc_dei_EntityDomain_1158" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_1156" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_1157" xlink:to="loc_us-gaap_StatementLineItems_1156" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NatureOfOperations" xlink:label="loc_us-gaap_NatureOfOperations_1159" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1156" xlink:to="loc_us-gaap_NatureOfOperations_1159" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/SummaryOfSignificantAccountingPolicies">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_1161" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_1164" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_1161" xlink:to="loc_us-gaap_StatementTable_1164" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1162" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_1164" xlink:to="loc_dei_LegalEntityAxis_1162" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1165" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_1162" xlink:to="loc_dei_EntityDomain_1165" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_1163" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_1164" xlink:to="loc_us-gaap_StatementLineItems_1163" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="loc_us-gaap_SignificantAccountingPoliciesTextBlock_1166" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1163" xlink:to="loc_us-gaap_SignificantAccountingPoliciesTextBlock_1166" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/Acquisitions">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TextBlockAbstract" xlink:label="loc_us-gaap_TextBlockAbstract_1222" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_1225" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TextBlockAbstract_1222" xlink:to="loc_us-gaap_StatementTable_1225" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1223" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_1225" xlink:to="loc_dei_LegalEntityAxis_1223" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1226" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_1223" xlink:to="loc_dei_EntityDomain_1226" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_1224" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_1225" xlink:to="loc_us-gaap_StatementLineItems_1224" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationDisclosureTextBlock" xlink:label="loc_us-gaap_BusinessCombinationDisclosureTextBlock_1227" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1224" xlink:to="loc_us-gaap_BusinessCombinationDisclosureTextBlock_1227" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/Leases">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LeasesAbstract" xlink:label="loc_us-gaap_LeasesAbstract_410107" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="loc_us-gaap_LesseeOperatingLeasesTextBlock_410109" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_410107" xlink:to="loc_us-gaap_LesseeOperatingLeasesTextBlock_410109" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/RevenueRecognition">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_309907" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerTextBlock_309913" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_309907" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerTextBlock_309913" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/CreditLosses">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CreditLossAbstract" xlink:label="loc_us-gaap_CreditLossAbstract_813912" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CreditLossFinancialInstrumentTextBlock" xlink:label="loc_us-gaap_CreditLossFinancialInstrumentTextBlock_813913" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditLossAbstract_813912" xlink:to="loc_us-gaap_CreditLossFinancialInstrumentTextBlock_813913" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/GoodwillAndIntangibleAssets">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_310069" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_310070" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_310069" xlink:to="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_310070" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ConsolidatedBalanceSheetDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="loc_us-gaap_DisclosureTextBlockAbstract_310124" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" xlink:label="loc_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock_310125" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureTextBlockAbstract_310124" xlink:to="loc_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock_310125" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/IncomeTaxes">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_1245" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_1248" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_1245" xlink:to="loc_us-gaap_StatementTable_1248" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1246" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_1248" xlink:to="loc_dei_LegalEntityAxis_1246" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1249" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_1246" xlink:to="loc_dei_EntityDomain_1249" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_1247" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_1248" xlink:to="loc_us-gaap_StatementLineItems_1247" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="loc_us-gaap_IncomeTaxDisclosureTextBlock_1250" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1247" xlink:to="loc_us-gaap_IncomeTaxDisclosureTextBlock_1250" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/StockholdersEquity">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaap_EquityAbstract_1264" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_1267" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_1264" xlink:to="loc_us-gaap_StatementTable_1267" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1265" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_1267" xlink:to="loc_dei_LegalEntityAxis_1265" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1268" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_1265" xlink:to="loc_dei_EntityDomain_1268" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_1266" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_1267" xlink:to="loc_us-gaap_StatementLineItems_1266" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock_1269" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1266" xlink:to="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock_1269" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/CommitmentsAndContingencies">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_1281" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_1284" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_1281" xlink:to="loc_us-gaap_StatementTable_1284" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1282" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_1284" xlink:to="loc_dei_LegalEntityAxis_1282" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1285" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_1282" xlink:to="loc_dei_EntityDomain_1285" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_1283" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_1284" xlink:to="loc_us-gaap_StatementLineItems_1283" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_1286" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1283" xlink:to="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_1286" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ConvertibleSeniorNotes">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaap_DebtDisclosureAbstract_1330" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_1333" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_1330" xlink:to="loc_us-gaap_StatementTable_1333" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1331" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_1333" xlink:to="loc_dei_LegalEntityAxis_1331" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1334" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_1331" xlink:to="loc_dei_EntityDomain_1334" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_1332" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_1333" xlink:to="loc_us-gaap_StatementLineItems_1332" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongTermDebtTextBlock" xlink:label="loc_us-gaap_LongTermDebtTextBlock_1335" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1332" xlink:to="loc_us-gaap_LongTermDebtTextBlock_1335" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/AccumulatedOtherComprehensiveIncomeLoss">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaap_EquityAbstract_1344" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_1347" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_1344" xlink:to="loc_us-gaap_StatementTable_1347" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1345" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_1347" xlink:to="loc_dei_LegalEntityAxis_1345" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1348" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_1345" xlink:to="loc_dei_EntityDomain_1348" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_1346" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_1347" xlink:to="loc_us-gaap_StatementLineItems_1346" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ComprehensiveIncomeNoteTextBlock" xlink:label="loc_us-gaap_ComprehensiveIncomeNoteTextBlock_1349" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1346" xlink:to="loc_us-gaap_ComprehensiveIncomeNoteTextBlock_1349" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/EmployeeBenefitPlans">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PostemploymentBenefitsAbstract" xlink:label="loc_us-gaap_PostemploymentBenefitsAbstract_1358" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_1361" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PostemploymentBenefitsAbstract_1358" xlink:to="loc_us-gaap_StatementTable_1361" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1359" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_1361" xlink:to="loc_dei_LegalEntityAxis_1359" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1362" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_1359" xlink:to="loc_dei_EntityDomain_1362" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_1360" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_1361" xlink:to="loc_us-gaap_StatementLineItems_1360" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CompensationAndEmployeeBenefitPlansTextBlock" xlink:label="loc_us-gaap_CompensationAndEmployeeBenefitPlansTextBlock_1363" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1360" xlink:to="loc_us-gaap_CompensationAndEmployeeBenefitPlansTextBlock_1363" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/RelatedPartyTransactions">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RelatedPartyTransactionsAbstract" xlink:label="loc_us-gaap_RelatedPartyTransactionsAbstract_1365" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_1368" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RelatedPartyTransactionsAbstract_1365" xlink:to="loc_us-gaap_StatementTable_1368" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1366" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_1368" xlink:to="loc_dei_LegalEntityAxis_1366" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1369" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_1366" xlink:to="loc_dei_EntityDomain_1369" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_1367" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_1368" xlink:to="loc_us-gaap_StatementLineItems_1367" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:label="loc_us-gaap_RelatedPartyTransactionsDisclosureTextBlock_1370" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1367" xlink:to="loc_us-gaap_RelatedPartyTransactionsDisclosureTextBlock_1370" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/SelectedQuarterlyFinancialDataUnaudited">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:label="loc_us-gaap_QuarterlyFinancialInformationDisclosureAbstract_1372" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_1375" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_QuarterlyFinancialInformationDisclosureAbstract_1372" xlink:to="loc_us-gaap_StatementTable_1375" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1373" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_1375" xlink:to="loc_dei_LegalEntityAxis_1373" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1376" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_1373" xlink:to="loc_dei_EntityDomain_1376" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_1374" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_1375" xlink:to="loc_us-gaap_StatementLineItems_1374" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_QuarterlyFinancialInformationTextBlock" xlink:label="loc_us-gaap_QuarterlyFinancialInformationTextBlock_1377" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1374" xlink:to="loc_us-gaap_QuarterlyFinancialInformationTextBlock_1377" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesPolicies">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_1168" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_1171" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_1168" xlink:to="loc_us-gaap_StatementTable_1171" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1169" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_1171" xlink:to="loc_dei_LegalEntityAxis_1169" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1172" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_1169" xlink:to="loc_dei_EntityDomain_1172" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_1170" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_1171" xlink:to="loc_us-gaap_StatementLineItems_1170" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_UseOfEstimates" xlink:label="loc_us-gaap_UseOfEstimates_1173" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1170" xlink:to="loc_us-gaap_UseOfEstimates_1173" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:label="loc_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_1174" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1170" xlink:to="loc_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_1174" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="loc_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_1175" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1170" xlink:to="loc_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_1175" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueRecognitionPolicyTextBlock" xlink:label="loc_us-gaap_RevenueRecognitionPolicyTextBlock_1176" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1170" xlink:to="loc_us-gaap_RevenueRecognitionPolicyTextBlock_1176" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock" xlink:label="loc_rgen_RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock_1177" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1170" xlink:to="loc_rgen_RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock_1177" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" xlink:label="loc_us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy_1178" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1170" xlink:to="loc_us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy_1178" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:label="loc_us-gaap_FairValueMeasurementPolicyPolicyTextBlock_1179" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1170" xlink:to="loc_us-gaap_FairValueMeasurementPolicyPolicyTextBlock_1179" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CreditLossFinancialInstrumentPolicyTextBlock" xlink:label="loc_us-gaap_CreditLossFinancialInstrumentPolicyTextBlock_822606" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1170" xlink:to="loc_us-gaap_CreditLossFinancialInstrumentPolicyTextBlock_822606" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="loc_us-gaap_InventoryPolicyTextBlock_1180" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1170" xlink:to="loc_us-gaap_InventoryPolicyTextBlock_1180" use="optional" order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LoansAndLeasesReceivableLeaseFinancingPolicy" xlink:label="loc_us-gaap_LoansAndLeasesReceivableLeaseFinancingPolicy_330223" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1170" xlink:to="loc_us-gaap_LoansAndLeasesReceivableLeaseFinancingPolicy_330223" use="optional" order="14" preferredLabel="http://www.xbrl.org/2003/role/definitionGuidance" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_AccruedLiabilitiesPolicyTextBlock" xlink:label="loc_rgen_AccruedLiabilitiesPolicyTextBlock_1181" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1170" xlink:to="loc_rgen_AccruedLiabilitiesPolicyTextBlock_1181" use="optional" order="15" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="loc_us-gaap_IncomeTaxPolicyTextBlock_1182" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1170" xlink:to="loc_us-gaap_IncomeTaxPolicyTextBlock_1182" use="optional" order="16" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_1183" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1170" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_1183" use="optional" order="17" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerSharePolicyTextBlock" xlink:label="loc_us-gaap_EarningsPerSharePolicyTextBlock_1184" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1170" xlink:to="loc_us-gaap_EarningsPerSharePolicyTextBlock_1184" use="optional" order="18" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:label="loc_us-gaap_SegmentReportingPolicyPolicyTextBlock_1185" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1170" xlink:to="loc_us-gaap_SegmentReportingPolicyPolicyTextBlock_1185" use="optional" order="19" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskCreditRisk" xlink:label="loc_us-gaap_ConcentrationRiskCreditRisk_1186" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1170" xlink:to="loc_us-gaap_ConcentrationRiskCreditRisk_1186" use="optional" order="20" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_1187" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1170" xlink:to="loc_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_1187" use="optional" order="21" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="loc_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_1188" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1170" xlink:to="loc_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_1188" use="optional" order="22" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdvertisingCostsPolicyTextBlock" xlink:label="loc_us-gaap_AdvertisingCostsPolicyTextBlock_330224" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1170" xlink:to="loc_us-gaap_AdvertisingCostsPolicyTextBlock_330224" use="optional" order="23" preferredLabel="http://www.xbrl.org/2003/role/definitionGuidance" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_1189" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1170" xlink:to="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_1189" use="optional" order="24" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesTables">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_1191" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_1196" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_1191" xlink:to="loc_us-gaap_StatementTable_1196" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1194" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_1196" xlink:to="loc_dei_LegalEntityAxis_1194" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1199" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_1194" xlink:to="loc_dei_EntityDomain_1199" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_1193" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_1196" xlink:to="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_1193" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain_1192" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_1193" xlink:to="loc_us-gaap_ConcentrationRiskBenchmarkDomain_1192" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_SalesRevenuesGoodsNetMember" xlink:label="loc_rgen_SalesRevenuesGoodsNetMember_564894" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_1192" xlink:to="loc_rgen_SalesRevenuesGoodsNetMember_564894" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_1195" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_1196" xlink:to="loc_us-gaap_StatementLineItems_1195" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock" xlink:label="loc_rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock_309889" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1195" xlink:to="loc_rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock_309889" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock" xlink:label="loc_rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock_327920" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1195" xlink:to="loc_rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock_327920" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_1203" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1195" xlink:to="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_1203" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:label="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_564893" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1195" xlink:to="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_564893" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock" xlink:label="loc_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock_1206" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1195" xlink:to="loc_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock_1206" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" xlink:label="loc_us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock_1207" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1195" xlink:to="loc_us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock_1207" use="optional" order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock_1208" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1195" xlink:to="loc_us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock_1208" use="optional" order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:label="loc_us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock_1205" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1195" xlink:to="loc_us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock_1205" use="optional" order="15" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/AcquisitionsTables">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TextBlockAbstract" xlink:label="loc_us-gaap_TextBlockAbstract_1229" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_1234" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TextBlockAbstract_1229" xlink:to="loc_us-gaap_StatementTable_1234" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1232" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_1234" xlink:to="loc_dei_LegalEntityAxis_1232" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1239" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_1232" xlink:to="loc_dei_EntityDomain_1239" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_1231" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_1234" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_1231" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_1230" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_1231" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_1230" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ArtesynBiosolutionsMember" xlink:label="loc_rgen_ArtesynBiosolutionsMember_814097" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_1230" xlink:to="loc_rgen_ArtesynBiosolutionsMember_814097" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_NonMetallicSolutionsMember" xlink:label="loc_rgen_NonMetallicSolutionsMember_814100" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_1230" xlink:to="loc_rgen_NonMetallicSolutionsMember_814100" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_EngineeredMoldingTechnologyLlcMember" xlink:label="loc_rgen_EngineeredMoldingTechnologyLlcMember_814103" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_1230" xlink:to="loc_rgen_EngineeredMoldingTechnologyLlcMember_814103" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_CTechnologiesMember" xlink:label="loc_rgen_CTechnologiesMember_464374" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_1230" xlink:to="loc_rgen_CTechnologiesMember_464374" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_1233" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_1234" xlink:to="loc_us-gaap_StatementLineItems_1233" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock" xlink:label="loc_rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock_464983" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1233" xlink:to="loc_rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock_464983" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock_1241" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1233" xlink:to="loc_us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock_1241" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:label="loc_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock_464375" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1233" xlink:to="loc_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock_464375" use="optional" order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:label="loc_us-gaap_BusinessAcquisitionProFormaInformationTextBlock_1242" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1233" xlink:to="loc_us-gaap_BusinessAcquisitionProFormaInformationTextBlock_1242" use="optional" order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/LeasesTables">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LeasesAbstract" xlink:label="loc_us-gaap_LeasesAbstract_410111" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_410113" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_410111" xlink:to="loc_us-gaap_StatementTable_410113" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaap_StatementClassOfStockAxis_410114" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_410113" xlink:to="loc_us-gaap_StatementClassOfStockAxis_410114" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaap_ClassOfStockDomain_410115" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementClassOfStockAxis_410114" xlink:to="loc_us-gaap_ClassOfStockDomain_410115" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_419656" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_410113" xlink:to="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_419656" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="loc_us-gaap_TypeOfAdoptionMember_419657" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_419656" xlink:to="loc_us-gaap_TypeOfAdoptionMember_419657" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_410116" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_410113" xlink:to="loc_us-gaap_StatementLineItems_410116" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_410122" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_410116" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_410122" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock" xlink:label="loc_rgen_AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock_467986" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_410116" xlink:to="loc_rgen_AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock_467986" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LeaseCostTableTextBlock" xlink:label="loc_us-gaap_LeaseCostTableTextBlock_410120" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_410116" xlink:to="loc_us-gaap_LeaseCostTableTextBlock_410120" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock" xlink:label="loc_rgen_ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock_419187" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_410116" xlink:to="loc_rgen_ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock_419187" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock" xlink:label="loc_rgen_ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock_410121" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_410116" xlink:to="loc_rgen_ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock_410121" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/RevenueRecognitionTables">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_566287" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_566357" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_566287" xlink:to="loc_us-gaap_StatementTable_566357" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_566358" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_566357" xlink:to="loc_dei_LegalEntityAxis_566358" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_566359" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_566358" xlink:to="loc_dei_EntityDomain_566359" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_566360" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_566357" xlink:to="loc_us-gaap_StatementLineItems_566360" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="loc_us-gaap_DisaggregationOfRevenueTableTextBlock_566288" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_566360" xlink:to="loc_us-gaap_DisaggregationOfRevenueTableTextBlock_566288" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfRevenueByMajorCustomersTableTextBlock" xlink:label="loc_rgen_ScheduleOfRevenueByMajorCustomersTableTextBlock_566289" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_566360" xlink:to="loc_rgen_ScheduleOfRevenueByMajorCustomersTableTextBlock_566289" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="loc_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_566290" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_566360" xlink:to="loc_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_566290" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/CreditLossesTables">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CreditLossAbstract" xlink:label="loc_us-gaap_CreditLossAbstract_813915" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:label="loc_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_813916" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditLossAbstract_813915" xlink:to="loc_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_813916" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsTables">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_310073" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_328214" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_310073" xlink:to="loc_us-gaap_StatementTable_328214" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_328218" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_328214" xlink:to="loc_dei_LegalEntityAxis_328218" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_328219" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_328218" xlink:to="loc_dei_EntityDomain_328219" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_328215" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_328214" xlink:to="loc_us-gaap_StatementLineItems_328215" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfGoodwillTextBlock" xlink:label="loc_us-gaap_ScheduleOfGoodwillTextBlock_310075" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_328215" xlink:to="loc_us-gaap_ScheduleOfGoodwillTextBlock_310075" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock" xlink:label="loc_rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock_310081" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_328215" xlink:to="loc_rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock_310081" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock_310082" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_328215" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock_310082" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ConsolidatedBalanceSheetDetailTables">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="loc_us-gaap_DisclosureTextBlockAbstract_310127" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_328264" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureTextBlockAbstract_310127" xlink:to="loc_us-gaap_StatementTable_328264" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_328266" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_328264" xlink:to="loc_dei_LegalEntityAxis_328266" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_328267" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_328266" xlink:to="loc_dei_EntityDomain_328267" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_328265" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_328264" xlink:to="loc_us-gaap_StatementLineItems_328265" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_310129" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_328265" xlink:to="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_310129" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" xlink:label="loc_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock_310130" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_328265" xlink:to="loc_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock_310130" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTextBlock_310131" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_328265" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTextBlock_310131" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_310132" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_328265" xlink:to="loc_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_310132" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/IncomeTaxesTables">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_1252" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_1255" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_1252" xlink:to="loc_us-gaap_StatementTable_1255" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1253" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_1255" xlink:to="loc_dei_LegalEntityAxis_1253" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1256" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_1253" xlink:to="loc_dei_EntityDomain_1256" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_1254" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_1255" xlink:to="loc_us-gaap_StatementLineItems_1254" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock_1257" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1254" xlink:to="loc_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock_1257" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_1258" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1254" xlink:to="loc_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_1258" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_1259" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1254" xlink:to="loc_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_1259" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_1260" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1254" xlink:to="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_1260" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SummaryOfIncomeTaxExaminationsTextBlock" xlink:label="loc_us-gaap_SummaryOfIncomeTaxExaminationsTextBlock_1261" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1254" xlink:to="loc_us-gaap_SummaryOfIncomeTaxExaminationsTextBlock_1261" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock" xlink:label="loc_us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock_1262" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1254" xlink:to="loc_us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock_1262" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/StockholdersEquityTables">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaap_EquityAbstract_1271" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_1274" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_1271" xlink:to="loc_us-gaap_StatementTable_1274" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_1273" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_1274" xlink:to="loc_us-gaap_StatementLineItems_1273" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_1276" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1273" xlink:to="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_1276" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_1277" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1273" xlink:to="loc_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_1277" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_1278" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1273" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_1278" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_1279" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1273" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_1279" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ConvertibleSeniorNotesTables">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaap_DebtDisclosureAbstract_1337" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_1340" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_1337" xlink:to="loc_us-gaap_StatementTable_1340" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1338" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_1340" xlink:to="loc_dei_LegalEntityAxis_1338" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1341" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_1338" xlink:to="loc_dei_EntityDomain_1341" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_1339" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_1340" xlink:to="loc_us-gaap_StatementLineItems_1339" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConvertibleDebtTableTextBlock" xlink:label="loc_us-gaap_ConvertibleDebtTableTextBlock_1342" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1339" xlink:to="loc_us-gaap_ConvertibleDebtTableTextBlock_1342" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/AccumulatedOtherComprehensiveIncomeLossTables">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaap_EquityAbstract_1351" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_1354" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_1351" xlink:to="loc_us-gaap_StatementTable_1354" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1352" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_1354" xlink:to="loc_dei_LegalEntityAxis_1352" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1355" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_1352" xlink:to="loc_dei_EntityDomain_1355" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_1353" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_1354" xlink:to="loc_us-gaap_StatementLineItems_1353" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock_1356" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1353" xlink:to="loc_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock_1356" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/SelectedQuarterlyFinancialDataUnauditedTables">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:label="loc_us-gaap_QuarterlyFinancialInformationDisclosureAbstract_1379" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_1382" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_QuarterlyFinancialInformationDisclosureAbstract_1379" xlink:to="loc_us-gaap_StatementTable_1382" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1380" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_1382" xlink:to="loc_dei_LegalEntityAxis_1380" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1383" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_1380" xlink:to="loc_dei_EntityDomain_1383" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_1381" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_1382" xlink:to="loc_us-gaap_StatementLineItems_1381" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock_1384" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_1381" xlink:to="loc_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock_1384" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_217" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_SummaryOfSignificantAccountingPoliciesTable" xlink:label="loc_rgen_SummaryOfSignificantAccountingPoliciesTable_236" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_217" xlink:to="loc_rgen_SummaryOfSignificantAccountingPoliciesTable_236" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="loc_us-gaap_SubsequentEventTypeAxis_233" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesTable_236" xlink:to="loc_us-gaap_SubsequentEventTypeAxis_233" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_234" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventTypeAxis_233" xlink:to="loc_us-gaap_SubsequentEventTypeDomain_234" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MajorCustomersAxis" xlink:label="loc_srt_MajorCustomersAxis_228" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesTable_236" xlink:to="loc_srt_MajorCustomersAxis_228" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_NameOfMajorCustomerDomain" xlink:label="loc_srt_NameOfMajorCustomerDomain_229" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_MajorCustomersAxis_228" xlink:to="loc_srt_NameOfMajorCustomerDomain_229" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_CytivaMember" xlink:label="loc_rgen_CytivaMember_814058" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_NameOfMajorCustomerDomain_229" xlink:to="loc_rgen_CytivaMember_814058" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaap_AwardTypeAxis_220" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesTable_236" xlink:to="loc_us-gaap_AwardTypeAxis_220" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_232" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_220" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_232" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_OptionToPurchaseCommonStockMember" xlink:label="loc_rgen_OptionToPurchaseCommonStockMember_250" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_232" xlink:to="loc_rgen_OptionToPurchaseCommonStockMember_250" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_249" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_232" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_249" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_NonEmployeeDirectorStockOptionMember" xlink:label="loc_rgen_NonEmployeeDirectorStockOptionMember_252" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_232" xlink:to="loc_rgen_NonEmployeeDirectorStockOptionMember_252" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="loc_us-gaap_EmployeeStockOptionMember_565155" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_232" xlink:to="loc_us-gaap_EmployeeStockOptionMember_565155" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredRevenueArrangementTypeAxis" xlink:label="loc_us-gaap_DeferredRevenueArrangementTypeAxis_223" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesTable_236" xlink:to="loc_us-gaap_DeferredRevenueArrangementTypeAxis_223" use="optional" order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredRevenueArrangementTypeDomain" xlink:label="loc_us-gaap_DeferredRevenueArrangementTypeDomain_224" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredRevenueArrangementTypeAxis_223" xlink:to="loc_us-gaap_DeferredRevenueArrangementTypeDomain_224" use="optional" order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeAxis" xlink:label="loc_srt_RangeAxis_230" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesTable_236" xlink:to="loc_srt_RangeAxis_230" use="optional" order="15" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember" xlink:label="loc_srt_RangeMember_231" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_230" xlink:to="loc_srt_RangeMember_231" use="optional" order="16" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_TitleOfIndividualAxis" xlink:label="loc_srt_TitleOfIndividualAxis_237" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesTable_236" xlink:to="loc_srt_TitleOfIndividualAxis_237" use="optional" order="17" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_238" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_TitleOfIndividualAxis_237" xlink:to="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_238" use="optional" order="18" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ExecutiveOfficerMember" xlink:label="loc_srt_ExecutiveOfficerMember_286" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_238" xlink:to="loc_srt_ExecutiveOfficerMember_286" use="optional" order="19" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_NonExecutiveMember" xlink:label="loc_rgen_NonExecutiveMember_565126" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_238" xlink:to="loc_rgen_NonExecutiveMember_565126" use="optional" order="20" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentAxis" xlink:label="loc_us-gaap_DebtInstrumentAxis_221" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesTable_236" xlink:to="loc_us-gaap_DebtInstrumentAxis_221" use="optional" order="21" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_222" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentAxis_221" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_222" use="optional" order="22" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember" xlink:label="loc_rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember_499357" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_222" xlink:to="loc_rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember_499357" use="optional" order="23" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_218" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesTable_236" xlink:to="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_218" use="optional" order="24" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="loc_us-gaap_TypeOfAdoptionMember_239" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_218" xlink:to="loc_us-gaap_TypeOfAdoptionMember_239" use="optional" order="25" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="loc_us-gaap_IncomeTaxAuthorityAxis_225" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesTable_236" xlink:to="loc_us-gaap_IncomeTaxAuthorityAxis_225" use="optional" order="26" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain_226" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis_225" xlink:to="loc_us-gaap_IncomeTaxAuthorityDomain_226" use="optional" order="27" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="loc_us-gaap_BalanceSheetLocationAxis_310007" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesTable_236" xlink:to="loc_us-gaap_BalanceSheetLocationAxis_310007" use="optional" order="28" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_310008" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_310007" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_310008" use="optional" order="29" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsAxis" xlink:label="loc_us-gaap_CashAndCashEquivalentsAxis_333058" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesTable_236" xlink:to="loc_us-gaap_CashAndCashEquivalentsAxis_333058" use="optional" order="30" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_333059" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAxis_333058" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_333059" use="optional" order="31" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_MoneyMarketFundsMember" xlink:label="loc_us-gaap_MoneyMarketFundsMember_333060" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_333059" xlink:to="loc_us-gaap_MoneyMarketFundsMember_333060" use="optional" order="32" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_333061" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesTable_236" xlink:to="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_333061" use="optional" order="33" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_333062" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_333061" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_333062" use="optional" order="34" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="loc_us-gaap_FairValueInputsLevel1Member_333063" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_333062" xlink:to="loc_us-gaap_FairValueInputsLevel1Member_333063" use="optional" order="35" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="loc_us-gaap_LongtermDebtTypeAxis_502681" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesTable_236" xlink:to="loc_us-gaap_LongtermDebtTypeAxis_502681" use="optional" order="36" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_502682" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_502681" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_502682" use="optional" order="37" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="loc_us-gaap_FairValueByMeasurementFrequencyAxis_502684" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesTable_236" xlink:to="loc_us-gaap_FairValueByMeasurementFrequencyAxis_502684" use="optional" order="38" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_502685" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_502684" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_502685" use="optional" order="39" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_817364" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesTable_236" xlink:to="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_817364" use="optional" order="40" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain_817365" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_817364" xlink:to="loc_us-gaap_ConcentrationRiskBenchmarkDomain_817365" use="optional" order="41" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsReceivableMember" xlink:label="loc_us-gaap_AccountsReceivableMember_817366" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_817365" xlink:to="loc_us-gaap_AccountsReceivableMember_817366" use="optional" order="42" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="loc_us-gaap_ConcentrationRiskByTypeAxis_817369" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesTable_236" xlink:to="loc_us-gaap_ConcentrationRiskByTypeAxis_817369" use="optional" order="43" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="loc_us-gaap_ConcentrationRiskTypeDomain_817370" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskByTypeAxis_817369" xlink:to="loc_us-gaap_ConcentrationRiskTypeDomain_817370" use="optional" order="44" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="loc_us-gaap_CustomerConcentrationRiskMember_817372" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTypeDomain_817370" xlink:to="loc_us-gaap_CustomerConcentrationRiskMember_817372" use="optional" order="45" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_SummaryOfSignificantAccountingPoliciesLineItems" xlink:label="loc_rgen_SummaryOfSignificantAccountingPoliciesLineItems_235" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesTable_236" xlink:to="loc_rgen_SummaryOfSignificantAccountingPoliciesLineItems_235" use="optional" order="46" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="loc_us-gaap_DebtInstrumentFaceAmount_265" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesLineItems_235" xlink:to="loc_us-gaap_DebtInstrumentFaceAmount_265" use="optional" order="47" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentFrequencyOfPeriodicPayment" xlink:label="loc_us-gaap_DebtInstrumentFrequencyOfPeriodicPayment_267" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesLineItems_235" xlink:to="loc_us-gaap_DebtInstrumentFrequencyOfPeriodicPayment_267" use="optional" order="48" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongTermDebt" xlink:label="loc_us-gaap_LongTermDebt_269" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesLineItems_235" xlink:to="loc_us-gaap_LongTermDebt_269" use="optional" order="49" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongTermDebtFairValue" xlink:label="loc_us-gaap_LongTermDebtFairValue_270" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesLineItems_235" xlink:to="loc_us-gaap_LongTermDebtFairValue_270" use="optional" order="50" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_272" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesLineItems_235" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_272" use="optional" order="51" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_273" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesLineItems_235" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_273" use="optional" order="52" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_274" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesLineItems_235" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_274" use="optional" order="53" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_275" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesLineItems_235" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_275" use="optional" order="54" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities_614323" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesLineItems_235" xlink:to="loc_us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities_614323" use="optional" order="55" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_PercentageOfSharesSubjectToForfeiture" xlink:label="loc_rgen_PercentageOfSharesSubjectToForfeiture_280" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesLineItems_235" xlink:to="loc_rgen_PercentageOfSharesSubjectToForfeiture_280" use="optional" order="56" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdvertisingExpense" xlink:label="loc_us-gaap_AdvertisingExpense_329150" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesLineItems_235" xlink:to="loc_us-gaap_AdvertisingExpense_329150" use="optional" order="57" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_333057" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesLineItems_235" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_333057" use="optional" order="58" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_284" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesLineItems_235" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_284" use="optional" order="59" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_499359" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesLineItems_235" xlink:to="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_499359" use="optional" order="60" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="loc_us-gaap_ConcentrationRiskPercentage1_814057" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_SummaryOfSignificantAccountingPoliciesLineItems_235" xlink:to="loc_us-gaap_ConcentrationRiskPercentage1_814057" use="optional" order="61" preferredLabel="http://www.xbrl.org/2003/role/label" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ScheduleOfCashCashEquivalentsAndRestrictedCashDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_309915" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_309917" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_309915" xlink:to="loc_us-gaap_StatementTable_309917" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsLineItems" xlink:label="loc_us-gaap_CashAndCashEquivalentsLineItems_309920" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_309917" xlink:to="loc_us-gaap_CashAndCashEquivalentsLineItems_309920" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_309921" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsLineItems_309920" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_309921" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedCash" xlink:label="loc_us-gaap_RestrictedCash_309922" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsLineItems_309920" xlink:to="loc_us-gaap_RestrictedCash_309922" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_309923" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsLineItems_309920" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_309923" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/EstimatedUsefulLifeOfAssetsDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAbstract_564945" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_564946" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_564945" xlink:to="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_564946" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_564947" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_564946" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_564947" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_564949" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_564947" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_564949" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BuildingMember" xlink:label="loc_us-gaap_BuildingMember_564950" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_564949" xlink:to="loc_us-gaap_BuildingMember_564950" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="loc_us-gaap_LeaseholdImprovementsMember_564951" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_564949" xlink:to="loc_us-gaap_LeaseholdImprovementsMember_564951" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EquipmentMember" xlink:label="loc_us-gaap_EquipmentMember_564952" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_564949" xlink:to="loc_us-gaap_EquipmentMember_564952" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_FurnitureFixturesAndOfficeEquipmentMemberMember" xlink:label="loc_rgen_FurnitureFixturesAndOfficeEquipmentMemberMember_564954" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_564949" xlink:to="loc_rgen_FurnitureFixturesAndOfficeEquipmentMemberMember_564954" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ComputerHardwareAndSoftwareMemberMember" xlink:label="loc_rgen_ComputerHardwareAndSoftwareMemberMember_564956" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_564949" xlink:to="loc_rgen_ComputerHardwareAndSoftwareMemberMember_564956" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeAxis" xlink:label="loc_srt_RangeAxis_564957" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_564946" xlink:to="loc_srt_RangeAxis_564957" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember" xlink:label="loc_srt_RangeMember_564958" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_564957" xlink:to="loc_srt_RangeMember_564958" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MaximumMember" xlink:label="loc_srt_MaximumMember_564959" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_564958" xlink:to="loc_srt_MaximumMember_564959" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MinimumMember" xlink:label="loc_srt_MinimumMember_564960" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_564958" xlink:to="loc_srt_MinimumMember_564960" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems_564962" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_564946" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentLineItems_564962" use="optional" order="13" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife_564976" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_564962" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife_564976" use="optional" order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentEstimatedUsefulLives" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentEstimatedUsefulLives_564977" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_564962" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentEstimatedUsefulLives_564977" use="optional" order="15" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ReconciliationOfBasicAndDilutedSharesAmountsDetail">
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ReconciliationOfBasicAndDilutedAbstract" xlink:label="loc_rgen_ReconciliationOfBasicAndDilutedAbstract_564903" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable" xlink:label="loc_rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable_564909" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_ReconciliationOfBasicAndDilutedAbstract_564903" xlink:to="loc_rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable_564909" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_564910" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable_564909" xlink:to="loc_dei_LegalEntityAxis_564910" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_564911" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_564910" xlink:to="loc_dei_EntityDomain_564911" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems" xlink:label="loc_rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems_564912" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable_564909" xlink:to="loc_rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems_564912" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_564913" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems_564912" xlink:to="loc_us-gaap_NetIncomeLoss_564913" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_564914" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems_564912" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_564914" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DilutiveSecuritiesAbstract" xlink:label="loc_us-gaap_DilutiveSecuritiesAbstract_564915" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems_564912" xlink:to="loc_us-gaap_DilutiveSecuritiesAbstract_564915" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesRestrictedStock" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesRestrictedStock_564916" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DilutiveSecuritiesAbstract_564915" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesRestrictedStock_564916" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities_564917" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DilutiveSecuritiesAbstract_564915" xlink:to="loc_us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities_564917" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:label="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_564918" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DilutiveSecuritiesAbstract_564915" xlink:to="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_564918" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_564980" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DilutiveSecuritiesAbstract_564915" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_564980" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareBasicAndDilutedAbstract" xlink:label="loc_us-gaap_EarningsPerShareBasicAndDilutedAbstract_564919" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems_564912" xlink:to="loc_us-gaap_EarningsPerShareBasicAndDilutedAbstract_564919" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/definitionGuidance" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareBasic" xlink:label="loc_us-gaap_EarningsPerShareBasic_564920" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareBasicAndDilutedAbstract_564919" xlink:to="loc_us-gaap_EarningsPerShareBasic_564920" use="optional" order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaap_EarningsPerShareDiluted_564921" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareBasicAndDilutedAbstract_564919" xlink:to="loc_us-gaap_EarningsPerShareDiluted_564921" use="optional" order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/SummaryOfProductRevenuesByProductLineDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_565003" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:label="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_565005" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_565003" xlink:to="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_565005" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srt_ProductOrServiceAxis_565008" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_565005" xlink:to="loc_srt_ProductOrServiceAxis_565008" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srt_ProductsAndServicesDomain_565010" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductOrServiceAxis_565008" xlink:to="loc_srt_ProductsAndServicesDomain_565010" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_FiltrationProductsMember" xlink:label="loc_rgen_FiltrationProductsMember_565013" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_565010" xlink:to="loc_rgen_FiltrationProductsMember_565013" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ChromatographyProductsMember" xlink:label="loc_rgen_ChromatographyProductsMember_565012" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_565010" xlink:to="loc_rgen_ChromatographyProductsMember_565012" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ProcessAnalyticsProductsMember" xlink:label="loc_rgen_ProcessAnalyticsProductsMember_565014" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_565010" xlink:to="loc_rgen_ProcessAnalyticsProductsMember_565014" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ProteinsProductsMember" xlink:label="loc_rgen_ProteinsProductsMember_565015" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_565010" xlink:to="loc_rgen_ProteinsProductsMember_565015" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_OtherProductsMember" xlink:label="loc_rgen_OtherProductsMember_565016" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_565010" xlink:to="loc_rgen_OtherProductsMember_565016" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProductMember" xlink:label="loc_us-gaap_ProductMember_597882" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_565010" xlink:to="loc_us-gaap_ProductMember_597882" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:label="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_565017" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_565005" xlink:to="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_565017" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_565018" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_565017" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_565018" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/PercentageOfRevenueByGeographicAreaDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RisksAndUncertaintiesAbstract" xlink:label="loc_us-gaap_RisksAndUncertaintiesAbstract_565020" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskTable" xlink:label="loc_us-gaap_ConcentrationRiskTable_565021" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RisksAndUncertaintiesAbstract_565020" xlink:to="loc_us-gaap_ConcentrationRiskTable_565021" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_565022" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTable_565021" xlink:to="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_565022" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain_565023" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_565022" xlink:to="loc_us-gaap_ConcentrationRiskBenchmarkDomain_565023" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_SalesRevenuesGoodsNetMember" xlink:label="loc_rgen_SalesRevenuesGoodsNetMember_565025" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_565023" xlink:to="loc_rgen_SalesRevenuesGoodsNetMember_565025" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="loc_us-gaap_ConcentrationRiskByTypeAxis_565026" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTable_565021" xlink:to="loc_us-gaap_ConcentrationRiskByTypeAxis_565026" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="loc_us-gaap_ConcentrationRiskTypeDomain_565028" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskByTypeAxis_565026" xlink:to="loc_us-gaap_ConcentrationRiskTypeDomain_565028" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GeographicConcentrationRiskMember" xlink:label="loc_us-gaap_GeographicConcentrationRiskMember_565029" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTypeDomain_565028" xlink:to="loc_us-gaap_GeographicConcentrationRiskMember_565029" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srt_StatementGeographicalAxis_565031" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTable_565021" xlink:to="loc_srt_StatementGeographicalAxis_565031" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srt_SegmentGeographicalDomain_565034" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_StatementGeographicalAxis_565031" xlink:to="loc_srt_SegmentGeographicalDomain_565034" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_NorthAmericaMember" xlink:label="loc_srt_NorthAmericaMember_565037" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_565034" xlink:to="loc_srt_NorthAmericaMember_565037" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_EuropeMember" xlink:label="loc_srt_EuropeMember_565038" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_565034" xlink:to="loc_srt_EuropeMember_565038" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_APACOtherMember" xlink:label="loc_rgen_APACOtherMember_813990" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_565034" xlink:to="loc_rgen_APACOtherMember_813990" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="loc_us-gaap_ConcentrationRiskLineItems_565045" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTable_565021" xlink:to="loc_us-gaap_ConcentrationRiskLineItems_565045" use="optional" order="13" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="loc_us-gaap_ConcentrationRiskPercentage1_565046" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskLineItems_565045" xlink:to="loc_us-gaap_ConcentrationRiskPercentage1_565046" use="optional" order="14" preferredLabel="http://www.xbrl.org/2003/role/definitionGuidance" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/TotalAssetsByGeographicAreaDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RisksAndUncertaintiesAbstract" xlink:label="loc_us-gaap_RisksAndUncertaintiesAbstract_392" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" xlink:label="loc_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable_394" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RisksAndUncertaintiesAbstract_392" xlink:to="loc_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable_394" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_393" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable_394" xlink:to="loc_dei_LegalEntityAxis_393" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_398" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_393" xlink:to="loc_dei_EntityDomain_398" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srt_StatementGeographicalAxis_397" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable_394" xlink:to="loc_srt_StatementGeographicalAxis_397" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srt_SegmentGeographicalDomain_395" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_StatementGeographicalAxis_397" xlink:to="loc_srt_SegmentGeographicalDomain_395" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_NorthAmericaMember" xlink:label="loc_srt_NorthAmericaMember_329159" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_395" xlink:to="loc_srt_NorthAmericaMember_329159" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_EuropeMember" xlink:label="loc_srt_EuropeMember_400" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_395" xlink:to="loc_srt_EuropeMember_400" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_APACMember" xlink:label="loc_rgen_APACMember_329160" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_395" xlink:to="loc_rgen_APACMember_329160" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SegmentReportingAssetReconcilingItemLineItems" xlink:label="loc_us-gaap_SegmentReportingAssetReconcilingItemLineItems_396" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable_394" xlink:to="loc_us-gaap_SegmentReportingAssetReconcilingItemLineItems_396" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Assets" xlink:label="loc_us-gaap_Assets_402" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAssetReconcilingItemLineItems_396" xlink:to="loc_us-gaap_Assets_402" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/LongLivedAssetsByGeographicAreaDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SegmentReportingAbstract" xlink:label="loc_us-gaap_SegmentReportingAbstract_404" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable" xlink:label="loc_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable_406" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_404" xlink:to="loc_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable_406" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_405" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable_406" xlink:to="loc_dei_LegalEntityAxis_405" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_410" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_405" xlink:to="loc_dei_EntityDomain_410" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srt_StatementGeographicalAxis_409" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable_406" xlink:to="loc_srt_StatementGeographicalAxis_409" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srt_SegmentGeographicalDomain_407" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_StatementGeographicalAxis_409" xlink:to="loc_srt_SegmentGeographicalDomain_407" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_NorthAmericaMember" xlink:label="loc_srt_NorthAmericaMember_329161" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_407" xlink:to="loc_srt_NorthAmericaMember_329161" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_EuropeMember" xlink:label="loc_srt_EuropeMember_329162" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_407" xlink:to="loc_srt_EuropeMember_329162" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_APACMember" xlink:label="loc_rgen_APACMember_329163" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_407" xlink:to="loc_rgen_APACMember_329163" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SegmentReportingAssetReconcilingItemLineItems" xlink:label="loc_us-gaap_SegmentReportingAssetReconcilingItemLineItems_408" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable_406" xlink:to="loc_us-gaap_SegmentReportingAssetReconcilingItemLineItems_408" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_AssetsNonCurrentExcludingDifferedTaxAssets" xlink:label="loc_rgen_AssetsNonCurrentExcludingDifferedTaxAssets_414" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAssetReconcilingItemLineItems_408" xlink:to="loc_rgen_AssetsNonCurrentExcludingDifferedTaxAssets_414" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/PercentageOfRevenueFromSignificantCustomersDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RisksAndUncertaintiesAbstract" xlink:label="loc_us-gaap_RisksAndUncertaintiesAbstract_416" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:label="loc_us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable_425" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RisksAndUncertaintiesAbstract_416" xlink:to="loc_us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable_425" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="loc_us-gaap_ConcentrationRiskByTypeAxis_419" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable_425" xlink:to="loc_us-gaap_ConcentrationRiskByTypeAxis_419" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="loc_us-gaap_ConcentrationRiskTypeDomain_420" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskByTypeAxis_419" xlink:to="loc_us-gaap_ConcentrationRiskTypeDomain_420" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="loc_us-gaap_CustomerConcentrationRiskMember_427" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTypeDomain_420" xlink:to="loc_us-gaap_CustomerConcentrationRiskMember_427" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_418" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable_425" xlink:to="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_418" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain_417" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_418" xlink:to="loc_us-gaap_ConcentrationRiskBenchmarkDomain_417" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SalesRevenueNetMember" xlink:label="loc_us-gaap_SalesRevenueNetMember_426" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_417" xlink:to="loc_us-gaap_SalesRevenueNetMember_426" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MajorCustomersAxis" xlink:label="loc_srt_MajorCustomersAxis_423" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable_425" xlink:to="loc_srt_MajorCustomersAxis_423" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_NameOfMajorCustomerDomain" xlink:label="loc_srt_NameOfMajorCustomerDomain_424" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_MajorCustomersAxis_423" xlink:to="loc_srt_NameOfMajorCustomerDomain_424" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_MilliporeSigmaMember" xlink:label="loc_rgen_MilliporeSigmaMember_431" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_NameOfMajorCustomerDomain_424" xlink:to="loc_rgen_MilliporeSigmaMember_431" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_CytivaMember" xlink:label="loc_rgen_CytivaMember_430" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_NameOfMajorCustomerDomain_424" xlink:to="loc_rgen_CytivaMember_430" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EntityWideRevenueMajorCustomerLineItems" xlink:label="loc_us-gaap_EntityWideRevenueMajorCustomerLineItems_421" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable_425" xlink:to="loc_us-gaap_EntityWideRevenueMajorCustomerLineItems_421" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="loc_us-gaap_ConcentrationRiskPercentage1_428" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EntityWideRevenueMajorCustomerLineItems_421" xlink:to="loc_us-gaap_ConcentrationRiskPercentage1_428" use="optional" order="13" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationsAbstract" xlink:label="loc_us-gaap_BusinessCombinationsAbstract_481" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_494" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationsAbstract_481" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_494" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeAxis" xlink:label="loc_srt_RangeAxis_492" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_494" xlink:to="loc_srt_RangeAxis_492" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember" xlink:label="loc_srt_RangeMember_493" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_492" xlink:to="loc_srt_RangeMember_493" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_483" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_494" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_483" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_482" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_483" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_482" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_CTechnologiesMember" xlink:label="loc_rgen_CTechnologiesMember_464438" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_482" xlink:to="loc_rgen_CTechnologiesMember_464438" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ArtesynBiosolutionsMember" xlink:label="loc_rgen_ArtesynBiosolutionsMember_814117" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_482" xlink:to="loc_rgen_ArtesynBiosolutionsMember_814117" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_NonMetallicSolutionsMember" xlink:label="loc_rgen_NonMetallicSolutionsMember_814149" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_482" xlink:to="loc_rgen_NonMetallicSolutionsMember_814149" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_EngineeredMoldingTechnologyLlcMember" xlink:label="loc_rgen_EngineeredMoldingTechnologyLlcMember_814162" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_482" xlink:to="loc_rgen_EngineeredMoldingTechnologyLlcMember_814162" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_487" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_494" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_487" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_488" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_487" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_488" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_489" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_494" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_489" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_490" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_489" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_490" use="optional" order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_520" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_490" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_520" use="optional" order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ContingentConsiderationByTypeAxis" xlink:label="loc_us-gaap_ContingentConsiderationByTypeAxis_485" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_494" xlink:to="loc_us-gaap_ContingentConsiderationByTypeAxis_485" use="optional" order="15" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ContingentConsiderationTypeDomain" xlink:label="loc_us-gaap_ContingentConsiderationTypeDomain_486" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ContingentConsiderationByTypeAxis_485" xlink:to="loc_us-gaap_ContingentConsiderationTypeDomain_486" use="optional" order="16" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueByAssetClassAxis" xlink:label="loc_us-gaap_FairValueByAssetClassAxis_464441" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_494" xlink:to="loc_us-gaap_FairValueByAssetClassAxis_464441" use="optional" order="17" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:label="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_464442" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByAssetClassAxis_464441" xlink:to="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_464442" use="optional" order="18" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GoodwillMember" xlink:label="loc_us-gaap_GoodwillMember_464443" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_464442" xlink:to="loc_us-gaap_GoodwillMember_464443" use="optional" order="19" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_464445" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_494" xlink:to="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_464445" use="optional" order="20" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="loc_us-gaap_TypeOfAdoptionMember_464446" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_464445" xlink:to="loc_us-gaap_TypeOfAdoptionMember_464446" use="optional" order="21" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NonrecurringAdjustmentAxis" xlink:label="loc_us-gaap_NonrecurringAdjustmentAxis_467962" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_494" xlink:to="loc_us-gaap_NonrecurringAdjustmentAxis_467962" use="optional" order="22" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NonrecurringAdjustmentDomain" xlink:label="loc_us-gaap_NonrecurringAdjustmentDomain_467963" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NonrecurringAdjustmentAxis_467962" xlink:to="loc_us-gaap_NonrecurringAdjustmentDomain_467963" use="optional" order="23" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_TitleOfIndividualAxis" xlink:label="loc_srt_TitleOfIndividualAxis_607080" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_494" xlink:to="loc_srt_TitleOfIndividualAxis_607080" use="optional" order="24" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_607082" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_TitleOfIndividualAxis_607080" xlink:to="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_607082" use="optional" order="25" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TrustForBenefitOfEmployeesMember" xlink:label="loc_us-gaap_TrustForBenefitOfEmployeesMember_814175" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_607082" xlink:to="loc_us-gaap_TrustForBenefitOfEmployeesMember_814175" use="optional" order="26" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_484" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_494" xlink:to="loc_us-gaap_BusinessAcquisitionLineItems_484" use="optional" order="27" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesGross" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesGross_813905" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_484" xlink:to="loc_us-gaap_PaymentsToAcquireBusinessesGross_813905" use="optional" order="28" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" xlink:label="loc_us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued_499" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_484" xlink:to="loc_us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued_499" use="optional" order="29" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable_500" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_484" xlink:to="loc_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable_500" use="optional" order="30" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferred1_502" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_484" xlink:to="loc_us-gaap_BusinessCombinationConsiderationTransferred1_502" use="optional" order="31" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets" xlink:label="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets_465011" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_484" xlink:to="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets_465011" use="optional" order="32" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:label="loc_us-gaap_BusinessCombinationAcquisitionRelatedCosts_504" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_484" xlink:to="loc_us-gaap_BusinessCombinationAcquisitionRelatedCosts_504" use="optional" order="33" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_505" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_484" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_505" use="optional" order="34" preferredLabel="http://www.xbrl.org/2003/role/positiveLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual" xlink:label="loc_us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual_510" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_484" xlink:to="loc_us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual_510" use="optional" order="35" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue" xlink:label="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue_464444" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_484" xlink:to="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue_464444" use="optional" order="36" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" xlink:label="loc_us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts_467961" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_484" xlink:to="loc_us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts_467961" use="optional" order="37" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:label="loc_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss_468635" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_484" xlink:to="loc_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss_468635" use="optional" order="38" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred_814146" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_484" xlink:to="loc_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred_814146" use="optional" order="39" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices" xlink:label="loc_rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices_814147" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_484" xlink:to="loc_rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices_814147" use="optional" order="40" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_BusinessCombinationsCashDepositedInEscrowAccount" xlink:label="loc_rgen_BusinessCombinationsCashDepositedInEscrowAccount_814150" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_484" xlink:to="loc_rgen_BusinessCombinationsCashDepositedInEscrowAccount_814150" use="optional" order="41" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:label="loc_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired_814159" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_484" xlink:to="loc_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired_814159" use="optional" order="42" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_BusinessCombinationConsiderationIndemnificationEscrow" xlink:label="loc_rgen_BusinessCombinationConsiderationIndemnificationEscrow_814169" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_484" xlink:to="loc_rgen_BusinessCombinationConsiderationIndemnificationEscrow_814169" use="optional" order="43" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaap_Goodwill_814170" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_484" xlink:to="loc_us-gaap_Goodwill_814170" use="optional" order="44" preferredLabel="http://www.xbrl.org/2003/role/definitionGuidance" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CompensationExpenseExcludingCostOfGoodAndServiceSold" xlink:label="loc_us-gaap_CompensationExpenseExcludingCostOfGoodAndServiceSold_814178" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_484" xlink:to="loc_us-gaap_CompensationExpenseExcludingCostOfGoodAndServiceSold_814178" use="optional" order="45" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_814181" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_484" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_814181" use="optional" order="46" preferredLabel="http://www.xbrl.org/2003/role/definitionGuidance" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/AcquisitionsConsiderationTransferredDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationsAbstract" xlink:label="loc_us-gaap_BusinessCombinationsAbstract_525" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_530" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationsAbstract_525" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_530" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_529" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_530" xlink:to="loc_dei_LegalEntityAxis_529" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_540" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_529" xlink:to="loc_dei_EntityDomain_540" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_527" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_530" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_527" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_526" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_527" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_526" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ArtesynBiosolutionsMember" xlink:label="loc_rgen_ArtesynBiosolutionsMember_813870" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_526" xlink:to="loc_rgen_ArtesynBiosolutionsMember_813870" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_528" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_530" xlink:to="loc_us-gaap_BusinessAcquisitionLineItems_528" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_CashConsiderationExcludingRestrictedCash" xlink:label="loc_rgen_CashConsiderationExcludingRestrictedCash_534" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_528" xlink:to="loc_rgen_CashConsiderationExcludingRestrictedCash_534" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable_536" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_528" xlink:to="loc_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable_536" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred_813863" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_528" xlink:to="loc_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred_813863" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices" xlink:label="loc_rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices_814189" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_528" xlink:to="loc_rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices_814189" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferred1_539" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_528" xlink:to="loc_us-gaap_BusinessCombinationConsiderationTransferred1_539" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/AcquisitionsFairValueOfNetAssetsAcquiredDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationsAbstract" xlink:label="loc_us-gaap_BusinessCombinationsAbstract_542" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_549" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationsAbstract_542" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_549" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_548" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_549" xlink:to="loc_dei_LegalEntityAxis_548" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_573" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_548" xlink:to="loc_dei_EntityDomain_573" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_544" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_549" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_544" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_543" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_544" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_543" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ArtesynBiosolutionsMember" xlink:label="loc_rgen_ArtesynBiosolutionsMember_813873" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_543" xlink:to="loc_rgen_ArtesynBiosolutionsMember_813873" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_NonMetallicSolutionsMember" xlink:label="loc_rgen_NonMetallicSolutionsMember_814210" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_543" xlink:to="loc_rgen_NonMetallicSolutionsMember_814210" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_EngineeredMoldingTechnologyLlcMember" xlink:label="loc_rgen_EngineeredMoldingTechnologyLlcMember_814213" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_543" xlink:to="loc_rgen_EngineeredMoldingTechnologyLlcMember_814213" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_CTechnologiesMember" xlink:label="loc_rgen_CTechnologiesMember_464434" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_543" xlink:to="loc_rgen_CTechnologiesMember_464434" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_546" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_549" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_546" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_547" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_546" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_547" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="loc_us-gaap_CustomerRelationshipsMember_569" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_547" xlink:to="loc_us-gaap_CustomerRelationshipsMember_569" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="loc_us-gaap_DevelopedTechnologyRightsMember_570" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_547" xlink:to="loc_us-gaap_DevelopedTechnologyRightsMember_570" use="optional" order="13" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TrademarksAndTradeNamesMember" xlink:label="loc_us-gaap_TrademarksAndTradeNamesMember_571" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_547" xlink:to="loc_us-gaap_TrademarksAndTradeNamesMember_571" use="optional" order="14" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="loc_us-gaap_NoncompeteAgreementsMember_572" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_547" xlink:to="loc_us-gaap_NoncompeteAgreementsMember_572" use="optional" order="15" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_545" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_549" xlink:to="loc_us-gaap_BusinessAcquisitionLineItems_545" use="optional" order="16" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_553" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_545" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_553" use="optional" order="17" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRestrictedCash" xlink:label="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRestrictedCash_464409" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_545" xlink:to="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRestrictedCash_464409" use="optional" order="18" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_554" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_545" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_554" use="optional" order="19" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory_556" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_545" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory_556" use="optional" order="20" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_558" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_545" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_558" use="optional" order="21" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_559" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_545" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_559" use="optional" order="22" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset" xlink:label="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset_464416" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_545" xlink:to="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset_464416" use="optional" order="23" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets_813874" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_545" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets_813874" use="optional" order="24" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets_560" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_545" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets_560" use="optional" order="25" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_562" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_545" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_562" use="optional" order="26" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaap_Goodwill_564" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_545" xlink:to="loc_us-gaap_Goodwill_564" use="optional" order="27" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable_566" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_545" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable_566" use="optional" order="28" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" xlink:label="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities_568" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_545" xlink:to="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities_568" use="optional" order="29" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedBonus" xlink:label="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedBonus_465040" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_545" xlink:to="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedBonus_465040" use="optional" order="30" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityCurrent" xlink:label="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityCurrent_814222" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_545" xlink:to="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityCurrent_814222" use="optional" order="31" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilitiesCurrent" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilitiesCurrent_813876" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_545" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilitiesCurrent_813876" use="optional" order="32" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesNotesPayable" xlink:label="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesNotesPayable_814195" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_545" xlink:to="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesNotesPayable_814195" use="optional" order="33" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent" xlink:label="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent_464419" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_545" xlink:to="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent_464419" use="optional" order="34" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent" xlink:label="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent_464423" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_545" xlink:to="loc_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent_464423" use="optional" order="35" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_565" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_545" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_565" use="optional" order="36" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/AcquisitionsEstimatedUsefulLifeAndFairValueDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationsAbstract" xlink:label="loc_us-gaap_BusinessCombinationsAbstract_464408" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_464411" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationsAbstract_464408" xlink:to="loc_us-gaap_StatementTable_464411" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_464415" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_464411" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_464415" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_464417" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_464415" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_464417" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ArtesynBiosolutionsMember" xlink:label="loc_rgen_ArtesynBiosolutionsMember_814198" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_464417" xlink:to="loc_rgen_ArtesynBiosolutionsMember_814198" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_NonMetallicSolutionsMember" xlink:label="loc_rgen_NonMetallicSolutionsMember_814211" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_464417" xlink:to="loc_rgen_NonMetallicSolutionsMember_814211" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_EngineeredMoldingTechnologyLlcMember" xlink:label="loc_rgen_EngineeredMoldingTechnologyLlcMember_814215" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_464417" xlink:to="loc_rgen_EngineeredMoldingTechnologyLlcMember_814215" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_464412" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_464411" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_464412" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_464413" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_464412" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_464413" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="loc_us-gaap_CustomerRelationshipsMember_464420" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_464413" xlink:to="loc_us-gaap_CustomerRelationshipsMember_464420" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="loc_us-gaap_DevelopedTechnologyRightsMember_464421" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_464413" xlink:to="loc_us-gaap_DevelopedTechnologyRightsMember_464421" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TradeNamesMember" xlink:label="loc_us-gaap_TradeNamesMember_464422" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_464413" xlink:to="loc_us-gaap_TradeNamesMember_464422" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="loc_us-gaap_NoncompeteAgreementsMember_464424" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_464413" xlink:to="loc_us-gaap_NoncompeteAgreementsMember_464424" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_464414" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_464411" xlink:to="loc_us-gaap_StatementLineItems_464414" use="optional" order="13" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:label="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_464425" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_464414" xlink:to="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_464425" use="optional" order="14" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_464437" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_464414" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_464437" use="optional" order="15" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/AcquisitionsUnauditedSupplementalProFormaInformationDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationsAbstract" xlink:label="loc_us-gaap_BusinessCombinationsAbstract_575" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_580" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationsAbstract_575" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_580" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_579" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_580" xlink:to="loc_dei_LegalEntityAxis_579" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_587" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_579" xlink:to="loc_dei_EntityDomain_587" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_577" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_580" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_577" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_576" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_577" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_576" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_CTechnologiesMember" xlink:label="loc_rgen_CTechnologiesMember_464406" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_576" xlink:to="loc_rgen_CTechnologiesMember_464406" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_578" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_580" xlink:to="loc_us-gaap_BusinessAcquisitionLineItems_578" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:label="loc_us-gaap_BusinessAcquisitionsProFormaRevenue_583" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_578" xlink:to="loc_us-gaap_BusinessAcquisitionsProFormaRevenue_583" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:label="loc_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss_584" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_578" xlink:to="loc_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss_584" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic" xlink:label="loc_us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic_585" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_578" xlink:to="loc_us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic_585" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted" xlink:label="loc_us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted_586" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_578" xlink:to="loc_us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted_586" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/LeasesAdditionalInformationDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LeasesAbstract" xlink:label="loc_us-gaap_LeasesAbstract_419193" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_419195" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_419193" xlink:to="loc_us-gaap_StatementTable_419195" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaap_StatementClassOfStockAxis_419196" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_419195" xlink:to="loc_us-gaap_StatementClassOfStockAxis_419196" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaap_ClassOfStockDomain_419197" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementClassOfStockAxis_419196" xlink:to="loc_us-gaap_ClassOfStockDomain_419197" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_419205" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_419195" xlink:to="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_419205" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="loc_us-gaap_TypeOfAdoptionMember_419206" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_419205" xlink:to="loc_us-gaap_TypeOfAdoptionMember_419206" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_468870" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_419195" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_468870" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_468871" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_468870" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_468871" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertySubjectToOrAvailableForOperatingLeaseAxis" xlink:label="loc_us-gaap_PropertySubjectToOrAvailableForOperatingLeaseAxis_499398" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_419195" xlink:to="loc_us-gaap_PropertySubjectToOrAvailableForOperatingLeaseAxis_499398" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertySubjectToOrAvailableForOperatingLeaseDomain" xlink:label="loc_us-gaap_PropertySubjectToOrAvailableForOperatingLeaseDomain_499399" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertySubjectToOrAvailableForOperatingLeaseAxis_499398" xlink:to="loc_us-gaap_PropertySubjectToOrAvailableForOperatingLeaseDomain_499399" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_MarlboroughMassachusettsMember" xlink:label="loc_rgen_MarlboroughMassachusettsMember_822676" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertySubjectToOrAvailableForOperatingLeaseDomain_499399" xlink:to="loc_rgen_MarlboroughMassachusettsMember_822676" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_419198" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_419195" xlink:to="loc_us-gaap_StatementLineItems_419198" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_419200" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_419198" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_419200" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiability" xlink:label="loc_us-gaap_OperatingLeaseLiability_419202" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_419198" xlink:to="loc_us-gaap_OperatingLeaseLiability_419202" use="optional" order="13" preferredLabel="http://www.xbrl.org/2003/role/disclosureGuidance" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IncreaseDecreaseInRightOfUseAssets" xlink:label="loc_rgen_IncreaseDecreaseInRightOfUseAssets_467978" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_419198" xlink:to="loc_rgen_IncreaseDecreaseInRightOfUseAssets_467978" use="optional" order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IncreaseDecreaseInOperatingLeaseLiabilities" xlink:label="loc_rgen_IncreaseDecreaseInOperatingLeaseLiabilities_467980" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_419198" xlink:to="loc_rgen_IncreaseDecreaseInOperatingLeaseLiabilities_467980" use="optional" order="15" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AreaOfLand" xlink:label="loc_us-gaap_AreaOfLand_822675" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_419198" xlink:to="loc_us-gaap_AreaOfLand_822675" use="optional" order="16" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LeasesAbstract" xlink:label="loc_us-gaap_LeasesAbstract_410180" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_410182" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_410180" xlink:to="loc_us-gaap_StatementTable_410182" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaap_StatementClassOfStockAxis_410183" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_410182" xlink:to="loc_us-gaap_StatementClassOfStockAxis_410183" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaap_ClassOfStockDomain_410184" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementClassOfStockAxis_410183" xlink:to="loc_us-gaap_ClassOfStockDomain_410184" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_410185" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_410182" xlink:to="loc_us-gaap_StatementLineItems_410185" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_410186" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_410185" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_410186" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_410187" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_410185" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_410187" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_410188" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_410185" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_410188" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_410189" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_410185" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_410189" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_410190" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_410185" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_410190" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_410191" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_410185" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_410191" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_410192" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_410185" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_410192" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_410193" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_410185" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_410193" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiability" xlink:label="loc_us-gaap_OperatingLeaseLiability_410194" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_410185" xlink:to="loc_us-gaap_OperatingLeaseLiability_410194" use="optional" order="13" preferredLabel="http://www.xbrl.org/2003/role/presentationGuidance" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/LeasesConsolidatedBalanceSheetDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LeasesAbstract" xlink:label="loc_us-gaap_LeasesAbstract_467982" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_467983" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_467982" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_467983" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_467984" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_467982" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_467984" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiability" xlink:label="loc_us-gaap_OperatingLeaseLiability_469065" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_467982" xlink:to="loc_us-gaap_OperatingLeaseLiability_469065" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/definitionGuidance" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/LeasesConsolidatedStatementsOfComprehensiveIncomeDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LeasesAbstract" xlink:label="loc_us-gaap_LeasesAbstract_410147" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_410149" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_410147" xlink:to="loc_us-gaap_StatementTable_410149" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaap_StatementClassOfStockAxis_410150" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_410149" xlink:to="loc_us-gaap_StatementClassOfStockAxis_410150" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaap_ClassOfStockDomain_410151" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementClassOfStockAxis_410150" xlink:to="loc_us-gaap_ClassOfStockDomain_410151" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_410155" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_410149" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_410155" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_410156" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_410155" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_410156" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_410152" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_410149" xlink:to="loc_us-gaap_StatementLineItems_410152" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseCost" xlink:label="loc_us-gaap_OperatingLeaseCost_410154" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_410152" xlink:to="loc_us-gaap_OperatingLeaseCost_410154" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_VariableOperatingLeaseCost" xlink:label="loc_rgen_VariableOperatingLeaseCost_421579" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_410152" xlink:to="loc_rgen_VariableOperatingLeaseCost_421579" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LeaseCost" xlink:label="loc_us-gaap_LeaseCost_421581" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_410152" xlink:to="loc_us-gaap_LeaseCost_421581" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/LeasesConsolidatedStatementsOfCashFlowsRelatedToOperatingLeasesDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LeasesAbstract" xlink:label="loc_us-gaap_LeasesAbstract_419179" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_500297" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_419179" xlink:to="loc_us-gaap_StatementTable_500297" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_500298" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_500297" xlink:to="loc_dei_LegalEntityAxis_500298" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_500299" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_500298" xlink:to="loc_dei_EntityDomain_500299" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_500300" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_500297" xlink:to="loc_us-gaap_StatementLineItems_500300" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeasePayments" xlink:label="loc_us-gaap_OperatingLeasePayments_419185" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_500300" xlink:to="loc_us-gaap_OperatingLeasePayments_419185" use="optional" order="5" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/LeasesOperatingLeaseLiabilitiesDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LeasesAbstract" xlink:label="loc_us-gaap_LeasesAbstract_410167" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_410169" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_410167" xlink:to="loc_us-gaap_StatementTable_410169" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaap_StatementClassOfStockAxis_410170" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_410169" xlink:to="loc_us-gaap_StatementClassOfStockAxis_410170" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaap_ClassOfStockDomain_410171" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementClassOfStockAxis_410170" xlink:to="loc_us-gaap_ClassOfStockDomain_410171" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_410172" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_410169" xlink:to="loc_us-gaap_StatementLineItems_410172" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_410173" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_410172" xlink:to="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_410173" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_410175" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_410172" xlink:to="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_410175" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/SummaryOfDisaggregationOfProductRevenuesFromContractsWithCustomersByMajorProductLineDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_309972" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_309973" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_309972" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_309973" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srt_ProductOrServiceAxis_309974" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_309973" xlink:to="loc_srt_ProductOrServiceAxis_309974" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srt_ProductsAndServicesDomain_309975" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductOrServiceAxis_309974" xlink:to="loc_srt_ProductsAndServicesDomain_309975" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProductMember" xlink:label="loc_us-gaap_ProductMember_309976" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_309975" xlink:to="loc_us-gaap_ProductMember_309976" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/presentationGuidance" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RoyaltyMember" xlink:label="loc_us-gaap_RoyaltyMember_309977" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_309975" xlink:to="loc_us-gaap_RoyaltyMember_309977" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/definitionGuidance" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_309978" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_309973" xlink:to="loc_us-gaap_DisaggregationOfRevenueLineItems_309978" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_309980" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_309978" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_309980" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/RevenueFromSignificantCustomersDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_309958" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskTable" xlink:label="loc_us-gaap_ConcentrationRiskTable_309959" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_309958" xlink:to="loc_us-gaap_ConcentrationRiskTable_309959" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MajorCustomersAxis" xlink:label="loc_srt_MajorCustomersAxis_309961" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTable_309959" xlink:to="loc_srt_MajorCustomersAxis_309961" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_NameOfMajorCustomerDomain" xlink:label="loc_srt_NameOfMajorCustomerDomain_309962" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_MajorCustomersAxis_309961" xlink:to="loc_srt_NameOfMajorCustomerDomain_309962" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_MilliporeSigmaMember" xlink:label="loc_rgen_MilliporeSigmaMember_309964" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_NameOfMajorCustomerDomain_309962" xlink:to="loc_rgen_MilliporeSigmaMember_309964" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_CytivaMember" xlink:label="loc_rgen_CytivaMember_309965" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_NameOfMajorCustomerDomain_309962" xlink:to="loc_rgen_CytivaMember_309965" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="loc_us-gaap_ConcentrationRiskLineItems_309969" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTable_309959" xlink:to="loc_us-gaap_ConcentrationRiskLineItems_309969" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_309970" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskLineItems_309969" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_309970" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/SummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_309936" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_309938" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_309936" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_309938" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_309939" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_309938" xlink:to="loc_dei_LegalEntityAxis_309939" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_309940" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_309939" xlink:to="loc_dei_EntityDomain_309940" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_309941" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_309938" xlink:to="loc_us-gaap_DisaggregationOfRevenueLineItems_309941" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" xlink:label="loc_us-gaap_ContractWithCustomerAssetAndLiabilityAbstract_309942" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_309941" xlink:to="loc_us-gaap_ContractWithCustomerAssetAndLiabilityAbstract_309942" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_309943" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ContractWithCustomerAssetAndLiabilityAbstract_309942" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_309943" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredRevenue" xlink:label="loc_us-gaap_DeferredRevenue_309944" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ContractWithCustomerAssetAndLiabilityAbstract_309942" xlink:to="loc_us-gaap_DeferredRevenue_309944" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract" xlink:label="loc_us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract_309946" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_309941" xlink:to="loc_us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract_309946" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="loc_us-gaap_ContractWithCustomerLiability_309947" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract_309946" xlink:to="loc_us-gaap_ContractWithCustomerLiability_309947" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/CreditLossesSummaryOfAllowanceForCreditLossesForAccountsReceivablesDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CreditLossAbstract" xlink:label="loc_us-gaap_CreditLossAbstract_813925" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivable_813930" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditLossAbstract_813925" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivable_813930" use="optional" order="1" preferredLabel="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_813932" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditLossAbstract_813925" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_813932" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="loc_us-gaap_ProvisionForDoubtfulAccounts_813931" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditLossAbstract_813925" xlink:to="loc_us-gaap_ProvisionForDoubtfulAccounts_813931" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivable_813933" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditLossAbstract_813925" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivable_813933" use="optional" order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/CreditLossesAdditionalInformationDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CreditLossAbstract" xlink:label="loc_us-gaap_CreditLossAbstract_813944" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_813950" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditLossAbstract_813944" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_813950" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_813953" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditLossAbstract_813944" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_813953" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ChangesInCarryingValueOfGoodwillDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationsAbstract" xlink:label="loc_us-gaap_BusinessCombinationsAbstract_599" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfGoodwillTable" xlink:label="loc_us-gaap_ScheduleOfGoodwillTable_604" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationsAbstract_599" xlink:to="loc_us-gaap_ScheduleOfGoodwillTable_604" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_603" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable_604" xlink:to="loc_dei_LegalEntityAxis_603" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_612" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_603" xlink:to="loc_dei_EntityDomain_612" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_601" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable_604" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_601" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_600" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_601" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_600" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_CTechnologiesMember" xlink:label="loc_rgen_CTechnologiesMember_566370" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_600" xlink:to="loc_rgen_CTechnologiesMember_566370" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_SpectrumIncMember" xlink:label="loc_rgen_SpectrumIncMember_606" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_600" xlink:to="loc_rgen_SpectrumIncMember_606" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_NonMetallicSolutionsMember" xlink:label="loc_rgen_NonMetallicSolutionsMember_817065" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_600" xlink:to="loc_rgen_NonMetallicSolutionsMember_817065" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ArtesynBiosolutionsMember" xlink:label="loc_rgen_ArtesynBiosolutionsMember_817067" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_600" xlink:to="loc_rgen_ArtesynBiosolutionsMember_817067" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GoodwillLineItems" xlink:label="loc_us-gaap_GoodwillLineItems_602" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable_604" xlink:to="loc_us-gaap_GoodwillLineItems_602" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaap_Goodwill_608" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillLineItems_602" xlink:to="loc_us-gaap_Goodwill_608" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GoodwillAcquiredDuringPeriod" xlink:label="loc_us-gaap_GoodwillAcquiredDuringPeriod_609" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillLineItems_602" xlink:to="loc_us-gaap_GoodwillAcquiredDuringPeriod_609" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:label="loc_us-gaap_GoodwillForeignCurrencyTranslationGainLoss_610" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillLineItems_602" xlink:to="loc_us-gaap_GoodwillForeignCurrencyTranslationGainLoss_610" use="optional" order="13" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaap_Goodwill_611" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillLineItems_602" xlink:to="loc_us-gaap_Goodwill_611" use="optional" order="14" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_450" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfIntangibleAssetsTable" xlink:label="loc_rgen_ScheduleOfIntangibleAssetsTable_457" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_450" xlink:to="loc_rgen_ScheduleOfIntangibleAssetsTable_457" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_451" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_ScheduleOfIntangibleAssetsTable_457" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_451" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_452" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_451" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_452" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="loc_us-gaap_DevelopedTechnologyRightsMember_458" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_452" xlink:to="loc_us-gaap_DevelopedTechnologyRightsMember_458" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PatentsMember" xlink:label="loc_us-gaap_PatentsMember_459" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_452" xlink:to="loc_us-gaap_PatentsMember_459" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="loc_us-gaap_CustomerRelationshipsMember_460" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_452" xlink:to="loc_us-gaap_CustomerRelationshipsMember_460" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TrademarksMember" xlink:label="loc_us-gaap_TrademarksMember_462" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_452" xlink:to="loc_us-gaap_TrademarksMember_462" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherIntangibleAssetsMember" xlink:label="loc_us-gaap_OtherIntangibleAssetsMember_461" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_452" xlink:to="loc_us-gaap_OtherIntangibleAssetsMember_461" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_453" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_ScheduleOfIntangibleAssetsTable_457" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_453" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_454" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_453" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_454" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TrademarksMember" xlink:label="loc_us-gaap_TrademarksMember_328065" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_454" xlink:to="loc_us-gaap_TrademarksMember_328065" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/definitionGuidance" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IntangibleAssetsLineItems" xlink:label="loc_rgen_IntangibleAssetsLineItems_455" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_ScheduleOfIntangibleAssetsTable_457" xlink:to="loc_rgen_IntangibleAssetsLineItems_455" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_464" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IntangibleAssetsLineItems_455" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsGross_464" use="optional" order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_328051" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IntangibleAssetsLineItems_455" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_328051" use="optional" order="14" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IntangibleAssetsGrossExcludingGoodwill" xlink:label="loc_us-gaap_IntangibleAssetsGrossExcludingGoodwill_463" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IntangibleAssetsLineItems_455" xlink:to="loc_us-gaap_IntangibleAssetsGrossExcludingGoodwill_463" use="optional" order="15" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_465" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IntangibleAssetsLineItems_455" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_465" use="optional" order="16" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="loc_rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization_817005" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IntangibleAssetsLineItems_455" xlink:to="loc_rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization_817005" use="optional" order="17" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_310095" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IntangibleAssetsLineItems_455" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_310095" use="optional" order="18" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IndefiniteLivedIntangibleAssetsNet" xlink:label="loc_rgen_IndefiniteLivedIntangibleAssetsNet_328054" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IntangibleAssetsLineItems_455" xlink:to="loc_rgen_IndefiniteLivedIntangibleAssetsNet_328054" use="optional" order="19" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_310094" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IntangibleAssetsLineItems_455" xlink:to="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_310094" use="optional" order="20" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_466" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IntangibleAssetsLineItems_455" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_466" use="optional" order="21" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_310106" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_310108" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_310106" xlink:to="loc_us-gaap_StatementTable_310108" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaap_StatementClassOfStockAxis_310109" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_310108" xlink:to="loc_us-gaap_StatementClassOfStockAxis_310109" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaap_ClassOfStockDomain_310110" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementClassOfStockAxis_310109" xlink:to="loc_us-gaap_ClassOfStockDomain_310110" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_310113" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_310108" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_310113" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_310114" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_310113" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_310114" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="loc_us-gaap_BalanceSheetLocationAxis_330864" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_310108" xlink:to="loc_us-gaap_BalanceSheetLocationAxis_330864" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_330865" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_330864" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_330865" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_597521" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_310108" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_597521" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_597522" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_597521" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_597522" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:label="loc_rgen_FiniteLivedIntangibleLiabilitiesLineItems_310112" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_310108" xlink:to="loc_rgen_FiniteLivedIntangibleLiabilitiesLineItems_310112" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets_310118" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_FiniteLivedIntangibleLiabilitiesLineItems_310112" xlink:to="loc_us-gaap_AmortizationOfIntangibleAssets_310118" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/AmortizationExpenseForAmortizedIntangibleAssetsDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_470" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_473" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_470" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_473" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_472" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_473" xlink:to="loc_dei_LegalEntityAxis_472" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_479" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_472" xlink:to="loc_dei_EntityDomain_479" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_FiniteLivedIntangibleLiabilitiesLineItems" xlink:label="loc_rgen_FiniteLivedIntangibleLiabilitiesLineItems_471" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_473" xlink:to="loc_rgen_FiniteLivedIntangibleLiabilitiesLineItems_471" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_474" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_FiniteLivedIntangibleLiabilitiesLineItems_471" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_474" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_475" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_FiniteLivedIntangibleLiabilitiesLineItems_471" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_475" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_476" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_FiniteLivedIntangibleLiabilitiesLineItems_471" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_476" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_477" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_FiniteLivedIntangibleLiabilitiesLineItems_471" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_477" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_478" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_FiniteLivedIntangibleLiabilitiesLineItems_471" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_478" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_310100" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_FiniteLivedIntangibleLiabilitiesLineItems_471" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_310100" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_310101" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_FiniteLivedIntangibleLiabilitiesLineItems_471" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_310101" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ScheduleOfInventoriesDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaap_InventoryDisclosureAbstract_316" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryCurrentTable" xlink:label="loc_us-gaap_InventoryCurrentTable_317" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_316" xlink:to="loc_us-gaap_InventoryCurrentTable_317" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_319" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryCurrentTable_317" xlink:to="loc_dei_LegalEntityAxis_319" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_324" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_319" xlink:to="loc_dei_EntityDomain_324" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryLineItems" xlink:label="loc_us-gaap_InventoryLineItems_318" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryCurrentTable_317" xlink:to="loc_us-gaap_InventoryLineItems_318" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="loc_us-gaap_InventoryRawMaterialsNetOfReserves_320" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryLineItems_318" xlink:to="loc_us-gaap_InventoryRawMaterialsNetOfReserves_320" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="loc_us-gaap_InventoryWorkInProcessNetOfReserves_321" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryLineItems_318" xlink:to="loc_us-gaap_InventoryWorkInProcessNetOfReserves_321" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_322" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryLineItems_318" xlink:to="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_322" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaap_InventoryNet_323" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryLineItems_318" xlink:to="loc_us-gaap_InventoryNet_323" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/PrepaidExpensesAndOtherCurrentAssetsDetail">
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_UncategorizedAbstract" xlink:label="loc_rgen_UncategorizedAbstract_965" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_PrepaidExpensesAndOtherCurrentAssetsTable" xlink:label="loc_rgen_PrepaidExpensesAndOtherCurrentAssetsTable_968" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_UncategorizedAbstract_965" xlink:to="loc_rgen_PrepaidExpensesAndOtherCurrentAssetsTable_968" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_966" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_PrepaidExpensesAndOtherCurrentAssetsTable_968" xlink:to="loc_dei_LegalEntityAxis_966" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_969" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_966" xlink:to="loc_dei_EntityDomain_969" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems" xlink:label="loc_rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems_967" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_PrepaidExpensesAndOtherCurrentAssetsTable_968" xlink:to="loc_rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems_967" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_PrepaidServicesAndProfessionalFees" xlink:label="loc_rgen_PrepaidServicesAndProfessionalFees_970" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems_967" xlink:to="loc_rgen_PrepaidServicesAndProfessionalFees_970" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PrepaidTaxes" xlink:label="loc_us-gaap_PrepaidTaxes_971" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems_967" xlink:to="loc_us-gaap_PrepaidTaxes_971" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PrepaidInsurance" xlink:label="loc_us-gaap_PrepaidInsurance_972" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems_967" xlink:to="loc_us-gaap_PrepaidInsurance_972" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherAssetsCurrent" xlink:label="loc_us-gaap_OtherAssetsCurrent_974" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems_967" xlink:to="loc_us-gaap_OtherAssetsCurrent_974" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_975" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems_967" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_975" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/PropertyPlantAndEquipmentDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAbstract_977" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_980" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_977" xlink:to="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_980" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_978" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_980" xlink:to="loc_dei_LegalEntityAxis_978" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_981" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_978" xlink:to="loc_dei_EntityDomain_981" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems_979" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_980" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentLineItems_979" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Land" xlink:label="loc_us-gaap_Land_982" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_979" xlink:to="loc_us-gaap_Land_982" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BuildingsAndImprovementsGross" xlink:label="loc_us-gaap_BuildingsAndImprovementsGross_983" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_979" xlink:to="loc_us-gaap_BuildingsAndImprovementsGross_983" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LeaseholdImprovementsGross" xlink:label="loc_us-gaap_LeaseholdImprovementsGross_984" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_979" xlink:to="loc_us-gaap_LeaseholdImprovementsGross_984" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_MachineryAndEquipmentGross" xlink:label="loc_us-gaap_MachineryAndEquipmentGross_985" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_979" xlink:to="loc_us-gaap_MachineryAndEquipmentGross_985" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FurnitureAndFixturesGross" xlink:label="loc_us-gaap_FurnitureAndFixturesGross_986" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_979" xlink:to="loc_us-gaap_FurnitureAndFixturesGross_986" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalizedComputerSoftwareGross" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareGross_580399" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_979" xlink:to="loc_us-gaap_CapitalizedComputerSoftwareGross_580399" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConstructionInProgressGross" xlink:label="loc_us-gaap_ConstructionInProgressGross_987" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_979" xlink:to="loc_us-gaap_ConstructionInProgressGross_987" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentOther" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentOther_409979" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_979" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentOther_409979" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentGross_988" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_979" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentGross_988" use="optional" order="13" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_989" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_979" xlink:to="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_989" use="optional" order="14" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_990" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_979" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_990" use="optional" order="15" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ConsolidatedBalanceSheetAdditionalInformationDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="loc_us-gaap_DisclosureTextBlockAbstract_329191" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_329193" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureTextBlockAbstract_329191" xlink:to="loc_us-gaap_StatementTable_329193" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_329200" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_329193" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_329200" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_329201" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_329200" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_329201" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_FacilityAxis" xlink:label="loc_rgen_FacilityAxis_329197" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_329193" xlink:to="loc_rgen_FacilityAxis_329197" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_FacilityDomain" xlink:label="loc_rgen_FacilityDomain_329198" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_FacilityAxis_329197" xlink:to="loc_rgen_FacilityDomain_329198" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_RgenFacilityAxis" xlink:label="loc_rgen_RgenFacilityAxis_580401" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_329193" xlink:to="loc_rgen_RgenFacilityAxis_580401" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_RgenFacilityDomain" xlink:label="loc_rgen_RgenFacilityDomain_580402" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_RgenFacilityAxis_580401" xlink:to="loc_rgen_RgenFacilityDomain_580402" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_329196" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_329193" xlink:to="loc_us-gaap_StatementLineItems_329196" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Depreciation" xlink:label="loc_us-gaap_Depreciation_329206" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_329196" xlink:to="loc_us-gaap_Depreciation_329206" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/label" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ScheduleOfAccruedLiabilitiesDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="loc_us-gaap_PayablesAndAccrualsAbstract_999" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfAccruedLiabilitiesTable" xlink:label="loc_rgen_ScheduleOfAccruedLiabilitiesTable_1002" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract_999" xlink:to="loc_rgen_ScheduleOfAccruedLiabilitiesTable_1002" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1000" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_ScheduleOfAccruedLiabilitiesTable_1002" xlink:to="loc_dei_LegalEntityAxis_1000" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1003" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_1000" xlink:to="loc_dei_EntityDomain_1003" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfAccruedLiabilitiesLineItems" xlink:label="loc_rgen_ScheduleOfAccruedLiabilitiesLineItems_1001" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_ScheduleOfAccruedLiabilitiesTable_1002" xlink:to="loc_rgen_ScheduleOfAccruedLiabilitiesLineItems_1001" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_1004" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_ScheduleOfAccruedLiabilitiesLineItems_1001" xlink:to="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_1004" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="loc_us-gaap_AccruedIncomeTaxesCurrent_1005" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_ScheduleOfAccruedLiabilitiesLineItems_1001" xlink:to="loc_us-gaap_AccruedIncomeTaxesCurrent_1005" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedRoyaltiesCurrent" xlink:label="loc_us-gaap_AccruedRoyaltiesCurrent_1006" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_ScheduleOfAccruedLiabilitiesLineItems_1001" xlink:to="loc_us-gaap_AccruedRoyaltiesCurrent_1006" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:label="loc_us-gaap_ProductWarrantyAccrualClassifiedCurrent_310149" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_ScheduleOfAccruedLiabilitiesLineItems_1001" xlink:to="loc_us-gaap_ProductWarrantyAccrualClassifiedCurrent_310149" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedProfessionalFeesCurrent" xlink:label="loc_us-gaap_AccruedProfessionalFeesCurrent_1009" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_ScheduleOfAccruedLiabilitiesLineItems_1001" xlink:to="loc_us-gaap_AccruedProfessionalFeesCurrent_1009" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredRevenueCurrent" xlink:label="loc_us-gaap_DeferredRevenueCurrent_1010" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_ScheduleOfAccruedLiabilitiesLineItems_1001" xlink:to="loc_us-gaap_DeferredRevenueCurrent_1010" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="loc_us-gaap_OtherAccruedLiabilitiesCurrent_1011" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_ScheduleOfAccruedLiabilitiesLineItems_1001" xlink:to="loc_us-gaap_OtherAccruedLiabilitiesCurrent_1011" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_1012" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_ScheduleOfAccruedLiabilitiesLineItems_1001" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent_1012" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/IncomeBeforeIncomeTaxesDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_614" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfIncomeBeforeIncomeTaxTable" xlink:label="loc_rgen_ScheduleOfIncomeBeforeIncomeTaxTable_617" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_614" xlink:to="loc_rgen_ScheduleOfIncomeBeforeIncomeTaxTable_617" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_615" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_ScheduleOfIncomeBeforeIncomeTaxTable_617" xlink:to="loc_dei_LegalEntityAxis_615" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_618" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_615" xlink:to="loc_dei_EntityDomain_618" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems" xlink:label="loc_rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems_616" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_ScheduleOfIncomeBeforeIncomeTaxTable_617" xlink:to="loc_rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems_616" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_619" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems_616" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_619" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_620" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems_616" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_620" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_621" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems_616" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_621" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/CurrentDeferredAndEquityIncomeTaxesDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_623" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IncomeTaxesTable" xlink:label="loc_rgen_IncomeTaxesTable_625" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_623" xlink:to="loc_rgen_IncomeTaxesTable_625" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_626" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxesTable_625" xlink:to="loc_dei_LegalEntityAxis_626" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_630" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_626" xlink:to="loc_dei_EntityDomain_630" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IncomeTaxesLineItems" xlink:label="loc_rgen_IncomeTaxesLineItems_624" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxesTable_625" xlink:to="loc_rgen_IncomeTaxesLineItems_624" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_CurrentIncomeTaxExpenseBenefit_627" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxesLineItems_624" xlink:to="loc_us-gaap_CurrentIncomeTaxExpenseBenefit_627" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ProvisionForDeferredIncomeTaxExpenseBenefit" xlink:label="loc_rgen_ProvisionForDeferredIncomeTaxExpenseBenefit_628" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxesLineItems_624" xlink:to="loc_rgen_ProvisionForDeferredIncomeTaxExpenseBenefit_628" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions" xlink:label="loc_us-gaap_IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions_597764" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxesLineItems_624" xlink:to="loc_us-gaap_IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions_597764" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_629" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxesLineItems_624" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_629" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ProvisionForIncomeTaxesByJurisdictionDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_632" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IncomeTaxesTable" xlink:label="loc_rgen_IncomeTaxesTable_634" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_632" xlink:to="loc_rgen_IncomeTaxesTable_634" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_635" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxesTable_634" xlink:to="loc_dei_LegalEntityAxis_635" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_640" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_635" xlink:to="loc_dei_EntityDomain_640" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IncomeTaxesLineItems" xlink:label="loc_rgen_IncomeTaxesLineItems_633" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxesTable_634" xlink:to="loc_rgen_IncomeTaxesLineItems_633" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations" xlink:label="loc_us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations_636" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxesLineItems_633" xlink:to="loc_us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations_636" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations" xlink:label="loc_us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations_637" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxesLineItems_633" xlink:to="loc_us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations_637" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations" xlink:label="loc_us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations_638" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxesLineItems_633" xlink:to="loc_us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations_638" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_639" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxesLineItems_633" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_639" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/IncomeTaxesAdditionalInformationDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_642" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IncomeTaxesTable" xlink:label="loc_rgen_IncomeTaxesTable_648" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_642" xlink:to="loc_rgen_IncomeTaxesTable_648" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_649" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxesTable_648" xlink:to="loc_dei_LegalEntityAxis_649" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_670" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_649" xlink:to="loc_dei_EntityDomain_670" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srt_StatementGeographicalAxis_652" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxesTable_648" xlink:to="loc_srt_StatementGeographicalAxis_652" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srt_SegmentGeographicalDomain_651" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_StatementGeographicalAxis_652" xlink:to="loc_srt_SegmentGeographicalDomain_651" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="loc_us-gaap_IncomeTaxAuthorityAxis_645" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxesTable_648" xlink:to="loc_us-gaap_IncomeTaxAuthorityAxis_645" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain_646" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis_645" xlink:to="loc_us-gaap_IncomeTaxAuthorityDomain_646" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DomesticCountryMember" xlink:label="loc_us-gaap_DomesticCountryMember_657" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_646" xlink:to="loc_us-gaap_DomesticCountryMember_657" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StateAndLocalJurisdictionMember" xlink:label="loc_us-gaap_StateAndLocalJurisdictionMember_658" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_646" xlink:to="loc_us-gaap_StateAndLocalJurisdictionMember_658" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_FederalAndStateMember" xlink:label="loc_rgen_FederalAndStateMember_659" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_646" xlink:to="loc_rgen_FederalAndStateMember_659" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_644" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxesTable_648" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_644" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_643" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_644" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_643" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TaxPeriodAxis" xlink:label="loc_us-gaap_TaxPeriodAxis_654" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxesTable_648" xlink:to="loc_us-gaap_TaxPeriodAxis_654" use="optional" order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TaxPeriodDomain" xlink:label="loc_us-gaap_TaxPeriodDomain_655" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxPeriodAxis_654" xlink:to="loc_us-gaap_TaxPeriodDomain_655" use="optional" order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LatestTaxYearMember" xlink:label="loc_us-gaap_LatestTaxYearMember_674" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxPeriodDomain_655" xlink:to="loc_us-gaap_LatestTaxYearMember_674" use="optional" order="15" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_TaxYear2040Member" xlink:label="loc_rgen_TaxYear2040Member_825140" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxPeriodDomain_655" xlink:to="loc_rgen_TaxYear2040Member_825140" use="optional" order="16" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_329225" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxesTable_648" xlink:to="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_329225" use="optional" order="17" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="loc_us-gaap_TypeOfAdoptionMember_329226" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_329225" xlink:to="loc_us-gaap_TypeOfAdoptionMember_329226" use="optional" order="18" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountingStandardsUpdate201606Member" xlink:label="loc_us-gaap_AccountingStandardsUpdate201606Member_329227" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TypeOfAdoptionMember_329226" xlink:to="loc_us-gaap_AccountingStandardsUpdate201606Member_329227" use="optional" order="19" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="loc_us-gaap_BalanceSheetLocationAxis_329228" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxesTable_648" xlink:to="loc_us-gaap_BalanceSheetLocationAxis_329228" use="optional" order="20" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_329229" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_329228" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_329229" use="optional" order="21" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherAssetsMember" xlink:label="loc_us-gaap_OtherAssetsMember_329230" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_329229" xlink:to="loc_us-gaap_OtherAssetsMember_329230" use="optional" order="22" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_DeferredTaxLiablitiesMember" xlink:label="loc_rgen_DeferredTaxLiablitiesMember_329271" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_329229" xlink:to="loc_rgen_DeferredTaxLiablitiesMember_329271" use="optional" order="23" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_AccumulatedDeficitMember" xlink:label="loc_rgen_AccumulatedDeficitMember_329273" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_329229" xlink:to="loc_rgen_AccumulatedDeficitMember_329273" use="optional" order="24" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IncomeTaxesLineItems" xlink:label="loc_rgen_IncomeTaxesLineItems_647" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxesTable_648" xlink:to="loc_rgen_IncomeTaxesLineItems_647" use="optional" order="25" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="loc_us-gaap_OperatingLossCarryforwards_660" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxesLineItems_647" xlink:to="loc_us-gaap_OperatingLossCarryforwards_660" use="optional" order="26" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TaxCreditCarryforwardAmount" xlink:label="loc_us-gaap_TaxCreditCarryforwardAmount_661" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxesLineItems_647" xlink:to="loc_us-gaap_TaxCreditCarryforwardAmount_661" use="optional" order="27" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherInformationPertainingToIncomeTaxes" xlink:label="loc_us-gaap_OtherInformationPertainingToIncomeTaxes_662" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxesLineItems_647" xlink:to="loc_us-gaap_OtherInformationPertainingToIncomeTaxes_662" use="optional" order="28" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:label="loc_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount_663" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxesLineItems_647" xlink:to="loc_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount_663" use="optional" order="29" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_665" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxesLineItems_647" xlink:to="loc_us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_665" use="optional" order="30" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense_599842" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxesLineItems_647" xlink:to="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense_599842" use="optional" order="31" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_599843" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxesLineItems_647" xlink:to="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_599843" use="optional" order="32" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_329224" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxesLineItems_647" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_329224" use="optional" order="33" preferredLabel="http://www.xbrl.org/2003/role/definitionGuidance" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_UndistributedEarningsOfForeignSubsidiaries" xlink:label="loc_us-gaap_UndistributedEarningsOfForeignSubsidiaries_333121" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxesLineItems_647" xlink:to="loc_us-gaap_UndistributedEarningsOfForeignSubsidiaries_333121" use="optional" order="34" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ForeignEarningsSubjectToOneTimeTransitionTax" xlink:label="loc_rgen_ForeignEarningsSubjectToOneTimeTransitionTax_333129" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxesLineItems_647" xlink:to="loc_rgen_ForeignEarningsSubjectToOneTimeTransitionTax_333129" use="optional" order="35" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_CoronavirusAidReliefAndEconomicSecurityFundValue" xlink:label="loc_rgen_CoronavirusAidReliefAndEconomicSecurityFundValue_825166" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxesLineItems_647" xlink:to="loc_rgen_CoronavirusAidReliefAndEconomicSecurityFundValue_825166" use="optional" order="36" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_676" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable" xlink:label="loc_rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable_682" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_676" xlink:to="loc_rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable_682" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_680" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable_682" xlink:to="loc_dei_LegalEntityAxis_680" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_696" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_680" xlink:to="loc_dei_EntityDomain_696" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems" xlink:label="loc_rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems_681" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable_682" xlink:to="loc_rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems_681" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsNetAbstract" xlink:label="loc_us-gaap_DeferredTaxAssetsNetAbstract_677" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems_681" xlink:to="loc_us-gaap_DeferredTaxAssetsNetAbstract_677" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseAbstract" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseAbstract_678" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxAssetsNetAbstract_677" xlink:to="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseAbstract_678" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_688" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseAbstract_678" xlink:to="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_688" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_DeferredTaxAssetsOperatingLeases" xlink:label="loc_rgen_DeferredTaxAssetsOperatingLeases_580430" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseAbstract_678" xlink:to="loc_rgen_DeferredTaxAssetsOperatingLeases_580430" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_DeferredTaxAssetsAccruedBonus" xlink:label="loc_rgen_DeferredTaxAssetsAccruedBonus_597773" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseAbstract_678" xlink:to="loc_rgen_DeferredTaxAssetsAccruedBonus_597773" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther_690" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseAbstract_678" xlink:to="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther_690" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpense" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpense_691" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseAbstract_678" xlink:to="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpense_691" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_683" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxAssetsNetAbstract_677" xlink:to="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_683" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwards" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxCreditCarryforwards_684" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxAssetsNetAbstract_677" xlink:to="loc_us-gaap_DeferredTaxAssetsTaxCreditCarryforwards_684" use="optional" order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="loc_us-gaap_DeferredTaxAssetsGross_685" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxAssetsNetAbstract_677" xlink:to="loc_us-gaap_DeferredTaxAssetsGross_685" use="optional" order="14" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="loc_us-gaap_DeferredTaxAssetsValuationAllowance_686" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxAssetsNetAbstract_677" xlink:to="loc_us-gaap_DeferredTaxAssetsValuationAllowance_686" use="optional" order="15" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="loc_us-gaap_DeferredTaxAssetsNet_687" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxAssetsNetAbstract_677" xlink:to="loc_us-gaap_DeferredTaxAssetsNet_687" use="optional" order="16" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxLiabilitiesAbstract" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesAbstract_679" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems_681" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesAbstract_679" use="optional" order="17" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill_333064" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesAbstract_679" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill_333064" use="optional" order="18" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_DeferredIncomeTaxLiabilitiesFixedAssets" xlink:label="loc_rgen_DeferredIncomeTaxLiabilitiesFixedAssets_597779" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesAbstract_679" xlink:to="loc_rgen_DeferredIncomeTaxLiabilitiesFixedAssets_597779" use="optional" order="19" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_692" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesAbstract_679" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_692" use="optional" order="20" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets" xlink:label="loc_rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets_597782" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesAbstract_679" xlink:to="loc_rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets_597782" use="optional" order="21" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes" xlink:label="loc_rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes_693" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesAbstract_679" xlink:to="loc_rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes_693" use="optional" order="22" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilities_694" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesAbstract_679" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilities_694" use="optional" order="23" preferredLabel="http://www.xbrl.org/2009/role/negatedTotalLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxLiabilities" xlink:label="loc_us-gaap_DeferredTaxLiabilities_695" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesAbstract_679" xlink:to="loc_us-gaap_DeferredTaxLiabilities_695" use="optional" order="24" preferredLabel="http://www.xbrl.org/2009/role/negatedTotalLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_698" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IncomeTaxRateReconciliationTable" xlink:label="loc_rgen_IncomeTaxRateReconciliationTable_702" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_698" xlink:to="loc_rgen_IncomeTaxRateReconciliationTable_702" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_703" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxRateReconciliationTable_702" xlink:to="loc_dei_LegalEntityAxis_703" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_729" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_703" xlink:to="loc_dei_EntityDomain_729" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IncomeTaxRateReconciliationLineItems" xlink:label="loc_rgen_IncomeTaxRateReconciliationLineItems_701" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxRateReconciliationTable_702" xlink:to="loc_rgen_IncomeTaxRateReconciliationLineItems_701" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_710" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_710" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:label="loc_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_711" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_711" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract_700" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract_700" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential" xlink:label="loc_us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential_707" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract_700" xlink:to="loc_us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential_707" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" xlink:label="loc_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes_708" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract_700" xlink:to="loc_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes_708" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxReconciliationTaxCredits" xlink:label="loc_us-gaap_IncomeTaxReconciliationTaxCredits_709" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract_700" xlink:to="loc_us-gaap_IncomeTaxReconciliationTaxCredits_709" use="optional" order="10" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:label="loc_us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost_712" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost_712" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings" xlink:label="loc_us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings_330934" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings_330934" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation" xlink:label="loc_rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation_333087" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation_333087" use="optional" order="13" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpenseOther" xlink:label="loc_us-gaap_IncomeTaxReconciliationNondeductibleExpenseOther_714" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_us-gaap_IncomeTaxReconciliationNondeductibleExpenseOther_714" use="optional" order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxReconciliationChangeInEnactedTaxRate" xlink:label="loc_us-gaap_IncomeTaxReconciliationChangeInEnactedTaxRate_715" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_us-gaap_IncomeTaxReconciliationChangeInEnactedTaxRate_715" use="optional" order="15" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IncomeTaxReconciliationChangeInStateTaxRate" xlink:label="loc_rgen_IncomeTaxReconciliationChangeInStateTaxRate_333185" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_rgen_IncomeTaxReconciliationChangeInStateTaxRate_333185" use="optional" order="16" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IncomeTaxReconciliationChangeInForeignTaxRateAmount" xlink:label="loc_rgen_IncomeTaxReconciliationChangeInForeignTaxRateAmount_333085" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_rgen_IncomeTaxReconciliationChangeInForeignTaxRateAmount_333085" use="optional" order="17" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_TransitionTaxForAccumulatedForeignEarningsProvisionalIncomeTaxExpense" xlink:label="loc_rgen_TransitionTaxForAccumulatedForeignEarningsProvisionalIncomeTaxExpense_716" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_rgen_TransitionTaxForAccumulatedForeignEarningsProvisionalIncomeTaxExpense_716" use="optional" order="18" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxReconciliationTaxContingencies" xlink:label="loc_us-gaap_IncomeTaxReconciliationTaxContingencies_333095" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_us-gaap_IncomeTaxReconciliationTaxContingencies_333095" use="optional" order="19" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="loc_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_717" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_717" use="optional" order="20" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_IncomeTaxReconciliationReturnToProvisionAdjustments" xlink:label="loc_rgen_IncomeTaxReconciliationReturnToProvisionAdjustments_333097" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_rgen_IncomeTaxReconciliationReturnToProvisionAdjustments_333097" use="optional" order="21" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxReconciliationOtherReconcilingItems" xlink:label="loc_us-gaap_IncomeTaxReconciliationOtherReconcilingItems_718" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_us-gaap_IncomeTaxReconciliationOtherReconcilingItems_718" use="optional" order="22" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_719" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_719" use="optional" order="23" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_720" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_720" use="optional" order="24" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_699" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_699" use="optional" order="25" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_704" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_699" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_704" use="optional" order="26" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_705" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_699" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_705" use="optional" order="27" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_706" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_699" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_706" use="optional" order="28" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost_721" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost_721" use="optional" order="29" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings_329282" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings_329282" use="optional" order="30" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation" xlink:label="loc_rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation_333088" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation_333088" use="optional" order="31" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther_723" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther_723" use="optional" order="32" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_724" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_724" use="optional" order="33" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_EffectiveIncomeTaxRateReconciliationChangeInStateTaxRate" xlink:label="loc_rgen_EffectiveIncomeTaxRateReconciliationChangeInStateTaxRate_333186" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_rgen_EffectiveIncomeTaxRateReconciliationChangeInStateTaxRate_333186" use="optional" order="34" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_EffectiveIncomeTaxRateReconciliationChangeInForeignTaxRateAmount" xlink:label="loc_rgen_EffectiveIncomeTaxRateReconciliationChangeInForeignTaxRateAmount_333086" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_rgen_EffectiveIncomeTaxRateReconciliationChangeInForeignTaxRateAmount_333086" use="optional" order="35" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTax" xlink:label="loc_rgen_EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTax_725" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_rgen_EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTax_725" use="optional" order="36" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_333096" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_333096" use="optional" order="37" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_726" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_726" use="optional" order="38" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments" xlink:label="loc_rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments_333098" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments_333098" use="optional" order="39" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_727" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_727" use="optional" order="40" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_728" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_IncomeTaxRateReconciliationLineItems_701" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_728" use="optional" order="41" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/SummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_731" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxExaminationTable" xlink:label="loc_us-gaap_IncomeTaxExaminationTable_733" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_731" xlink:to="loc_us-gaap_IncomeTaxExaminationTable_733" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_734" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxExaminationTable_733" xlink:to="loc_dei_LegalEntityAxis_734" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_740" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_734" xlink:to="loc_dei_EntityDomain_740" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srt_StatementGeographicalAxis_736" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxExaminationTable_733" xlink:to="loc_srt_StatementGeographicalAxis_736" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srt_SegmentGeographicalDomain_735" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_StatementGeographicalAxis_736" xlink:to="loc_srt_SegmentGeographicalDomain_735" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2020/country-2020-01-31.xsd#country_US" xlink:label="loc_country_US_741" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_735" xlink:to="loc_country_US_741" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2020/country-2020-01-31.xsd#country_SE" xlink:label="loc_country_SE_742" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_735" xlink:to="loc_country_SE_742" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TaxPeriodAxis" xlink:label="loc_us-gaap_TaxPeriodAxis_737" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxExaminationTable_733" xlink:to="loc_us-gaap_TaxPeriodAxis_737" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TaxPeriodDomain" xlink:label="loc_us-gaap_TaxPeriodDomain_738" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxPeriodAxis_737" xlink:to="loc_us-gaap_TaxPeriodDomain_738" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarliestTaxYearMember" xlink:label="loc_us-gaap_EarliestTaxYearMember_745" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxPeriodDomain_738" xlink:to="loc_us-gaap_EarliestTaxYearMember_745" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LatestTaxYearMember" xlink:label="loc_us-gaap_LatestTaxYearMember_746" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxPeriodDomain_738" xlink:to="loc_us-gaap_LatestTaxYearMember_746" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxExaminationLineItems" xlink:label="loc_us-gaap_IncomeTaxExaminationLineItems_732" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxExaminationTable_733" xlink:to="loc_us-gaap_IncomeTaxExaminationLineItems_732" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OpenTaxYear" xlink:label="loc_us-gaap_OpenTaxYear_327901" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxExaminationLineItems_732" xlink:to="loc_us-gaap_OpenTaxYear_327901" use="optional" order="13" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ReconciliationOfUnrecognizedTaxBenefitsDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_748" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable" xlink:label="loc_us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable_751" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_748" xlink:to="loc_us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable_751" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_749" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable_751" xlink:to="loc_dei_LegalEntityAxis_749" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_752" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_749" xlink:to="loc_dei_EntityDomain_752" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems" xlink:label="loc_us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems_750" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable_751" xlink:to="loc_us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems_750" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="loc_us-gaap_UnrecognizedTaxBenefits_753" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems_750" xlink:to="loc_us-gaap_UnrecognizedTaxBenefits_753" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_755" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems_750" xlink:to="loc_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_755" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_597829" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems_750" xlink:to="loc_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_597829" use="optional" order="7" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease" xlink:label="loc_rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease_756" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems_750" xlink:to="loc_rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease_756" use="optional" order="8" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="loc_us-gaap_UnrecognizedTaxBenefits_757" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems_750" xlink:to="loc_us-gaap_UnrecognizedTaxBenefits_757" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_759" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_StockholdersEquityNoteDisclosureTable" xlink:label="loc_rgen_StockholdersEquityNoteDisclosureTable_768" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_759" xlink:to="loc_rgen_StockholdersEquityNoteDisclosureTable_768" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_762" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureTable_768" xlink:to="loc_dei_LegalEntityAxis_762" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_774" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_762" xlink:to="loc_dei_EntityDomain_774" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_TitleOfIndividualAxis" xlink:label="loc_srt_TitleOfIndividualAxis_769" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureTable_768" xlink:to="loc_srt_TitleOfIndividualAxis_769" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_770" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_TitleOfIndividualAxis_769" xlink:to="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_770" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_UnderwriterMember" xlink:label="loc_rgen_UnderwriterMember_803" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_770" xlink:to="loc_rgen_UnderwriterMember_803" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaap_AwardTypeAxis_760" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureTable_768" xlink:to="loc_us-gaap_AwardTypeAxis_760" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_765" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_760" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_765" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="loc_us-gaap_EmployeeStockOptionMember_777" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_765" xlink:to="loc_us-gaap_EmployeeStockOptionMember_777" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_OptionToPurchaseCommonStockMember" xlink:label="loc_rgen_OptionToPurchaseCommonStockMember_779" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_765" xlink:to="loc_rgen_OptionToPurchaseCommonStockMember_779" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_780" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_765" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_780" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_766" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureTable_768" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_766" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaap_EquityComponentDomain_761" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_766" xlink:to="loc_us-gaap_EquityComponentDomain_761" use="optional" order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaap_CommonStockMember_773" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_761" xlink:to="loc_us-gaap_CommonStockMember_773" use="optional" order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeAxis" xlink:label="loc_srt_RangeAxis_763" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureTable_768" xlink:to="loc_srt_RangeAxis_763" use="optional" order="15" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember" xlink:label="loc_srt_RangeMember_764" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_763" xlink:to="loc_srt_RangeMember_764" use="optional" order="16" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MinimumMember" xlink:label="loc_srt_MinimumMember_775" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_764" xlink:to="loc_srt_MinimumMember_775" use="optional" order="17" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MaximumMember" xlink:label="loc_srt_MaximumMember_776" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_764" xlink:to="loc_srt_MaximumMember_776" use="optional" order="18" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_VestingAxis" xlink:label="loc_us-gaap_VestingAxis_771" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureTable_768" xlink:to="loc_us-gaap_VestingAxis_771" use="optional" order="19" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_VestingDomain" xlink:label="loc_us-gaap_VestingDomain_772" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VestingAxis_771" xlink:to="loc_us-gaap_VestingDomain_772" use="optional" order="20" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:label="loc_us-gaap_ShareBasedCompensationAwardTrancheOneMember_807" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VestingDomain_772" xlink:to="loc_us-gaap_ShareBasedCompensationAwardTrancheOneMember_807" use="optional" order="21" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:label="loc_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_808" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VestingDomain_772" xlink:to="loc_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_808" use="optional" order="22" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PlanNameAxis" xlink:label="loc_us-gaap_PlanNameAxis_310020" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureTable_768" xlink:to="loc_us-gaap_PlanNameAxis_310020" use="optional" order="23" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaap_PlanNameDomain_310022" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameAxis_310020" xlink:to="loc_us-gaap_PlanNameDomain_310022" use="optional" order="24" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_StockOptionAndIncentivePlanMember" xlink:label="loc_rgen_StockOptionAndIncentivePlanMember_310025" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameDomain_310022" xlink:to="loc_rgen_StockOptionAndIncentivePlanMember_310025" use="optional" order="25" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_StockholdersEquityNoteDisclosureLineItems" xlink:label="loc_rgen_StockholdersEquityNoteDisclosureLineItems_767" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureTable_768" xlink:to="loc_rgen_StockholdersEquityNoteDisclosureLineItems_767" use="optional" order="26" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaap_CommonStockSharesIssued_782" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureLineItems_767" xlink:to="loc_us-gaap_CommonStockSharesIssued_782" use="optional" order="27" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_CommonStockIssuePricePerShare" xlink:label="loc_rgen_CommonStockIssuePricePerShare_783" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureLineItems_767" xlink:to="loc_rgen_CommonStockIssuePricePerShare_783" use="optional" order="28" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_784" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureLineItems_767" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_784" use="optional" order="29" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfCommonStock_785" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureLineItems_767" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfCommonStock_785" use="optional" order="30" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensation" xlink:label="loc_us-gaap_ShareBasedCompensation_786" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureLineItems_767" xlink:to="loc_us-gaap_ShareBasedCompensation_786" use="optional" order="31" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_787" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureLineItems_767" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_787" use="optional" order="32" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_790" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureLineItems_767" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_790" use="optional" order="33" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_791" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureLineItems_767" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_791" use="optional" order="34" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharePrice" xlink:label="loc_us-gaap_SharePrice_793" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureLineItems_767" xlink:to="loc_us-gaap_SharePrice_793" use="optional" order="35" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_794" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureLineItems_767" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_794" use="optional" order="36" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_795" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureLineItems_767" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_795" use="optional" order="37" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1_796" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureLineItems_767" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1_796" use="optional" order="38" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_797" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureLineItems_767" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_797" use="optional" order="39" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_798" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureLineItems_767" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_798" use="optional" order="40" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_799" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureLineItems_767" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_799" use="optional" order="41" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_800" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureLineItems_767" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_800" use="optional" order="42" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_801" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureLineItems_767" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_801" use="optional" order="43" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares" xlink:label="loc_rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares_802" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureLineItems_767" xlink:to="loc_rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares_802" use="optional" order="44" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:label="loc_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_310019" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureLineItems_767" xlink:to="loc_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_310019" use="optional" order="45" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_792" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_StockholdersEquityNoteDisclosureLineItems_767" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_792" use="optional" order="46" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/StockBasedCompensationExpenseDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_810" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_815" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_810" xlink:to="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_815" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_814" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_815" xlink:to="loc_dei_LegalEntityAxis_814" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_820" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_814" xlink:to="loc_dei_EntityDomain_820" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_812" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_815" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_812" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_813" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_812" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_813" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CostOfSalesMember" xlink:label="loc_us-gaap_CostOfSalesMember_817" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_813" xlink:to="loc_us-gaap_CostOfSalesMember_817" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseMember_818" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_813" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpenseMember_818" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_819" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_813" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_819" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/definitionGuidance" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_811" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_815" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_811" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensation" xlink:label="loc_us-gaap_ShareBasedCompensation_816" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_811" xlink:to="loc_us-gaap_ShareBasedCompensation_816" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/EstimatedWeightedAverageAssumptionsDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_822" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_826" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_822" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_826" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_823" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_826" xlink:to="loc_dei_LegalEntityAxis_823" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_828" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_823" xlink:to="loc_dei_EntityDomain_828" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeAxis" xlink:label="loc_srt_RangeAxis_824" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_826" xlink:to="loc_srt_RangeAxis_824" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember" xlink:label="loc_srt_RangeMember_825" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_824" xlink:to="loc_srt_RangeMember_825" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MinimumMember" xlink:label="loc_srt_MinimumMember_829" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_825" xlink:to="loc_srt_MinimumMember_829" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MaximumMember" xlink:label="loc_srt_MaximumMember_830" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_825" xlink:to="loc_srt_MaximumMember_830" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_827" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_826" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_827" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_831" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_827" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_831" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum_833" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_827" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum_833" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum_834" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_827" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum_834" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum_835" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_827" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum_835" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum_836" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_827" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum_836" use="optional" order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_837" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_827" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_837" use="optional" order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/SummaryOfOptionActivityDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_839" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_841" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_839" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_841" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_840" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_841" xlink:to="loc_dei_LegalEntityAxis_840" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_847" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_840" xlink:to="loc_dei_EntityDomain_847" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_842" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_841" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_842" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_845" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_842" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_845" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_854" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_845" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_854" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_855" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_845" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_855" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_856" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_845" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_856" use="optional" order="8" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_858" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_845" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_858" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_859" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_845" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_859" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_860" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_845" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_860" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_846" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_842" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_846" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_861" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_846" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_861" use="optional" order="13" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_862" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_846" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_862" use="optional" order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_863" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_846" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_863" use="optional" order="15" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_865" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_846" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_865" use="optional" order="16" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_866" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_846" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_866" use="optional" order="17" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_843" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_842" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_843" use="optional" order="18" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_848" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_843" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_848" use="optional" order="19" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_849" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_843" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_849" use="optional" order="20" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_850" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_843" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_850" use="optional" order="21" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract" xlink:label="loc_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract_844" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_842" xlink:to="loc_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract_844" use="optional" order="22" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_851" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract_844" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_851" use="optional" order="23" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_852" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract_844" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_852" use="optional" order="24" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_853" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract_844" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_853" use="optional" order="25" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/SummaryOfOptionActivityParentheticalDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_869" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_872" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_869" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_872" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaap_AwardTypeAxis_870" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_872" xlink:to="loc_us-gaap_AwardTypeAxis_870" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_874" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_870" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_874" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="loc_us-gaap_EmployeeStockOptionMember_879" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_874" xlink:to="loc_us-gaap_EmployeeStockOptionMember_879" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_871" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_872" xlink:to="loc_dei_LegalEntityAxis_871" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_877" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_871" xlink:to="loc_dei_EntityDomain_877" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_TitleOfIndividualAxis" xlink:label="loc_srt_TitleOfIndividualAxis_875" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_872" xlink:to="loc_srt_TitleOfIndividualAxis_875" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_876" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_TitleOfIndividualAxis_875" xlink:to="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_876" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_NonExecutiveMember" xlink:label="loc_rgen_NonExecutiveMember_880" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_876" xlink:to="loc_rgen_NonExecutiveMember_880" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ExecutiveOfficerMember" xlink:label="loc_srt_ExecutiveOfficerMember_881" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_876" xlink:to="loc_srt_ExecutiveOfficerMember_881" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_873" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_872" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_873" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_PercentageOfSharesSubjectToForfeiture" xlink:label="loc_rgen_PercentageOfSharesSubjectToForfeiture_878" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_873" xlink:to="loc_rgen_PercentageOfSharesSubjectToForfeiture_878" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/SummaryOfRestrictedStockUnitActivityDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_883" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_886" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_883" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_886" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaap_AwardTypeAxis_884" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_886" xlink:to="loc_us-gaap_AwardTypeAxis_884" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_891" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_884" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_891" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_903" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_891" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_903" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_890" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_886" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_890" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_889" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_890" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_889" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_897" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_889" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_897" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_898" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_889" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_898" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_899" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_889" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_899" use="optional" order="9" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_900" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_889" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_900" use="optional" order="10" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_901" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_889" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_901" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber" xlink:label="loc_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber_902" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_890" xlink:to="loc_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber_902" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract_887" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_890" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract_887" use="optional" order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms_893" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract_887" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms_893" use="optional" order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm" xlink:label="loc_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm_894" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract_887" xlink:to="loc_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm_894" use="optional" order="15" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract_888" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_890" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract_888" use="optional" order="16" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding_895" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract_888" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding_895" use="optional" order="17" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="loc_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_896" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract_888" xlink:to="loc_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_896" use="optional" order="18" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/SummaryOfRestrictedStockUnitActivityParentheticalDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_905" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_908" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_905" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_908" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaap_AwardTypeAxis_906" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_908" xlink:to="loc_us-gaap_AwardTypeAxis_906" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_910" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_906" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_910" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_907" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_908" xlink:to="loc_dei_LegalEntityAxis_907" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_913" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_907" xlink:to="loc_dei_EntityDomain_913" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_TitleOfIndividualAxis" xlink:label="loc_srt_TitleOfIndividualAxis_911" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_908" xlink:to="loc_srt_TitleOfIndividualAxis_911" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_912" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_TitleOfIndividualAxis_911" xlink:to="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_912" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_NonExecutiveMember" xlink:label="loc_rgen_NonExecutiveMember_916" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_912" xlink:to="loc_rgen_NonExecutiveMember_916" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ExecutiveOfficerMember" xlink:label="loc_srt_ExecutiveOfficerMember_917" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_912" xlink:to="loc_srt_ExecutiveOfficerMember_917" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_909" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_908" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_909" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_PercentageOfSharesSubjectToForfeiture" xlink:label="loc_rgen_PercentageOfSharesSubjectToForfeiture_914" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_909" xlink:to="loc_rgen_PercentageOfSharesSubjectToForfeiture_914" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/CommitmentsAndContingenciesAdditionalInformationDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_919" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_CommitmentsAndContingenciesTable" xlink:label="loc_rgen_CommitmentsAndContingenciesTable_923" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_919" xlink:to="loc_rgen_CommitmentsAndContingenciesTable_923" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_926" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_CommitmentsAndContingenciesTable_923" xlink:to="loc_dei_LegalEntityAxis_926" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_950" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_926" xlink:to="loc_dei_EntityDomain_950" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_AmendmentAxis" xlink:label="loc_rgen_AmendmentAxis_920" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_CommitmentsAndContingenciesTable_923" xlink:to="loc_rgen_AmendmentAxis_920" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_AmendmentDomain" xlink:label="loc_rgen_AmendmentDomain_921" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_AmendmentAxis_920" xlink:to="loc_rgen_AmendmentDomain_921" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_924" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_CommitmentsAndContingenciesTable_923" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_924" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_925" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_924" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_925" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_309791" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_CommitmentsAndContingenciesTable_923" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_309791" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_309794" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_309791" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_309794" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srt_ProductOrServiceAxis_329274" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_CommitmentsAndContingenciesTable_923" xlink:to="loc_srt_ProductOrServiceAxis_329274" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srt_ProductsAndServicesDomain_329275" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductOrServiceAxis_329274" xlink:to="loc_srt_ProductsAndServicesDomain_329275" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_NGLImpactAMember" xlink:label="loc_rgen_NGLImpactAMember_329276" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_329275" xlink:to="loc_rgen_NGLImpactAMember_329276" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis" xlink:label="loc_us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis_329277" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_CommitmentsAndContingenciesTable_923" xlink:to="loc_us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis_329277" use="optional" order="13" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain" xlink:label="loc_us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain_329278" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis_329277" xlink:to="loc_us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain_329278" use="optional" order="14" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ResearchAndDevelopmentArrangementMember" xlink:label="loc_us-gaap_ResearchAndDevelopmentArrangementMember_329279" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain_329278" xlink:to="loc_us-gaap_ResearchAndDevelopmentArrangementMember_329279" use="optional" order="15" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeAxis" xlink:label="loc_srt_RangeAxis_329283" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_CommitmentsAndContingenciesTable_923" xlink:to="loc_srt_RangeAxis_329283" use="optional" order="16" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember" xlink:label="loc_srt_RangeMember_329284" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_329283" xlink:to="loc_srt_RangeMember_329284" use="optional" order="17" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MaximumMember" xlink:label="loc_srt_MaximumMember_329285" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_329284" xlink:to="loc_srt_MaximumMember_329285" use="optional" order="18" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MinimumMember" xlink:label="loc_srt_MinimumMember_329286" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_329284" xlink:to="loc_srt_MinimumMember_329286" use="optional" order="19" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_421675" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_CommitmentsAndContingenciesTable_923" xlink:to="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_421675" use="optional" order="20" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="loc_us-gaap_TypeOfAdoptionMember_421677" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_421675" xlink:to="loc_us-gaap_TypeOfAdoptionMember_421677" use="optional" order="21" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CreditFacilityAxis" xlink:label="loc_us-gaap_CreditFacilityAxis_597594" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_CommitmentsAndContingenciesTable_923" xlink:to="loc_us-gaap_CreditFacilityAxis_597594" use="optional" order="22" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CreditFacilityDomain" xlink:label="loc_us-gaap_CreditFacilityDomain_597595" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditFacilityAxis_597594" xlink:to="loc_us-gaap_CreditFacilityDomain_597595" use="optional" order="23" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_CommitmentsAndContingenciesLineItems" xlink:label="loc_rgen_CommitmentsAndContingenciesLineItems_922" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_CommitmentsAndContingenciesTable_923" xlink:to="loc_rgen_CommitmentsAndContingenciesLineItems_922" use="optional" order="24" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongTermPurchaseCommitmentAmount" xlink:label="loc_us-gaap_LongTermPurchaseCommitmentAmount_329272" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_CommitmentsAndContingenciesLineItems_922" xlink:to="loc_us-gaap_LongTermPurchaseCommitmentAmount_329272" use="optional" order="25" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_CapacityOfBioreactors" xlink:label="loc_rgen_CapacityOfBioreactors_330765" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_CommitmentsAndContingenciesLineItems_922" xlink:to="loc_rgen_CapacityOfBioreactors_330765" use="optional" order="26" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/CarryingValueOfConvertibleSeniorNotesDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaap_DebtDisclosureAbstract_1014" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentTable" xlink:label="loc_us-gaap_DebtInstrumentTable_1018" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_1014" xlink:to="loc_us-gaap_DebtInstrumentTable_1018" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1019" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_1018" xlink:to="loc_dei_LegalEntityAxis_1019" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1025" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_1019" xlink:to="loc_dei_EntityDomain_1025" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentAxis" xlink:label="loc_us-gaap_DebtInstrumentAxis_1015" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_1018" xlink:to="loc_us-gaap_DebtInstrumentAxis_1015" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_1017" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentAxis_1015" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_1017" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ZeropointthreesevenfivepercentageconvertibleseniornotesduetwentytwentyfourmemberMember" xlink:label="loc_rgen_ZeropointthreesevenfivepercentageconvertibleseniornotesduetwentytwentyfourmemberMember_565108" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_1017" xlink:to="loc_rgen_ZeropointthreesevenfivepercentageconvertibleseniornotesduetwentytwentyfourmemberMember_565108" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="loc_us-gaap_DebtInstrumentLineItems_1016" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_1018" xlink:to="loc_us-gaap_DebtInstrumentLineItems_1016" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="loc_us-gaap_DebtInstrumentCarryingAmount_1020" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1016" xlink:to="loc_us-gaap_DebtInstrumentCarryingAmount_1020" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentUnamortizedDiscount" xlink:label="loc_us-gaap_DebtInstrumentUnamortizedDiscount_1021" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1016" xlink:to="loc_us-gaap_DebtInstrumentUnamortizedDiscount_1021" use="optional" order="9" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredFinanceCostsNet" xlink:label="loc_us-gaap_DeferredFinanceCostsNet_1022" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1016" xlink:to="loc_us-gaap_DeferredFinanceCostsNet_1022" use="optional" order="10" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongTermDebt" xlink:label="loc_us-gaap_LongTermDebt_1023" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1016" xlink:to="loc_us-gaap_LongTermDebt_1023" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaap_DebtDisclosureAbstract_1038" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentTable" xlink:label="loc_us-gaap_DebtInstrumentTable_1044" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_1038" xlink:to="loc_us-gaap_DebtInstrumentTable_1044" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentAxis" xlink:label="loc_us-gaap_DebtInstrumentAxis_1039" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_1044" xlink:to="loc_us-gaap_DebtInstrumentAxis_1039" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_1041" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentAxis_1039" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_1041" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember" xlink:label="loc_rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember_499446" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_1041" xlink:to="loc_rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember_499446" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMember" xlink:label="loc_rgen_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMember_1069" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_1041" xlink:to="loc_rgen_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMember_1069" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentRedemptionPeriodAxis" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPeriodAxis_1042" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_1044" xlink:to="loc_us-gaap_DebtInstrumentRedemptionPeriodAxis_1042" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentRedemptionPeriodDomain" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPeriodDomain_1043" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentRedemptionPeriodAxis_1042" xlink:to="loc_us-gaap_DebtInstrumentRedemptionPeriodDomain_1043" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="loc_us-gaap_SubsequentEventTypeAxis_468841" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_1044" xlink:to="loc_us-gaap_SubsequentEventTypeAxis_468841" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_468842" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventTypeAxis_468841" xlink:to="loc_us-gaap_SubsequentEventTypeDomain_468842" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_499490" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_1044" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_499490" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaap_EquityComponentDomain_499491" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_499490" xlink:to="loc_us-gaap_EquityComponentDomain_499491" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaap_CommonStockMember_499493" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_499491" xlink:to="loc_us-gaap_CommonStockMember_499493" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="loc_us-gaap_DebtInstrumentLineItems_1040" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_1044" xlink:to="loc_us-gaap_DebtInstrumentLineItems_1040" use="optional" order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="loc_us-gaap_DebtInstrumentFaceAmount_1046" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_DebtInstrumentFaceAmount_1046" use="optional" order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_1047" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_1047" use="optional" order="15" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromConvertibleDebt" xlink:label="loc_us-gaap_ProceedsFromConvertibleDebt_1048" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_ProceedsFromConvertibleDebt_1048" use="optional" order="16" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentInterestRateTerms" xlink:label="loc_us-gaap_DebtInstrumentInterestRateTerms_500277" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_DebtInstrumentInterestRateTerms_500277" use="optional" order="17" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentMaturityDate" xlink:label="loc_us-gaap_DebtInstrumentMaturityDate_1051" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_DebtInstrumentMaturityDate_1051" use="optional" order="18" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" xlink:label="loc_us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger_1052" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger_1052" use="optional" order="19" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentConvertibleThresholdTradingDays" xlink:label="loc_us-gaap_DebtInstrumentConvertibleThresholdTradingDays_1054" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_DebtInstrumentConvertibleThresholdTradingDays_1054" use="optional" order="20" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_DebtInstrumentConvertibleIntoEquity" xlink:label="loc_rgen_DebtInstrumentConvertibleIntoEquity_813995" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_rgen_DebtInstrumentConvertibleIntoEquity_813995" use="optional" order="21" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" xlink:label="loc_us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1_1055" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1_1055" use="optional" order="22" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentConvertibleConversionRatio1" xlink:label="loc_us-gaap_DebtInstrumentConvertibleConversionRatio1_1057" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_DebtInstrumentConvertibleConversionRatio1_1057" use="optional" order="23" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:label="loc_us-gaap_DebtInstrumentConvertibleConversionPrice1_1058" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_DebtInstrumentConvertibleConversionPrice1_1058" use="optional" order="24" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentRedemptionPricePercentage" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPricePercentage_1059" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_DebtInstrumentRedemptionPricePercentage_1059" use="optional" order="25" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InterestExpenseDebtExcludingAmortization" xlink:label="loc_us-gaap_InterestExpenseDebtExcludingAmortization_1063" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_InterestExpenseDebtExcludingAmortization_1063" use="optional" order="26" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AmortizationOfDebtDiscountPremium" xlink:label="loc_us-gaap_AmortizationOfDebtDiscountPremium_1064" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_AmortizationOfDebtDiscountPremium_1064" use="optional" order="27" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AmortizationOfFinancingCosts" xlink:label="loc_us-gaap_AmortizationOfFinancingCosts_1065" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_AmortizationOfFinancingCosts_1065" use="optional" order="28" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:label="loc_us-gaap_DebtInstrumentInterestRateEffectivePercentage_1066" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_DebtInstrumentInterestRateEffectivePercentage_1066" use="optional" order="29" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongTermDebt" xlink:label="loc_us-gaap_LongTermDebt_1067" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_LongTermDebt_1067" use="optional" order="30" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongTermDebtFairValue" xlink:label="loc_us-gaap_LongTermDebtFairValue_1068" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_LongTermDebtFairValue_1068" use="optional" order="31" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_OptionToPurchaseAdditionalDebtFaceAmount" xlink:label="loc_rgen_OptionToPurchaseAdditionalDebtFaceAmount_499447" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_rgen_OptionToPurchaseAdditionalDebtFaceAmount_499447" use="optional" order="32" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_DiscountRate" xlink:label="loc_rgen_DiscountRate_499453" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_rgen_DiscountRate_499453" use="optional" order="33" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentConvertibleBeneficialConversionFeature" xlink:label="loc_us-gaap_DebtInstrumentConvertibleBeneficialConversionFeature_499454" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_DebtInstrumentConvertibleBeneficialConversionFeature_499454" use="optional" order="34" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent" xlink:label="loc_rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent_499455" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent_499455" use="optional" order="35" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_ConvertibleNotesTransactionCostsOfEquityComponent" xlink:label="loc_rgen_ConvertibleNotesTransactionCostsOfEquityComponent_499456" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_rgen_ConvertibleNotesTransactionCostsOfEquityComponent_499456" use="optional" order="36" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarlyRepaymentOfSeniorDebt" xlink:label="loc_us-gaap_EarlyRepaymentOfSeniorDebt_499476" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_EarlyRepaymentOfSeniorDebt_499476" use="optional" order="37" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentIncreaseAccruedInterest" xlink:label="loc_us-gaap_DebtInstrumentIncreaseAccruedInterest_499477" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_DebtInstrumentIncreaseAccruedInterest_499477" use="optional" order="38" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_499479" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_499479" use="optional" order="39" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities_499480" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities_499480" use="optional" order="40" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtConversionConvertedInstrumentAmount1" xlink:label="loc_us-gaap_DebtConversionConvertedInstrumentAmount1_499482" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_DebtConversionConvertedInstrumentAmount1_499482" use="optional" order="41" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_DebtInstrumentFaceAmountRemaining" xlink:label="loc_rgen_DebtInstrumentFaceAmountRemaining_500283" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_rgen_DebtInstrumentFaceAmountRemaining_500283" use="optional" order="42" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent" xlink:label="loc_us-gaap_DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent_499484" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent_499484" use="optional" order="43" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt_499486" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_1040" xlink:to="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt_499486" use="optional" order="44" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ChangeInChangeInAccumulatedOtherComprehensiveLossDetailDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_1073" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_1075" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_1073" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_1075" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1077" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_1075" xlink:to="loc_dei_LegalEntityAxis_1077" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1085" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_1077" xlink:to="loc_dei_EntityDomain_1085" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_1078" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_1075" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_1078" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaap_EquityComponentDomain_1076" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_1078" xlink:to="loc_us-gaap_EquityComponentDomain_1076" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccumulatedTranslationAdjustmentMember" xlink:label="loc_us-gaap_AccumulatedTranslationAdjustmentMember_1084" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_1076" xlink:to="loc_us-gaap_AccumulatedTranslationAdjustmentMember_1084" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_1074" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_1075" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_1074" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity_1079" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_1074" xlink:to="loc_us-gaap_StockholdersEquity_1079" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_1080" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_1074" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_1080" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity_1081" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_1074" xlink:to="loc_us-gaap_StockholdersEquity_1081" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/EmployeeBenefitPlansAdditionalInformationDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_1087" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable" xlink:label="loc_us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable_1096" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_1087" xlink:to="loc_us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable_1096" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1090" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable_1096" xlink:to="loc_dei_LegalEntityAxis_1090" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1101" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_1090" xlink:to="loc_dei_EntityDomain_1101" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis" xlink:label="loc_us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis_1088" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable_1096" xlink:to="loc_us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis_1088" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain" xlink:label="loc_us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain_1091" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis_1088" xlink:to="loc_us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain_1091" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_DefinedContribution401KPlanMember" xlink:label="loc_rgen_DefinedContribution401KPlanMember_1102" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain_1091" xlink:to="loc_rgen_DefinedContribution401KPlanMember_1102" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeAxis" xlink:label="loc_srt_RangeAxis_1092" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable_1096" xlink:to="loc_srt_RangeAxis_1092" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember" xlink:label="loc_srt_RangeMember_1093" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_1092" xlink:to="loc_srt_RangeMember_1093" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MinimumMember" xlink:label="loc_srt_MinimumMember_1103" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_1093" xlink:to="loc_srt_MinimumMember_1103" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RetirementPlanTypeAxis" xlink:label="loc_us-gaap_RetirementPlanTypeAxis_1094" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable_1096" xlink:to="loc_us-gaap_RetirementPlanTypeAxis_1094" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RetirementPlanTypeDomain" xlink:label="loc_us-gaap_RetirementPlanTypeDomain_1095" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanTypeAxis_1094" xlink:to="loc_us-gaap_RetirementPlanTypeDomain_1095" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PensionPlansDefinedBenefitMember" xlink:label="loc_us-gaap_PensionPlansDefinedBenefitMember_1104" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanTypeDomain_1095" xlink:to="loc_us-gaap_PensionPlansDefinedBenefitMember_1104" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RetirementPlanSponsorLocationAxis" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationAxis_1098" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable_1096" xlink:to="loc_us-gaap_RetirementPlanSponsorLocationAxis_1098" use="optional" order="13" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RetirementPlanSponsorLocationDomain" xlink:label="loc_us-gaap_RetirementPlanSponsorLocationDomain_1097" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationAxis_1098" xlink:to="loc_us-gaap_RetirementPlanSponsorLocationDomain_1097" use="optional" order="14" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ForeignPlanMember" xlink:label="loc_us-gaap_ForeignPlanMember_1105" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanSponsorLocationDomain_1097" xlink:to="loc_us-gaap_ForeignPlanMember_1105" use="optional" order="15" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems" xlink:label="loc_us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems_1089" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable_1096" xlink:to="loc_us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems_1089" use="optional" order="16" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_DefinedContributionPlanEmployeeEligibilityAge" xlink:label="loc_rgen_DefinedContributionPlanEmployeeEligibilityAge_1099" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems_1089" xlink:to="loc_rgen_DefinedContributionPlanEmployeeEligibilityAge_1099" use="optional" order="17" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DefinedBenefitPlanContributionsByEmployer" xlink:label="loc_us-gaap_DefinedBenefitPlanContributionsByEmployer_1100" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems_1089" xlink:to="loc_us-gaap_DefinedBenefitPlanContributionsByEmployer_1100" use="optional" order="18" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/RelatedPartyTransactionsAdditionalInformationDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RelatedPartyTransactionsAbstract" xlink:label="loc_us-gaap_RelatedPartyTransactionsAbstract_1107" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:label="loc_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_1114" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RelatedPartyTransactionsAbstract_1107" xlink:to="loc_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_1114" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1108" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_1114" xlink:to="loc_dei_LegalEntityAxis_1108" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1117" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_1108" xlink:to="loc_dei_EntityDomain_1117" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_TitleOfIndividualAxis" xlink:label="loc_srt_TitleOfIndividualAxis_1115" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_1114" xlink:to="loc_srt_TitleOfIndividualAxis_1115" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_1116" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_TitleOfIndividualAxis_1115" xlink:to="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_1116" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_1113" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_1114" xlink:to="loc_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_1113" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaap_RelatedPartyDomain_1111" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_1113" xlink:to="loc_us-gaap_RelatedPartyDomain_1111" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PrincipalOwnerMember" xlink:label="loc_us-gaap_PrincipalOwnerMember_1119" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RelatedPartyDomain_1111" xlink:to="loc_us-gaap_PrincipalOwnerMember_1119" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_CTechnologiesMember" xlink:label="loc_rgen_CTechnologiesMember_813846" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RelatedPartyDomain_1111" xlink:to="loc_rgen_CTechnologiesMember_813846" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeAxis" xlink:label="loc_srt_RangeAxis_1109" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_1114" xlink:to="loc_srt_RangeAxis_1109" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember" xlink:label="loc_srt_RangeMember_1110" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_1109" xlink:to="loc_srt_RangeMember_1110" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MinimumMember" xlink:label="loc_srt_MinimumMember_1118" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_1110" xlink:to="loc_srt_MinimumMember_1118" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_309716" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_1114" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_309716" use="optional" order="13" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_309717" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_309716" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_309717" use="optional" order="14" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_OwnershipAxis" xlink:label="loc_srt_OwnershipAxis_327967" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_1114" xlink:to="loc_srt_OwnershipAxis_327967" use="optional" order="15" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_OwnershipDomain" xlink:label="loc_srt_OwnershipDomain_327968" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_OwnershipAxis_327967" xlink:to="loc_srt_OwnershipDomain_327968" use="optional" order="16" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_SpectrumIncMember" xlink:label="loc_rgen_SpectrumIncMember_499360" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_OwnershipDomain_327968" xlink:to="loc_rgen_SpectrumIncMember_499360" use="optional" order="17" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="loc_us-gaap_SubsidiarySaleOfStockAxis_469079" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_1114" xlink:to="loc_us-gaap_SubsidiarySaleOfStockAxis_469079" use="optional" order="18" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_469080" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_469079" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_469080" use="optional" order="19" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RelatedPartyTransactionLineItems" xlink:label="loc_us-gaap_RelatedPartyTransactionLineItems_1112" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_1114" xlink:to="loc_us-gaap_RelatedPartyTransactionLineItems_1112" use="optional" order="20" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:label="loc_us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners_1121" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RelatedPartyTransactionLineItems_1112" xlink:to="loc_us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners_1121" use="optional" order="21" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProfessionalFees" xlink:label="loc_us-gaap_ProfessionalFees_309715" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RelatedPartyTransactionLineItems_1112" xlink:to="loc_us-gaap_ProfessionalFees_309715" use="optional" order="22" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TaxesPayableCurrent" xlink:label="loc_us-gaap_TaxesPayableCurrent_813842" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RelatedPartyTransactionLineItems_1112" xlink:to="loc_us-gaap_TaxesPayableCurrent_813842" use="optional" order="23" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxesPaid" xlink:label="loc_us-gaap_IncomeTaxesPaid_813843" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RelatedPartyTransactionLineItems_1112" xlink:to="loc_us-gaap_IncomeTaxesPaid_813843" use="optional" order="24" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
<presentationLink xlink:type="extended" xlink:role="http://www.repligencorp.com/role/ConsolidatedStatementsOfOperationsInformationForEachOfPreviousEightQuartersDetail">
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:label="loc_us-gaap_QuarterlyFinancialInformationDisclosureAbstract_1125" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_QuarterlyFinancialInformationTable" xlink:label="loc_rgen_QuarterlyFinancialInformationTable_1130" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_QuarterlyFinancialInformationDisclosureAbstract_1125" xlink:to="loc_rgen_QuarterlyFinancialInformationTable_1130" use="optional" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_1128" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_QuarterlyFinancialInformationTable_1130" xlink:to="loc_dei_LegalEntityAxis_1128" use="optional" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_1147" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_1128" xlink:to="loc_dei_EntityDomain_1147" use="optional" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srt_ProductOrServiceAxis_284896" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_QuarterlyFinancialInformationTable_1130" xlink:to="loc_srt_ProductOrServiceAxis_284896" use="optional" order="4" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srt_ProductsAndServicesDomain_284897" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductOrServiceAxis_284896" xlink:to="loc_srt_ProductsAndServicesDomain_284897" use="optional" order="5" preferredLabel="http://www.xbrl.org/2003/role/label" />
<loc xlink:type="locator" xlink:href="rgen-20201231.xsd#rgen_QuarterlyFinancialInformationLineItems" xlink:label="loc_rgen_QuarterlyFinancialInformationLineItems_1129" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_QuarterlyFinancialInformationTable_1130" xlink:to="loc_rgen_QuarterlyFinancialInformationLineItems_1129" use="optional" order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_309638" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_QuarterlyFinancialInformationLineItems_1129" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_309638" use="optional" order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaap_GrossProfit_309640" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_QuarterlyFinancialInformationLineItems_1129" xlink:to="loc_us-gaap_GrossProfit_309640" use="optional" order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingExpenses" xlink:label="loc_us-gaap_OperatingExpenses_309642" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_QuarterlyFinancialInformationLineItems_1129" xlink:to="loc_us-gaap_OperatingExpenses_309642" use="optional" order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_309643" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_QuarterlyFinancialInformationLineItems_1129" xlink:to="loc_us-gaap_NetIncomeLoss_309643" use="optional" order="10" preferredLabel="http://www.xbrl.org/2003/role/positiveTerseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaap_EarningsPerShareAbstract_309644" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rgen_QuarterlyFinancialInformationLineItems_1129" xlink:to="loc_us-gaap_EarningsPerShareAbstract_309644" use="optional" order="11" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareBasic" xlink:label="loc_us-gaap_EarningsPerShareBasic_309647" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_309644" xlink:to="loc_us-gaap_EarningsPerShareBasic_309647" use="optional" order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
<loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaap_EarningsPerShareDiluted_309648" />
<presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_309644" xlink:to="loc_us-gaap_EarningsPerShareDiluted_309648" use="optional" order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
</presentationLink>
</linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>12
<FILENAME>g105808g19j62.jpg
<DESCRIPTION>GRAPHIC
<TEXT>
begin 644 g105808g19j62.jpg
M_]C_X  02D9)1@ ! 0(!>0%Y  #_X4;':'1T<#HO+VYS+F%D;V)E+F-O;2]X
M87 O,2XP+P \/WAP86-K970@8F5G:6X](N^[OR(@:60](E<U33!-<$-E:&E(
M>G)E4WI.5&-Z:V,Y9"(_/@H\>#IX;7!M971A('AM;&YS.G@](F%D;V)E.FYS
M.FUE=&$O(B!X.GAM<'1K/2)!9&]B92!835 @0V]R92 V+C M8S P-" W.2XQ
M-C0U-S L(#(P,C O,3$O,3@M,34Z-3$Z-#8@(" @(" @("(^"B @(#QR9&8Z
M4D1&('AM;&YS.G)D9CTB:'1T<#HO+W=W=RYW,RYO<F<O,3DY.2\P,B\R,BUR
M9&8M<WEN=&%X+6YS(R(^"B @(" @(#QR9&8Z1&5S8W)I<'1I;VX@<F1F.F%B
M;W5T/2(B"B @(" @(" @(" @('AM;&YS.G!D9CTB:'1T<#HO+VYS+F%D;V)E
M+F-O;2]P9&8O,2XS+R(*(" @(" @(" @(" @>&UL;G,Z>&UP/2)H='1P.B\O
M;G,N861O8F4N8V]M+WAA<"\Q+C O(@H@(" @(" @(" @("!X;6QN<SIX;7!'
M26UG/2)H='1P.B\O;G,N861O8F4N8V]M+WAA<"\Q+C O9R]I;6<O(@H@(" @
M(" @(" @("!X;6QN<SIX;7!-33TB:'1T<#HO+VYS+F%D;V)E+F-O;2]X87 O
M,2XP+VUM+R(*(" @(" @(" @(" @>&UL;G,Z<W12968](FAT=' Z+R]N<RYA
M9&]B92YC;VTO>&%P+S$N,"]S5'EP92]297-O=7)C95)E9B,B"B @(" @(" @
M(" @('AM;&YS.G-T179T/2)H='1P.B\O;G,N861O8F4N8V]M+WAA<"\Q+C O
M<U1Y<&4O4F5S;W5R8V5%=F5N=",B"B @(" @(" @(" @('AM;&YS.F1C/2)H
M='1P.B\O<'5R;"YO<F<O9&,O96QE;65N=',O,2XQ+R(*(" @(" @(" @(" @
M>&UL;G,Z>&UP5%!G/2)H='1P.B\O;G,N861O8F4N8V]M+WAA<"\Q+C O="]P
M9R\B"B @(" @(" @(" @('AM;&YS.G-T1&EM/2)H='1P.B\O;G,N861O8F4N
M8V]M+WAA<"\Q+C O<U1Y<&4O1&EM96YS:6]N<R,B"B @(" @(" @(" @('AM
M;&YS.G-T1FYT/2)H='1P.B\O;G,N861O8F4N8V]M+WAA<"\Q+C O<U1Y<&4O
M1F]N=",B"B @(" @(" @(" @('AM;&YS.GAM<$<](FAT=' Z+R]N<RYA9&]B
M92YC;VTO>&%P+S$N,"]G+R(*(" @(" @(" @(" @>&UL;G,Z:6QL=7-T<F%T
M;W(](FAT=' Z+R]N<RYA9&]B92YC;VTO:6QL=7-T<F%T;W(O,2XP+R(^"B @
M(" @(" @(#QP9&8Z4')O9'5C97(^061O8F4@4$1&(&QI8G)A<GD@,34N,# \
M+W!D9CI0<F]D=6-E<CX*(" @(" @(" @/'AM<#I#<F5A=&]R5&]O;#Y!9&]B
M92!);&QU<W1R871O<B R-2XQ("A7:6YD;W=S*3PO>&UP.D-R96%T;W)4;V]L
M/@H@(" @(" @(" \>&UP.D-R96%T941A=&4^,C R,2TP,BTQ.50Q-3HQ-3HS
M,BLP-3HS,#PO>&UP.D-R96%T941A=&4^"B @(" @(" @(#QX;7 Z36]D:69Y
M1&%T93XR,#(Q+3 R+3$Y5#$U.C$U.C,R*S U.C,P/"]X;7 Z36]D:69Y1&%T
M93X*(" @(" @(" @/'AM<#I-971A9&%T841A=&4^,C R,2TP,BTQ.50Q-3HQ
M-3HS,BLP-3HS,#PO>&UP.DUE=&%D871A1&%T93X*(" @(" @(" @/'AM<#I4
M:'5M8FYA:6QS/@H@(" @(" @(" @(" \<F1F.D%L=#X*(" @(" @(" @(" @
M(" @/')D9CIL:2!R9&8Z<&%R<V54>7!E/2)297-O=7)C92(^"B @(" @(" @
M(" @(" @(" @(#QX;7!'26UG.G=I9'1H/C(U-CPO>&UP1TEM9SIW:61T:#X*
M(" @(" @(" @(" @(" @(" @/'AM<$=);6<Z:&5I9VAT/C$T,#PO>&UP1TEM
M9SIH96EG:'0^"B @(" @(" @(" @(" @(" @(#QX;7!'26UG.F9O<FUA=#Y*
M4$5'/"]X;7!'26UG.F9O<FUA=#X*(" @(" @(" @(" @(" @(" @/'AM<$=)
M;6<Z:6UA9V4^+SEJ+S1!05%3:UI*4F=!0D%G14%304))04%$+S=107-51VAV
M9$<Y>F%'.7=)1$UU34%!-%%K;$Y!*S!!04%!04%"04%304%!04%%028C>$$[
M05%"24%!04%!44%"+RLT041K1FMB,DIL04=404%!04%!9B]B04E104)G445"
M055%0F=51D)G:T="45E*0W=G1T)G9TQ$06]+0W=O2R8C>$$[1$)!341!=TU$
M07=11$$T4$5!.$]$0DU41D)15$5X=V)'>'-C2'@X9DAX.&9(>#AF2'=%2$)W
M8TY$03!914)!64=H55)&4F]F2'@X9B8C>$$[2'@X9DAX.&9(>#AF2'@X9DAX
M.&9(>#AF2'@X9DAX.&9(>#AF2'@X9DAX.&9(>#AF2'@X9DAX.&9(>#AF+SA!
M04519T%J045!07=%4B8C>$$[04%)4D%135)!9B]%06%)04%!04A!445"05%%
M04%!04%!04%!04%11D%W24=!44%(0T%K2T-W14%!9TE$05%%0D%114%!04%!
M04%!028C>$$[05%!0T%W449"9V-)0U%O3$5!04-!44U$06=10T)G8T1"04E'
M06Y-0D%G35)"04%&25))>%%614=%,D5I8UE%54UP1VA">%=X46E00B8C>$$[
M571(:$UX6FDX0U)Y9W9%;%%Z4E1K<4MY63-00TY546YK-D]Z3FAD55I(5$0P
M=4E)2F]-2D-H9UIH2E)&4G%3,%9T3E9+0G)Y-"]0128C>$$[,4]4,%I85T9L
M85<Q>&18;#E76C)H<&%M='-B5S5V63-2,61N9#1E6' W9D@Q*V8S3T5H66%(
M:4EM2VDT>4YJ;RM#:S535FQP95EM6B8C>$$[<6)N2C)E;C5+:G!+5VUP-FEP
M<7%U<W)A-G9O4D%!24-!44E$0E%514)1645#04U$8E%%04%H141"0T53355%
M1E523FA)9UIX9UI%>28C>$$[;V)(=T9-2%(T4TY#1E9*:6-V17I*1%)$9VAA
M4U5Y5VE9-TQ#0C-04TYE2D5G>&15:W=G2D-H9UI*:EI&1VED:V1&53,X<4]Z
M=WEG<"8C>$$[,"M0>FA*4VMT3515-5!2;&195U9P8EA&,658,5)L6FUD;V%7
M<')B1S%U8C)2,61N9#1E6' W9D@Q*V8S3T5H66%(:4EM2VDT>4YJ;R8C>$$[
M*T1L2E=7;#5I6FUP=6-N6C9F:W%/:W!A86YQ2VUQ<39Y=')Q*W8O84%!=T1!
M44%#15%-4D%$.$$V:S,O041J6C5"9E1)<D9R:2]J6B8C>$$[4%9-=#%B>5%7
M.&MP;45O<$ES54M2:THY669G3T]W*TAD9FAX5C9A=TLV:D-!>F-40DE#<%II
M1'AA3VAO5%-V>$AF<FEQ2WA6,DMU>"8C>$$[5C)+=7A6,DMU>%8R2W5X5C)+
M=7A6,DMU>%8R2W5X5C)+=7A6,DMU>%8R2W5X5C)+=7A6,DMU>%8R2W5X5C)+
M=7A62TY*.'=P<60O9"8C>$$[,CA%1"]6-U-35T)R=C1V5&%71F=J<7)C47!O
M4U%A3C%"2%DP5E1F1E5.2B]X,&]0*TU-,R]%;W-64D]+=7A6,DMU>%8R2W5X
M5C)+=28C>$$[>%8R2W5X5C)+=7A6,DMU>%8R2W5X5C)+=7A6,DMU>%8R2W5X
M5C)+=7A6,DMU>%8R2W5X5FHK=3-L-698;SAV85A),%4P:4-45DPY3R8C>$$[
M=')B3E5!268Y+WI5250K559F<T%Y<6,R3FIA5T9N1%I78U-W5W1U9VIH:%%5
M5E9554%'2W9+,2\U>' X;&959G%C=7%A=3A82U(Q0R8C>$$[>G=22VAL4U)(
M5TY);T5652]F<W=3;D5E1D=937$Y45I#3E9T>4AB:4QE5E%H;U)S.%<Y4T]6
M9G!X5D8T<3=&6%EQ-T9867$W1EA9<28C>$$[-T9867$W1EA9<3=&6%EQ-T98
M67$W1EA9<3=&6%EQ-T9867$W1EA9<3=&6%EQ-T9867%L6&U(5UI.4&=H9W,T
M,75D6'9N.4A4<E9I428C>$$[<E!3<E-316)R1D5V>%-.-&)$-&EO2W%R;V5J
M4C966FU,,41C6%5Z;6$K=DA!1'IZ<T)Z:V%N5&]!<6I:5D%58D1&57=X5C)+
M;V%4+R8C>$$[04DV54@O1T=B+VE55TMO;D9867$W1EA9<3=&6%EQ-T9867$W
M1EA9<3=&6%EQ-T9867$W1EA9<3=&6%EQ-T9867$W1EA9<3=&6%EQ-R8C>$$[
M1EA9<6AT5#%+>C!Y=VUV<G@O5'0T1C5/44-Z16LP5E955DQ->D5+<6IC:S!'
M*TMP6C5E,#(X86%86$Y65&AQ=#9O5DQC:TU,4S)"-28C>$$[2F)Q4G1Y+V%L
M669A9B]*5F%+<#5I<G-6951(+T%*>' X:79:2F%Y6#)P+T-R<5I)<%E)2RMP
M-CEF9VEH4DM!,V(P1DM5*T@W3E%66"8C>$$[<'I)4G%T=5$W8U)B>7%%3D-.
M;FDS<5)Y<CE/2V]V1EA9<3=&6%EQ-T9867$W1EA9<3=&6%EQ-T9867$W1EA9
M<3=&6%EQ-T9867$W1B8C>$$[6%EQ-T9867$W1EA9<3=&6$5G06MM9T<U2GA6
M:D]N02M:9%-I,6U49E%R2FED2&E04S1L-D<Y660P1S1G*VPK-D5+<VUX5C)+
M=7A6,B8C>$$[2V]A5"]J<%%F.%E:=BM*4EEQ:6-69&ER<U9D:7)S5F1I<G-6
M9&ER<U9D:7)S5F1I<G-69&ER<U9D:7)S5F1I<G-69&ER<U9D:7)S5B8C>$$[
M9&ER<U99>G%,=C5K,4-B4EE$5%),5G5'=%A!<E-D*W8Q2TTK2"LO,DA19D(Q
M3&-65U-Q<6]O5E%&5E)25D=W04A105EQ,VER<U9D:28C>$$[<GE.9GEC+TU2
M<E V=DHK6FUP4FMC>D=9635A;TI&;$A!>5-856MS9U9P:'A,3GEO=E=V16]Q
M.5):1T=Q,C='4FE0<3AQ.%1X<%AN1B8C>$$[.%=W<E@X359294MU>%8R2W5X
M5C)+=7A6,DMU>%8R2W5X5C)+=7A6,DMU>%8R2W5X5C)+=7A6,DMU>%8R2W5X
M5C)+=7A6:C)Q-FYE828C>$$[;&93841O<VI2>7@P1W)A;VQ+5VE-2RMN1U-'
M1%A,<69H6#EG2&TS-TE:5D]D3S K>C V>6AS8DM)43)S0SA);S$W1'%34V1Y
M4V1Y5"8C>$$[=51U8U921TMU>%8R2W5X5C)+;V%4+VIP468X04='8B]!26Q&
M:7%*>%8R2W5X5C)+=7A6,DMU>%8R2W5X5C)+=7A6,DMU>%8R2W5X5B8C>$$[
M,DMU>%8R2W5X5C)+=7A6,DMU>%9I;#$U:G9D6C%7-3!(44A725$Q5SDQ;TU(
M15!%<4I%:%%G<3@S>&MD,5%J-'%N-%-Q>413=$MS9"8C>$$[2W-9-TMY:CE/
M0T]P,TI:;5IJ>60S9'%S-W5X3$UZ1W!/-7A61C1Q-T9867$W1EA9<3AL2#5.
M*V5Z64Q!4'I),5-#8CDT>GE2+U=(2"8C>$$[2U):5D%";75P6D]+97%G2'@O
M<U8R8SAG<3E06D='<3(W1U)I4'$X<3A4>'!8;D8X5W=R6#A-5E)E2W5X5C)+
M=7A6,DMU>%8R2W5X5B8C>$$[,DMU>%8R2W5X5C)+=7A6,DMU>%8R2W5X5C)+
M=7A6,DMO2%9T8C!V4UE6;'8U>$8V:#114D%&-5I8<%AH1$5G85-2<69S;W!/
M2W!3,28C>$$[<')N;40O931385!O>"\T.&\S<&580R\X6%-O9C-#2"M336QZ
M,UID,7A64#=3,'1B3S)I=&)31DQE,FA52D1"16]2155B0E9684%$1B8C>$$[
M5EA&6%EQ-T9867$W1E9O:VI,=$='0F1!0S9!:6]$9$MJ,W!I<3=&54Y*+W@P
M;U K34TS+T%"2TQ&551I<G-69&ER<U9D:7)S5F1I<B8C>$$[<U9D:7)S5F1I
M<G-69&ER<U9D:7)S5F1I<G-69&EQ53,O;7)1-T\U87I--75T45=L8D,P4G)M
M-$94448T-&<W278K53E&.3A6479Q*R8C>$$[8G152#=Q2DY!=$=P*SAM-%A.
M-E(S<$=P83-I4&=3,&XK<FEQ3S!Z>3=P;6YZ3F-O<EA';U-$:DQQ1GEX;'5'
M2%AJ-FIF6E=V-T-5528C>$$[9&AI<5I9<3=&6%EQ-T95;75V3TAL,D-D<EIB
M<UAD-&XR-T]Y5C=U9&8Y84\S16I,.#)!1TMQ6#98.'HS:'!984M,5U O;&\Q
M3UI9>B8C>$$[5"M:66)F-G<U*U1L1&ER:&]/=5A1+S-+835,>% R<F94;S%S
M-&E007544&-F4W-Q-'%I.4HX=39F<%5S<VQO6F%Z5DUH;&MA6FU*<"8C>$$[
M=3!K;DM6>CA/,TIJ:7)Z:R]K-S4Y97EJ:"\U5U!Q5G9+<4]R4U%#-6%P9C9W
M4E5Z,VMZ2&@Y659145%E2T0Y<FEY<794;5)H<71U>"8C>$$[:UEJ-G9+=D4X
M858U>&9&<TLQ+T1&55AI<G-69&ER<U9D:7)S5F1I<G-69&ER<U9D:7)S5F1I
M<G-69&ER:5%!4U111&-K-'%K<R]N4"8C>$$[>31K:E%W6%@Q*S546G)F5#!E
M.&M5.6<V,C9Y8U Y;E%9<6="<2]N5RMV:D9:-EI(<&QO5%%4-FE':VQ#.$LX
M+U-T<$=J66-U>&U6=B8C>$$[8G)25D=F-%=A-S,Q<E5R<E5A,7)B<2\Q5S)&
M93-P5R]!=79T2S<T<6TQ:G Y:%E7-'1R1S)I=$QD9#%H9U)9,$AY5E%":7%V
M:7%Y828C>$$[84=#2G!:<$9I:5%695)Y1E5$,THR>%9*>C4Q.'-&>6QT9D,O
M8T=J2G V4UAZ2V9":&%R358K;D952VYM;E<W<3EE,G-03'0Q-F9%1R8C>$$[
M2S9V:71P0U0K,7E0-S964E%I;C=U=EAB1E54.54X-#-F.2]F5W5M4G0Q:7,T
M;75*;"\Q8FEC<D@Y.79I<E@K1&1*;D)/<7E81W--,R8C>$$[,C%V-5=K:&(U
M,G$X3%@W;W-65&DR=&)7,6A70S%H4T-&4'-X4DM%569*5D%'2W%U2W5X5C)+
M=7A61%-F.&1+1"]J1$XO=T%3:7A6128C>$$[-'$W1EA9<3=&6%EQ<'1C5S9Z
M3$$P<4-D>'E327-/6D$W:&5U2W%M2W!:9"MA4$Q.;2]#-S%E>71N-F-:8FE*
M1#EZ34U644TO;B]Y<B8C>$$[1C!U6EIT<3AO3&$U;5=N*W9(1WEJ-E1J4W!D
M3BMA;FPY1%)),UE(;S!L>' Y=%AS4&AU8G%&+RM&=S!Q;B]Y<V0U:B]!2TA:
M,C!W-R8C>$$[8V)T-7EA8F)#>'0W,G4O*V1C859!3BM96&Y+8E96=$Q4>39(
M1D-V16TV4FUB:GHU1#8S8E=8=S=C9FXW67%M:T=S+VUB3V%$>3=A5R8C>$$[
M,W9D,V%Q3S,K*U!R2B]$1E97-VTO3F51+W=#:#)E9S)O.$IR<3AU93,K5&(R
M,V9!<45.;BM9,&QF,&A--V1/8V5L,T9T1$=2<V9G328C>$$[.7%:<2]W1%!1
M659B1VI7-5E.<4AL3RLQ3FA1<3$S95<Y*T%2,S0S;#!&5'A(069D:7%C=S9Z
M<45-4WA1*U=,*T]*0E)),&945E5$=R8C>$$[048S5$%Q:B]!26DX>5-8>&=H
M.'54<$A46C=M84=-8W%63E=I8313;EE54%A&55%B;GIR24M,<"MN5SEE:G1E
M5'I%9DY"8E)$+V@X5B8C>$$[9#E2.#13+S-U<E=K0TAT8E=4.'AV+U!.4$EP
M,B]W0TLX5E<O-%=L;% K;F$S<60T=$MC9E=3,$A7=E=X:G17+TA&5E-,>6(U
M5VIK128C>$$[<F%B1&-4:G!C6%%.,4U0*V5S-6MF.&-65&A65D9#<4%Q<4M+
M;S)!039!1$988VPU1F%J:T%#4C-O96XV<U9B>%9:3%!$0W9/85)9,"8C>$$[
M<E1K-4-I=GI/2W!63C5Y.&]1='AL,7I4-#,V.%=U;U%F=4Q9<7 O-# X=70O
M8U146%@O34IA,TYZ,G(O04QO:FMX5F).-7AS;S$U<"8C>$$[66%H26QA8VUT
M2DQC5G!8<F1#1$965%%V36IA<F0S3417371L.5A!24TP:T5H979H.5AE6D)4
M8717<G8P<'9I<D%P4'EG."M3-F1"8B8C>$$[9CAR1S%',FMI4U%03$-S-T9M
M:TYW86QP<G%746A"3VER.%9A4FIF;%)L5EI*-7,X<65:=%8X>&%F9&%6-6]U
M9$5J9W0R1'A14E)Y:28C>$$[47!)<&-S<VQ9+VE$:G%N-T]+;T]F>58K87!B
M+T%%9CAX-457<&]*9$AS2D14='5V<#1Q9UHO2B\U,'%3;S@V<&9202]$+V\Y
M=EE-9"8C>$$[=7!-9'1D169+=G8W659A;CAT+VUK<69(95A--D4P84]$5UE&
M:W W1G1(9W Y1&<T<7!X84PU<4929#)F;7)P<V)45TY0;$9E*SAS="8C>$$[
M<V%E2#A-5E98,"\P0VAU9$<X-6Q$,D=R97)7;FHY5S%*,D@T649382]T4$QS
M=FU#,DXQ-68X-%-%4CAL:&QU<G5D2T%S1#EQ-6UB9B8C>$$[;'93461T=#EY
M<5I*<%AK3G$O.$%)4$Y5=6XW=&,R<7E-5"]R,TTY9GAX5DTT3$QY.%)31#AR
M-6Q#*TYP;W-8,V,W<%!W=TMU4TLX:B8C>$$[2$=Y+TQ71T=V>$@Q6F1-:%=V
M.$%Z>&%F.5=&57IT<C-Z*T9+=V573DUS:2LY6#%.-D$O-5-X5U164'E0,#1&
M8S@S-7)-=S17;6A1<B8C>$$[,$YB;3AL4%AR+V-29'4S-#1Q:'I&*V-4-F=H
M*W-A1D1:.%1Z2'!857!R.'5C4B\T8C9E,DMO=C!V>E,O-6%D1%!V-D8R4'<Y
M631Q<R8C>$$[4"]+,6Q"<"MG<$-/;&9R:58O-&Y4.&-657!'+T]"<65N1C5E
M:CA3,&PV.69U4DM9<7!M-"].-5)6;TY*86XR:$9(2S%F2&IZ=5DV*R8C>$$[
M,6%95F0Y92].4#A!-5I,4"]P2%@O=DDT<6A%,4PX,W8P:7E.6C)V,5E)2TXY
M5UAI6$\U,BMV9FIZ<#)P6$955G@O3E=106-R5U!L5"8C>$$[8VQ%22M:-#-)
M2"]!="](1D1J<&8U;GE!:#E2:6A9,$%E2S1G64%E2E(Y3$I*+S)9=TID+VAJ
M.'A*=#5F3E!O.65)1G9(3%0R+V1,6B8C>$$[.'9M9G5W<3)025AM0U55=2].
M3C)25W K<D<T='HP.&9R36YF-E!B1S%B6#AS4B]U,WI4-6AK0BLR:#%"9W X
M96DX9U!P=TLQ1BM59B8C>$$[;&-8:W1Z8U0V:&1E<V=2;S5,-C519'52+V-Y
M4E8U8U)S9'-.<6E6+TMR>450=&%72F8X06I.4&-3+SA!2GE2<T9Q:3 O3&XX
M=FMP>"8C>$$[.'-A4T-.<2]58F%V,SA-5E9H-4<X;$%52&PO5%%",'!:=V8X
M,%EQ,R]G;GE:+S%93D\O-E))4"MA3598>&54=DM-5&,T=$0P*TXK;B8C>$$[
M2F)714@W=W5+;WEZ,&Y3-T8S97IT27):;BLQ-E-+9U!4<V]!,V]++TEE1TMO
M=D953DHO>#!O4"M-33,O04)+3$955&ER<U9D:7)S5B8C>$$[9&ER<U9D:7)S
M5F1I<G-69&ER<U9D:7)S5F1I<G-69&ER<U9D:7)S5F1I<G-69&ER<U9D:7)S
M5F1I<G-69&ER<U99<BM92&Q(6'9-="8C>$$[;F%7,FHK67)N>30X3'ET3F,R
M9V-Y4TLX3'AQ=G=Y4D-I=7=B9F9B-%-P,WA61GEA,V]%.2]'.%AM0S)5=W%,
M85-.2C=9=#9T>$E&:28C>$$[0D)$9D4W475Q:G518419-'%M1FLX5CEA4EAL
M;'%J6%9P3V]E1S1H3G9*1S9N;WEU<4972'EX5E<K<50O05!,8DXY,% O5E!&
M6&962B8C>$$[+W=$;'1M*S9(+W%N:7)V<6LO.$%Y,GIF9$0O,51X5C,Q4V8O
M04IB6G9U:"\V<#1Q;$U7=F%*3F-2<$(U;'0U02]&46E4,FI/>GEH1R8C>$$[
M:4-G3"LP<F=J>'%+9&-65$]#37IW>'IW86A*3$1+;V5+5E!16E=6:%975FA(
M46=J;V-66"]62B\K5S)B-V]F*W%E2W4K<50O05!,8B8C>$$[3CDP4"]64$98
M9E9*+W=$;'1M*S9(+W%N:7)V<6LO.$%Y,GIF9$0O,51X5DI8.'IE6$5R2S-M
M;3!7,E)/57)T8S)9<'E62%)Q.&%!1B8C>$$[2#5F26<T<6TQ<49U-V%+-G1D
M4V4T=&)H1FQG;FE-1'AV1S0U2S9-<UI$2W=.45)I<7 Y56XO-6):=G5H+W=#
M<65+=2MQ5"\X=',S,R8C>$$[42\X05901EAF5DHO*U<R8C=O9BMQ94MR6DE*
M230R:VMV-55J449N9&A#04%.>5-42#!X5DM&.'DK6%0V,'8X06EI,$YV0T(V
M:D,T<R8C>$$[+V=94G1-,TTX840Y>790+T%&450P>%9.-#1(;&I74T\O;&5.
M=T=2,3E!<7EK5D)"164T3TMR=G%K+SA!>3)Z9F1$+S%4>%8S,5-F+R8C>$$[
M04IB6G9U:"\V<#1Q-S9P4"]W071S,S-1+W=$5E!&5D\T5#9T0DIC6$=O>5$R
M.$M.2DY.2C9#;VE+2W-Z35EW04%"56LT<6Q5;FU4>28C>$$[.44P<GIE84Q7
M3T-)1EA,6$9M=D(T:31L-6MR46-E3R]H43%X5D]F<6LO.$%Y,GIF9$0O,51X
M5C,Q4V8O04IB6G9U:"\V<#1Q-S9P4"8C>$$[+W=!=',S,U$O=T164$989E9*
M+RM7,F(W;V8X07%N:7%N8THY5V=K=4QJ55I)8F5&1VMM;6LY0E521D976FU-
M64%!07%38U93,R]&+R8C>$$[;%<P9&AD*UDW1&=7.4I05W5R6D=%<49H26UX
M459(2' Q<41I<68T<7A6=GEW.&Q-,THW3V0R1GA(94M7=F(Q=4TX57-S-D]T
M6G9H<"8C>$$[2F-Y=%%B2&MA-'%Y1%-T3'-.2S V1%1T4&DY0WIT;#114E9:
M=4LY97)&;5 P;D955FER<U91;6\V='!U;7AP2F8S0U<V3V5+32]C,"8C>$$[
M<E1&57)(;C-Y9UIJ0TY4:CE24E4W4%1A;C=82&HK,$\K3DLX-SAY>B]K:C5C
M+U)55CEA,U9X6C9H+V\X5C%(9#-5<TU%9&Q*84-K<"8C>$$[:W566EDP2FAC
M:%9A;U5K:GA+;S8Q+U W.&YD2FDP,U-R5%5*>'!S8TIG9W548C-42D5T<W%O
M<V-N<DPY6EIJ<T%1:E8W;D%Q8U(O;B8C>$$[9"M8.3%'>F%B9'E8,&E3=WA3
M42MK8DUQ8FE+4V%*;6954'%C45(P:&%J8RMP56175W%Q-5!Z>"],0G!04T]R
M<W-G.5%-<'1B<V=.0R8C>$$[:7E3<GI%4E%L1F1A,&)V:7%":R\U>4HO2U53
M*VY&<3AK-TLV<$E5=$QO0D,P:7@O15AI5"MA=3%D9V4Y05975RM5+T\S;&IZ
M8F%81B8C>$$[,S5E=E)E,CER36)A-&(P-5EI<W%Q1TLX6E9J8F]W,T%P:7%!
M9R]+,WE205EJ2%IZ9W=,0VM,1SEV5TM,8G1%.%-Q5$UA0E=T;WI4>"8C>$$[
M1R]F1E=4,C%T0F$R,%9T8F])<F5"1FIH:EA:5E)">%92-T%$1E941EA9<3=&
M5G,P4U124$4Y945I;%=O4W!O=V]A37!"2'I'2W-36"8C>$$[.'!F24ET2C=4
M.4AY=$)C3$=K>79E6')->5$R<VQL1VY.<&EW5F)E9# T9S S.%%$:7)+-V5#
M2S-T-')E1F5-54M,2$=T4V%+;V]"528C>$$[,4HR1TMO9E5T6#!Z5$52-RLT
M5S-346Q53#$S23,W67%L=S@Y955J2S!9,4],:V]"4#)Q8BLY36%63$YD+TY0
M>7AO-W=E;TQI-W0U,"8C>$$[36XQ<3!J5U=/4&I+:U9*9FE$2CA5;RM)<G@W
M5C550F%6:G0W*V9F-4QA=F(S1VLS1W-'6%1R,C)M:G9:5VAU645%8VA307AC
M;5=+628C>$$[=DE*-FHP9V5+<7I%<E-U2S!L9#5Q,S5%3VE8:S!-,3=P=#E'
M3'5455IR:35E2C!L;'5R4"LU=4IX8U1C6D=M47)(12]$:T0X231N0R8C>$$[
M<DIB5#@O4'EL=5=23&9896)-:GE+;W1B=V9"1T1Y3SA)<%-M0E58-5@O3U1Y
M1#5O,6AT2S!A.6QN=795.4M%=F)4>'!)-&EE6F=P9"8C>$$[1C0X5FEA=E!J
M=5!C5E9:=&ER<U91*W!A9F%A;' Q,7 Q-&AK<S<R1U,S=5EW>DE7:FQ5;S8X
M:TMS=%9054=U2W-8=F9Y:CAG,S-,-B8C>$$[-7 X='AZ:T4P9VQV8C%G,&DK
M<'A:<7IB.&98:S0Q-F-T<U9::&ER<U9D:7)S5F1I<G-65T-+051'44EV<D9A
M33E">30K0E!7;3)+<B8C>$$[.%9113-L-U%*-U-3>FTP>3!L=$I:;75:8F0T
M23)J960R3'9+>49E2F1M2EES9'EC5E(K2W%*<W)-,VDS<&=J3C9K8E%P8VQ&
M.599;B8C>$$[6E=A35!4:T9::U5K5G!51$968D9867$W1EA9<3=&6%EQ-T98
M67$W1EA9<3=&5DY5=&AC339Q9W5'2'AS04]:1S-5.6%9<7%9<3=&5B8C>$$[
M1WIS<DMY9T9V6C(X9'1B:&YC47=O<V%"<$A-:G1X54%66C),3C1K,7A6>'-R
M33-I,W!G:DXV:V)1<&-L1CE666Y:5V%-4%1K1EIK528C>$$[:U9P541&5F)&
M6%EQ-T9867$W1EA9<3=&6%EQ-T9867%L2&U0.4-E:$0K;'96.4QM9E0Y2#9X
M.7%N9C9V=C X8U99=6XO2W0O<C<P*R8C>$$[=2MR>#,O-#9.3S%F.')P>#EV
M<')H46MV-6AF.'$W+U)7;F97+W="2RMN-FQZ*VHO04MJ6#%V6#1X8R\Y-V0V
M8V%F82]D535C.7-5<R8C>$$[0FXO42]R-E@Y6B\U5W(K;%!R56XV32MS8U!R
M2'%E:CAF<"MR.%!(,"MF3&HK>GDU9D1G4VA,,R]!0697,R]X;"]I+R]!0F@V
M42]16"8C>$$[0VXV6"MQ9G!M-2MP,#E4+T%)*S8P<C(T8V93-S1Q;E5&9E)T
M=E,O-5<S-C-R=CA!8G!Y+S-8>#E4,68S6' Q-F8W3&QT5$96,79Y.28C>$$[
M168X06LR=5AP=C9F<6-E6#=83"]!0V564',X+V)J=FEQ13!0+T1V,5!32V8X
M<D<O46XV5G1V4BMV9E9F<5 Q;C8R;F\K=GDR.5 V>B8C>$$[4W8X06PO-59-
M5F933TM(67$W1EA9<3=&6%EQ-T9867%L2&U0.4)E:D0K;"]6.5!K9E,Y2#9X
M6&Q4978Q9F8W.%99<D8O=T%Q,B]38R8C>$$[+T0V-S8O0F96+S0V2$=N-U K
M5C0O=T-D34M%9S@X+SAQ,#EA>2MS+W!F,2]29C9J.5$U*W(O=E9">G(V+W=#
M.'!Z-&8S;C=R=R]E8R8C>$$[8U5S3'1V<5@V4E-N+TLQ4#!R.5AK*W(O049R
M-G0Y62MR*W9B*W0Y6"MS9D9X.5@P9E4Y3#EN-V9W5G=*448W*VAF<G9L=CA!
M>%@O:B8C>$$[8B]'=C%2+W$O=T)1*W(O5W9Q,S97=E!Q9C%J,78S,W)D4',O
M1#EI;4MP<&1F;T0Y1&HV,R]W07)-+U(O<GA6.69H5#9X*VM0,U@Y-28C>$$[
M+W4S-GI3;%!I-F9T57A1='5F,%@Y8S!R-C,O>71(-B]Z9CA!4E Q:C O53E4
M,$<Y6&A8-'58<#AU6#=62S K2$975F9K0B]J5#9X928C>$$[+W=#3% P-3EA
M*W%X+U9F,'(Y9CE';G)3971Z*W,O=798-6-/4$1B,'5.4&DY5$98<RM+=7A6
M,DMV+R]:/"]X;7!'26UG.FEM86=E/@H@(" @(" @(" @(" @(" \+W)D9CIL
M:3X*(" @(" @(" @(" @/"]R9&8Z06QT/@H@(" @(" @(" \+WAM<#I4:'5M
M8FYA:6QS/@H@(" @(" @(" \>&UP34TZ1&]C=6UE;G1)1#YX;7 N9&ED.C$Q
M.# Q9C8P+39C9#$M-#0T9BUB9F-B+60R-#%A-S<P8S,Y-3PO>&UP34TZ1&]C
M=6UE;G1)1#X*(" @(" @(" @/'AM<$U-.DEN<W1A;F-E240^>&UP+FEI9#HQ
M,3@P,68V,"TV8V0Q+30T-&8M8F9C8BUD,C0Q83<W,&,S.34\+WAM<$U-.DEN
M<W1A;F-E240^"B @(" @(" @(#QX;7!-33I/<FEG:6YA;$1O8W5M96YT240^
M=75I9#I"044P-T,P1"TX.$-$+31#1#DM.4%"1"U!,#4T-S1&0S=%.44\+WAM
M<$U-.D]R:6=I;F%L1&]C=6UE;G1)1#X*(" @(" @(" @/'AM<$U-.E)E;F1I
M=&EO;D-L87-S/F1E9F%U;'0\+WAM<$U-.E)E;F1I=&EO;D-L87-S/@H@(" @
M(" @(" \>&UP34TZ1&5R:79E9$9R;VT@<F1F.G!A<G-E5'EP93TB4F5S;W5R
M8V4B/@H@(" @(" @(" @(" \<W12968Z:6YS=&%N8V5)1#YX;7 N:6ED.C8R
M,3%A-60Q+64W-# M,V0T,"UB.3AE+6(P8CDU,V(V-#AA,SPO<W12968Z:6YS
M=&%N8V5)1#X*(" @(" @(" @(" @/'-T4F5F.F1O8W5M96YT240^>&UP+F1I
M9#HV,C$Q835D,2UE-S0P+3-D-# M8CDX92UB,&(Y-3-B-C0X83,\+W-T4F5F
M.F1O8W5M96YT240^"B @(" @(" @(" @(#QS=%)E9CIO<FEG:6YA;$1O8W5M
M96YT240^=75I9#I"044P-T,P1"TX.$-$+31#1#DM.4%"1"U!,#4T-S1&0S=%
M.44\+W-T4F5F.F]R:6=I;F%L1&]C=6UE;G1)1#X*(" @(" @(" @(" @/'-T
M4F5F.G)E;F1I=&EO;D-L87-S/F1E9F%U;'0\+W-T4F5F.G)E;F1I=&EO;D-L
M87-S/@H@(" @(" @(" \+WAM<$U-.D1E<FEV961&<F]M/@H@(" @(" @(" \
M>&UP34TZ2&ES=&]R>3X*(" @(" @(" @(" @/')D9CI397$^"B @(" @(" @
M(" @(" @(#QR9&8Z;&D@<F1F.G!A<G-E5'EP93TB4F5S;W5R8V4B/@H@(" @
M(" @(" @(" @(" @(" \<W1%=G0Z86-T:6]N/G-A=F5D/"]S=$5V=#IA8W1I
M;VX^"B @(" @(" @(" @(" @(" @(#QS=$5V=#II;G-T86YC94E$/GAM<"YI
M:60Z.38U-C4Q-V0M9#(R8RTV,#1B+3@S8S4M86%B865E,F0X-3@X/"]S=$5V
M=#II;G-T86YC94E$/@H@(" @(" @(" @(" @(" @(" \<W1%=G0Z=VAE;CXR
M,#(Q+3 R+3$Y5#$T.C,S.C V*S U.C,P/"]S=$5V=#IW:&5N/@H@(" @(" @
M(" @(" @(" @(" \<W1%=G0Z<V]F='=A<F5!9V5N=#Y!9&]B92!);&QU<W1R
M871O<B R-2XQ("A7:6YD;W=S*3PO<W1%=G0Z<V]F='=A<F5!9V5N=#X*(" @
M(" @(" @(" @(" @(" @/'-T179T.F-H86YG960^+SPO<W1%=G0Z8VAA;F=E
M9#X*(" @(" @(" @(" @(" @/"]R9&8Z;&D^"B @(" @(" @(" @(" @(#QR
M9&8Z;&D@<F1F.G!A<G-E5'EP93TB4F5S;W5R8V4B/@H@(" @(" @(" @(" @
M(" @(" \<W1%=G0Z86-T:6]N/G-A=F5D/"]S=$5V=#IA8W1I;VX^"B @(" @
M(" @(" @(" @(" @(#QS=$5V=#II;G-T86YC94E$/GAM<"YI:60Z,3$X,#%F
M-C M-F-D,2TT-#1F+6)F8V(M9#(T,6$W-S!C,SDU/"]S=$5V=#II;G-T86YC
M94E$/@H@(" @(" @(" @(" @(" @(" \<W1%=G0Z=VAE;CXR,#(Q+3 R+3$Y
M5#$U.C$U.C,R*S U.C,P/"]S=$5V=#IW:&5N/@H@(" @(" @(" @(" @(" @
M(" \<W1%=G0Z<V]F='=A<F5!9V5N=#Y!9&]B92!);&QU<W1R871O<B R-2XQ
M("A7:6YD;W=S*3PO<W1%=G0Z<V]F='=A<F5!9V5N=#X*(" @(" @(" @(" @
M(" @(" @/'-T179T.F-H86YG960^+SPO<W1%=G0Z8VAA;F=E9#X*(" @(" @
M(" @(" @(" @/"]R9&8Z;&D^"B @(" @(" @(" @(#PO<F1F.E-E<3X*(" @
M(" @(" @/"]X;7!-33I(:7-T;W)Y/@H@(" @(" @(" \9&,Z9F]R;6%T/F%P
M<&QI8V%T:6]N+W!O<W1S8W)I<'0\+V1C.F9O<FUA=#X*(" @(" @(" @/&1C
M.F-R96%T;W(^"B @(" @(" @(" @(#QR9&8Z4V5Q/@H@(" @(" @(" @(" @
M(" \<F1F.FQI/D=E;F$\+W)D9CIL:3X*(" @(" @(" @(" @/"]R9&8Z4V5Q
M/@H@(" @(" @(" \+V1C.F-R96%T;W(^"B @(" @(" @(#QD8SIT:71L93X*
M(" @(" @(" @(" @/')D9CI!;'0^"B @(" @(" @(" @(" @(#QR9&8Z;&D@
M>&UL.FQA;F<](G@M9&5F875L="(^4F5P;&EG96X@0V]R<&]R871I;VX\+W)D
M9CIL:3X*(" @(" @(" @(" @/"]R9&8Z06QT/@H@(" @(" @(" \+V1C.G1I
M=&QE/@H@(" @(" @(" \9&,Z9&5S8W)I<'1I;VX^"B @(" @(" @(" @(#QR
M9&8Z06QT/@H@(" @(" @(" @(" @(" \<F1F.FQI('AM;#IL86YG/2)X+7)E
M<&%I<B(^1FEL92!.86UE.B @(" @(" @(" @(" @(%)E<&QI9V5N($-O<G!O
M<F%T:6]N+F%I)B-X03M5<V5R;F%M93H@(" @(" @(" @(" @(&1E;'1A)B-X
M03M,;V-A;"!4:6UE.B @(" @(" @(" @(" Q.2U&96(M,C R,2 Q-#HU-3HU
M,28C>$$[15-4(%1I;64Z(" @(" @(" @(" @(" Q.2U&96(M,C R,2 P-3HR
M-3HU,28C>$$[4V-R:7!T(%9E<G-I;VXZ(" @(" @(" @,BXV)B-X03M);&QU
M<W1R871O<B!697)S:6]N.B @(" R-2XQ+C F(WA!.T=R87!H:6,@='EP93H@
M(" @(" @(" @3&EN92!#:&%R="8C>$$[)B-X03OB@*(@,C$@8FQA8VL@<G5L
M97,@8VAA;F=E9"!T;R!O=F5R<')I;G0N)B-X03LF(WA!.U1H92!F;VQL;W=I
M;F<@9F]N=',@87)E('!R97-E;G0@:6X@=&AE(&1O8W5M96YT.B8C>$$[(" @
M(" @(" @(%1I;65S+5-E;6EB;VQD)B-X03LF(WA!.U1H92!F;VQL;W=I;F<@
M8V]L;W)S(&%R92!P<F5S96YT(&EN('1H92!D;V-U;65N=#HF(WA!.R @(" @
M(" @("!";&%C:R8C>$$[)B-X03LM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TF(WA!.T9I;&4@3F%M93H@(" @(" @
M(" @(" @("!G,3EJ-C(N86DF(WA!.U5S97)N86UE.B @(" @(" @(" @(" @
M9&5L=&$F(WA!.TQO8V%L(%1I;64Z(" @(" @(" @(" @(#$Y+49E8BTR,#(Q
M(#$U.C$U.C(Y)B-X03M%4U0@5&EM93H@(" @(" @(" @(" @(#$Y+49E8BTR
M,#(Q(# U.C0U.C(Y)B-X03M38W)I<'0@5F5R<VEO;CH@(" @(" @(" R+C8F
M(WA!.TEL;'5S=')A=&]R(%9E<G-I;VXZ(" @(#(U+C$N,"8C>$$[1W)A<&AI
M8R!T>7!E.B @(" @(" @("!,:6YE($-H87)T)B-X03LF(WA!.RHJ*E1H92!P
M<F5F;&EG:'0@8VAE8VL@:7,@8V]M<&QE=&4N(%!L96%S92!E;G-U<F4@;6%N
M=6%L(&-H96-K<R!A<F4@8V]M<&QE=&5D('!E<B!P<F]C97-S+BHJ*B8C>$$[
M)B-X03M4:&4@9F]L;&]W:6YG(&9O;G1S(&%R92!P<F5S96YT(&EN('1H92!D
M;V-U;65N=#HF(WA!.R @(" @(" @("!4:6UE<RU396UI8F]L9"8C>$$[)B-X
M03M4:&4@9F]L;&]W:6YG(&-O;&]R<R!A<F4@<')E<V5N="!I;B!T:&4@9&]C
M=6UE;G0Z)B-X03L@(" @(" @(" @0FQA8VLF(WA!.R8C>$$[+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM)B-X03L\
M+W)D9CIL:3X*(" @(" @(" @(" @/"]R9&8Z06QT/@H@(" @(" @(" \+V1C
M.F1E<V-R:7!T:6]N/@H@(" @(" @(" \>&UP5%!G.DY086=E<SXQ/"]X;7!4
M4&<Z3E!A9V5S/@H@(" @(" @(" \>&UP5%!G.DAA<U9I<VEB;&54<F%N<W!A
M<F5N8WD^1F%L<V4\+WAM<%109SI(87-6:7-I8FQE5')A;G-P87)E;F-Y/@H@
M(" @(" @(" \>&UP5%!G.DAA<U9I<VEB;&5/=F5R<')I;G0^5')U93PO>&UP
M5%!G.DAA<U9I<VEB;&5/=F5R<')I;G0^"B @(" @(" @(#QX;7!44&<Z36%X
M4&%G95-I>F4@<F1F.G!A<G-E5'EP93TB4F5S;W5R8V4B/@H@(" @(" @(" @
M(" \<W1$:6TZ=SXV,3(N,# P,# P/"]S=$1I;3IW/@H@(" @(" @(" @(" \
M<W1$:6TZ:#XW.3(N,# P,# P/"]S=$1I;3IH/@H@(" @(" @(" @(" \<W1$
M:6TZ=6YI=#Y0;VEN=',\+W-T1&EM.G5N:70^"B @(" @(" @(#PO>&UP5%!G
M.DUA>%!A9V53:7IE/@H@(" @(" @(" \>&UP5%!G.D9O;G1S/@H@(" @(" @
M(" @(" \<F1F.D)A9SX*(" @(" @(" @(" @(" @/')D9CIL:2!R9&8Z<&%R
M<V54>7!E/2)297-O=7)C92(^"B @(" @(" @(" @(" @(" @(#QS=$9N=#IF
M;VYT3F%M93Y4:6UE<RU396UI8F]L9#PO<W1&;G0Z9F]N=$YA;64^"B @(" @
M(" @(" @(" @(" @(#QS=$9N=#IF;VYT1F%M:6QY/E1I;65S/"]S=$9N=#IF
M;VYT1F%M:6QY/@H@(" @(" @(" @(" @(" @(" \<W1&;G0Z9F]N=$9A8V4^
M4V5M:6)O;&0\+W-T1FYT.F9O;G1&86-E/@H@(" @(" @(" @(" @(" @(" \
M<W1&;G0Z9F]N=%1Y<&4^5'EP92 Q/"]S=$9N=#IF;VYT5'EP93X*(" @(" @
M(" @(" @(" @(" @/'-T1FYT.G9E<G-I;VY3=')I;F<^,# Q+C P,#PO<W1&
M;G0Z=F5R<VEO;E-T<FEN9SX*(" @(" @(" @(" @(" @(" @/'-T1FYT.F-O
M;7!O<VET93Y&86QS93PO<W1&;G0Z8V]M<&]S:71E/@H@(" @(" @(" @(" @
M(" @(" \<W1&;G0Z9F]N=$9I;&5.86UE/E1)4T)?7U\N4$9".R!425-"7U]?
M+E!&33PO<W1&;G0Z9F]N=$9I;&5.86UE/@H@(" @(" @(" @(" @(" \+W)D
M9CIL:3X*(" @(" @(" @(" @/"]R9&8Z0F%G/@H@(" @(" @(" \+WAM<%10
M9SI&;VYT<SX*(" @(" @(" @/'AM<%109SI0;&%T94YA;65S/@H@(" @(" @
M(" @(" \<F1F.E-E<3X*(" @(" @(" @(" @(" @/')D9CIL:3Y";&%C:SPO
M<F1F.FQI/@H@(" @(" @(" @(" \+W)D9CI397$^"B @(" @(" @(#PO>&UP
M5%!G.E!L871E3F%M97,^"B @(" @(" @(#QX;7!44&<Z4W=A=&-H1W)O=7!S
M/@H@(" @(" @(" @(" \<F1F.E-E<3X*(" @(" @(" @(" @(" @/')D9CIL
M:2!R9&8Z<&%R<V54>7!E/2)297-O=7)C92(^"B @(" @(" @(" @(" @(" @
M(#QX;7!'.F=R;W5P3F%M93Y$969A=6QT(%-W871C:"!'<F]U<#PO>&UP1SIG
M<F]U<$YA;64^"B @(" @(" @(" @(" @(" @(#QX;7!'.F=R;W5P5'EP93XP
M/"]X;7!'.F=R;W5P5'EP93X*(" @(" @(" @(" @(" @/"]R9&8Z;&D^"B @
M(" @(" @(" @(#PO<F1F.E-E<3X*(" @(" @(" @/"]X;7!44&<Z4W=A=&-H
M1W)O=7!S/@H@(" @(" @(" \:6QL=7-T<F%T;W(Z0W)E871O<E-U8E1O;VP^
M061O8F4@26QL=7-T<F%T;W(\+VEL;'5S=')A=&]R.D-R96%T;W)3=6)4;V]L
M/@H@(" @(" \+W)D9CI$97-C<FEP=&EO;CX*(" @/"]R9&8Z4D1&/@H\+W@Z
M>&UP;65T83X*(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @( H@(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @"B @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" *(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @( H@(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @"B @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" *(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @( H@(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @"B @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" *(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @( H@(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @"B @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" *(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @( H@(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @"B @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" *(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @( H@(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @"B @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" *(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @( H@(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @"B @(" @(" @(" @(" @(" @(" @(" @(" @( H\/WAP86-K970@96YD
M/2)W(C\^_]L 0P ! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$!
M 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$!_]L 0P$! 0$! 0$! 0$!
M 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$!
M 0$! 0$! 0$!_\  $0@ _0'0 P$1  (1 0,1 ?_$ !X  0 " P$! 0$!
M       '" 4&"00# 0(*_\0 2!    8" 0(# @H(!0,# P4  0(#! 4&  <(
M"1$2$R$4%188(C%46)27TM8*%QDR.$%XMR,D,U%A0E)Q&B4T1'*!-8*1F-?_
MQ  7 0$! 0$                  0(#_\0 .A$!  $!!08$! 4# P4!
M  $1 B$Q05$287&!D? #H;'1$R)2P3)"8I+A<M+Q,X*B(T-3LL)C_]H # ,!
M  (1 Q$ /P#_ %$:IX[<L)6L1\?L2Y[<B+!6^15BL])OLCO._05C;Z^0GK+=
MD0VYKZA[BEM7;48S<S4:-KP\6G&1].7I=^L;V)U)5W,=+V.X&JQNPPQSRFEV
M-8QRK,H]TUH3J9PFPJ-)W[:=A<4MG.<>%PC)/:AK":NLZC1N.L?RE/>2>^7/
MP[8[EL=6WB?5[(Z-G-3G=I;S8-:#[V!I!%F;/KE36E+L8NK-V&;I'RFN6V-8
MZ>O>V-7SNO&'ZJZ%?=A6* OU LER^&#.H5MS86T#"RM>VAKSX'.7GNQXS7FG
MT=<TB>VMG"<-_D54) S%\TUN6/PA@,!@,!@,!@,!@,!@,!@,!@,!@,!@,!@,
M!@,!@,!@,!@,!@,!@,!@,!@,!@,!@,!@,!@,!@,!@,!@,#4+?L&A:]:M'U^N
M]0H[*0<':,'EOLL-6FKUT1,5CMFCB:>LD7+@B("J=%$YU"I@)Q*!0$<%)G"*
MLA6;75KK$(6"FV6 ML"Z472;3=9F(Z>B'"K58[=RFA)13EVR64;KIG07(FL8
MR*Q#IJ 4Y1* 9_ 8%:.:/\'O*K^G+=G]MK)A;.,<8]5E\(8# 8# 8# 8# 8#
M 8# 8# 8# 8# 8# 8# 8# 8# 8# 8# 8# 8# 8# 8# 8# 8# 8# 8# 8# 8#
M 8# X.<^+3NWF!RLI/$#@O88V-NNB:_+S?,+=;N3]P06F*1LI_2)"(U-4+\E
M3=DEKO(G9D+3WP12Z-#LZU%IS]W9',?[6LW5C3=FD1,SA,W1K,5OF,XBZN%9
MSNEUAXY:\N6NZI<$KW$TBO3]RVE>=@'KFO+!*VFK0#*S/D%&$6RGYBE:\>R2
MR3=J59XJ-0B$4W*ZB")'!$@=+&9FM-T1"P6$,"M'-'^#WE5_3ENS^VUDPMG&
M.,>JR^$,!@,!@,!@,!@,!@,!@,!@,!@,!@,!@,!@,!@,!@,!@,!@,!@,!@,!
M@,!@,!@,!@,!@,!@,!@,!@,#G!SUY8W_ %HXH/%7BJRB[;SBY,I24?J>*DDP
M>UO3%"8F!I>.3FVDRIN"1VO-:H*F-#,GJ*BU^O'NNHPK"8/[W0;&K,1C/X8Q
MUG=&_P!(SP3UP\XFT#AKI6)U+27LK9YAY*2MVVKM*TJ"\ONZ-NVM8LA?-K7Z
M5447=25EM<MXEA!=TY3B8I&,@&"@1L4S(0DS6:W1NC"(C1:7"(*JO)?1]VC8
M27JU\:2T?9YN9@:LNE$6)$;4XKJKM.=E*NBZB$%[)4X@K%VYD;Q")/J:S8(*
M2+B>38E%QA:3Y5Y2UVL\Q>,ERE("$K.X:O*RMF>03")8HEE45_:;7#U"P4XL
MH#J.0+ )WB%O](DJ&XGC1C>\M;97SU)69]Z- 5%)C*>Z^E)KI2\YH_P>\JOZ
M<MV?VVLF"SC'&/59?"& P& P& P& P& P& P& P& P& P& P& P& P& P& P
M& P& P& P& P& P& P& P& P& P& P& P*K\Q^6-%X:Z2E]M6^.E+9.O96)H
MVIM5U@OM-YW3N&WKFC:!JFBQR:;AR^L-JEQ*F=1!H[+#P[>5L#Q T?$NA L1
M6:8:SE$9SWPB]!_ ?B;>]3(7[DMR@D8NX\X.3RL98-VV&..#NO:OK#$AE*-Q
MLU2<ZC@(W66J&"Q6"JK5PLM=;:$M;YE])J+Q9F1;4Q-(C\,8:WXS-\WSNN=&
M,,F!R[2Z2W&Q>8^$$U-[$D916T7.S/2QSJE5:&>+7K<FK=TV06U?K-)C(FKS
M=AL&FJ-&VFY41M4K=8(9.;9*S#5"19(Q)K:GOWF^><RVB@=+OC;KJW0UVB'^
MR'\]'2&E9"76F+!!+I6\W'&OZDKFCF]B3955@9)OKQMI2COF(5P]?5FY1.8=
M6I6=3EEVY1-J9\_.9KZS%9R2ESYUU1+MQ0Y 3-NJ4#8Y:C:(W3/4^0F(YN^=
MUJ:3U],.DY2&67(8[%Z1Q'L5BN$!*H"C1 P#W3+V)9QCC'JN5A# 8# 8# 8#
M 8# 8# 8# 8# 8# 8# 8# 8# 8# 8# 8# 8# 8# 8# 8# 8# 8# 8# 8# 8#
M 8# U6\WBH:SIEJV)L"Q150H]'K\M:K=:9UVFQAZ_78)BM)2\O).U1 B#-@Q
M;K.%CCW-X""!"F.)2B,<');AY1[?SHWE&]33?M=E:_K6 CYF"Z<FC+0T4:NJ
M)J^P)@TG.4MXA7(=F^WM\1J:)JHU.F'P%U4>,9HKR4A-FDVQJ9I&S&/YINW7
M1NB<;Z3-\71?V3PR8# 8# K1S1_@]Y5?TY;L_MM9,+9QCC'JLOA# 8# 8# 8
M# 8# 8# 8# 8# 8# 8# 8# 8# 8# 8# 8# 8# 8# 8# 8# 8# 8# 8# 8# 8
M# 8# XC[&56ZKW):7T'#*J.NG1Q)V R#DG/ME###\NN2U/>-9>)XYQ3A(?9Y
M?36F91-A/[H<"==G:KHE#4E%H+..7F@-WV(B?S3$3&L1KQG*["]VT112;I)-
MVZ2:"""9$4442%22122*!$TDDR 4B::9"E(0A"@4A0 I0   ,,/I@,!@,!@5
MHYH_P>\JOZ<MV?VVLF%LXQQCU67PA@,!@,!@,!@,!@,!@,!@,!@,!@,!@,!@
M,!@,!@,!@,!@,!@,!@,!@,!@,!@,!@,!@,!@,!@,#E)SPWSM#8^PZSTXN(5D
M7K_(?<]=-9-X[DB2BX3X@\8G#H8NR;,763,4J6VK]XG%/T?7_-0?&FW#JXN7
M$1'0;*0<FHBGS3%8K2(UG3A&?3-?K0&AM7\8M-Z^T-IFMMZIK?6E?;5ZMQ*0
M^:X433,HX?R\N]$I5I:Q6"4</9VQS;KQ/9J=D9"4>'.Y=JF$DS,S6;YE,.$,
M!@,#D/5.HWL>=8U=9YJ)@,H;>LGKW8L)6W4;9WM6IZUWCZ-29JF^[[V/ZX(2
MZ3L[7X5MM+6*=EA:P_E&C[9-"U_#K/'42:V8K-^43$\JWTPSF(HU74'5/O&R
M=@4^E/M&H,6\Q+<:VCN9C9*4<M+,UY+47CC<A"@J+M2%>J:&'?RR>UG2Y7B3
MR)IHS"36JJ3RL=7QLQ2;_P#$3,>=(IOFF=5U^?-T)5N*'(",-5[I8!M6B=T1
M!'U6KJ\U&5X3Z^F$/>5J>(JIDA(@@O 6._6*H0J#5XKX>S<P"2SC'&/5<O"&
M P& P& P& P& P& P& P& P& P& P& P& P& P& P& P& P& P& P& P& P&
M P& P& P&!2?G1R_;\2M80RM4JRFU.1>Y+(AJSB_HJ.7!.9VQMR91,,>V<"5
M1(T10JBV$UJV9;W*K6+J]38N5G+Y&0>Q+=V6(K.D1?,Z1KYO#P0X@.>+&O;/
M-[(M*>U.4^^[&7:?*C=JR D<W_9;UJ"*,' %5225B-7:UC3EIFK:H@BRC8.M
MLO:4(Q@_EY0BA;4UFZZ(BD1=AK-*7SC,ZKS89,!@,!@8"-J=6AO*]T5J BO9
MY"6ED/=L-',?)E9]95Q.R:7LK9+RY":<+K+RSTGA<R2RRJKQ18ZAS"'N2B(E
M S8Z$7'(G9K/7+,R3)LF9HXDC*GD5VQB)%%!9^=98[U5(2'=&55,N905#"(5
MYYH_P>\JOZ<MV?VVLF%LXQQCU67PA@,!@,!@,!@,!@,!@,!@,!@,!@,!@,!@
M,!@,!@,!@,!@,!@,!@,!@,!@,!@,!@,!@,!@,"(=^;VU?QET]?\ >^Y[.UJ&
MM=:P#FPV::<AYBODI&(@RBXID007EK!.R2[.$KL(S*H_FYR0813%)5V[13,6
M(F9I%\RY]<&M%;0V]L^8ZDO+^LNZWO#9=<7K/&O1<V(+DX?\:I14KV-JZK0X
M"BCO+:B -;-NNQ^ DHS,NRU^T+#Q43)0QW???W6U,1&S9FL1?,ZVM>$81SG-
MUCPR8# 8# 8# 8%:.:/\'O*K^G+=G]MK)A;.,<8]5E\(8# 8# 8# 8# 8# 8
M# 8# 8# 8# 8# 8# 8# 8# 8# 8# 8# 8# 8# 8# 8# 8# 8# 8'BDI*.AHZ
M0F)A^RBHF*9.I*4E))T@QCHV.8H*.GK]^]=*)-F;)FV25<.G3A5-!N@FHLJH
M1,AC '%+4\=(=6#?]=Y/7-@\1Z=_&RZN7_$2@R[5=LVY6[LK+IS&.N6%SB'B
M:8KZKH+XCZ*X_0+] RLY+DDMAR1&*'L,.Z-_ABGYIBD_ICZ>,_FNNPU=NL,&
M P& P& P& P*T<T?X/>57].6[/[;63"V<8XQZK+X0P& P& P& P& P& P& P
M& P& P& P& P& P& P& P& P& P& P& P& P& P& P& P& P.)&Z;'-]5;=E
MIX@:JF)2+X$Z.M18;G!N:N/G,?\ &&V!#*H/#<,]76-BHDJ>IQZGL[CD?;(1
MSYX,C(:X8OHU22?K2IN*68K/XI_#&D?5/G$==':"OU^"J<#"5:KP\97:U6XF
M.@:] 0K%M&0T'"1#-&/BHB)C6::+2/C8UBW09L635%)NU;(I((ID3(4H&&7P
M& P& P& P.*\)Q_ZDC6B1-8K.SAA&D9RCB[TO,[(OLX]V[,ZU:[IBIYVPM4K
M7[/;J%8*ZWIJ5@7D8>KQVL6NQ&LG&0TW1(U:'E7M\-5LYQE-T85U]KIIKIY-
M-<7>HI6MA4:9O&YI=U4&$YQX<EAWFT9BP!5&]!H_'6*Y.+V,'+Q7X<H\A+'2
M-U.:@1RG-.8!S>2V:3;T^4LLVVB!,V<HUKAG,TG=2)C#1>CGU'[!>\4.0"U,
MM=2KL.RT3NA>ZQ]CHLK;I"QP0:^F#*1E:E8Z_P!.;U"4.V3?HDFI&(N;9-9T
MT<#!J$8JMGY+.,<87+PA@,!@,!@,!@,!@,!@,!@,!@,!@,!@,!@,!@,!@,!@
M,!@,!@,!@,!@,!@,!@,!@,!@,#C_ ,KM[[4Y9;BL/3IX5VQ_4I"):L0YP\L:
MZ8%4.,NOIU(Q_P!5.MI,H'9O.3^RXKVAK$$(=4=65]9U:GJ03:;4\&;B(B-J
MU%?IC"LZS^F-V,W5Q=)M$Z,U;QJU)1=&Z6J4?2-::Y@V\#6*_'%,8$6Z9CKN
MY"0=JB=W+3DS(+.IBP3D@JXDYR:?/I62<N'SQ=8YB9K?*6L!@,!@,!@,!@,!
M@5HYH_P>\JOZ<MV?VVLF%LXQQCU67PA@,!@,!@,!@,!@,!@,!@,!@,!@,!@,
M!@,!@,!@,!@,!@,!@,!@,!@,!@,!@,!@,!@<G.5_*O;&W=MR' #@+,,2;^48
MLG/)+D<=D2>H7"/6\V0P%DY$@&"/LO(BW,0<)ZGU8+DKAJJ!KG;@C:Y&^8Y-
MV8B(VK6&49VIKPFZ*36>6*[/%CBYJ;A]IV"TOI^+?(0L>Z?SUEL]@?'F[ULJ
M^SZH/+=LO9%H<E!]:KW;Y/Q2$Y-/!#_Z>-CD&$-'1L:S,S,S-9[W+%80P& P
M& P& P& P&!6CFC_  >\JOZ<MV?VVLF%LXQQCU67PA@,!@,!@,!@,!@,!@,!
M@,!@,!@,!@,!@,!@,!@,!@,!@,!@,!@,!@,!@,!@,!@:%LO9=0U%475XO3N7
M:5]K+U: $8"J6R\3;N;NUJA:358J)JE&@[':YI_,VBPP\2U:P\*^6*J]*NN5
M%HBX<(B(JY%[&Y[7OG)?K7PZZ8LU)1EHK"R</RLY?7:@6VK5WB-$OWLE&.*O
M4Z1L."J\_?.1\T2(FF]7@%8M"L5)RS4EK#)F482"$.;V=F*VL\(K^+"^L5^6
MF=:SA&L=(N*_%33W#O4L;J'34*\:Q9'SZQ6VV6%^I/; VA?ILY7%IV5LVW.B
MA(V^]VI\ O)B9?& I"@WC8QM'0K".C69F9F<>$;HRB-(A8_"& P& P& P& P
M&!6R$Y=: L59J]UB+E).Z9=+W^KBLW E#V'\$Y2SGF7E?:^&S_!7W"TK\A,L
M749'7%_(-:B]D$CL$)LSXAVQ2T[[SW8L/5>;O%>[3$! 5C<$+)S-E>5>/C8_
MW1:62Z+J]0U)L-#)-^\(%H2L$OT-LBB/J$O93Q+>[$M,0G5E99=R"0"D^5>_
MOHRG-'^#WE5_3ENS^VUDP6<8XQZK+X0P& P& P& P& P& P& P& P& P& P&
M P& P& P& P& P& P& P& P& P& P&!J5\OU(U;3K'L/9-MKM$HE0BW,W:+?
M;)=C UR B6A?$XD):7DEV[)DV3[E+YBZQ .H<B1/$JH0A@XA[&F^0_67K[R@
M:'>W;B7T]%Y.$FGG*F8@I" Y!\FI2HV"-M524XVU"35B9C6>I6=DA(B?6W#:
M$V%DMZ;=BPI\,TC_ '\JJ;NL5K2;5+HB:Q%<:ZSNB::[NB7#GA12^&\7)P5&
MD(4*^M0M;ZX@ZY6:-%T:$A(#6TWL^QM7[E-I(S$I9;98YO;%CD+7;+#+/IB<
M=)M';Y==\9X[=&9F9QOFLS7C3V77PA@,!@,!@,!@,!@,"@]?Z=.BHA-VVE'M
MFLL=+;@=;UL,0_CM<1D;8=G%MC6T0]P=FKE AI6%L<<F@YK<Q-TV5J\A?ZG,
MS-4V,K:ZP>(A(8M9Z13/#'O28K%['T3IE\8]>VJ%N<*UNSJ>BY#4$A)NI6Q,
MW06PW'V U77=&M[(5&$:F,VU@STS0W,$$(>$7E))C(/K<O9%IF3]I+M32G'S
MK7K7V;[SYUOKN\\4>0$W=:%2[A,T31.Z;!1Y:TU:#L$G39Y+7TPZ3FZH_EF+
MMU79=-S'1[@DE$*LWA%V+-8JP*-4#$)9QCC'JN7A# 8# 8# 8# 8# 8# 8#
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
M;1T9',FY 3;LV+!FFBU:-4$R@1%NW2322( %(0I0 ,,LA@,!@,!@,#\*8I@
MQ1 Q1#N!BB @(#\P@(>@A_R&!%>UMZZ3T3"#9=V[?UAJ"O@110)K9U\J]%C%
M"I!W."+VSRD8@N</F!-$YU#&$"%*)S 42Q$S-(B9G2+Y<\GG63XHVATYB.,-
M3Y)\X; V75:+,^)?'V_WZL-71#"D3WAM:S,*3IYFR%8 (K(C?E6C<![JG XI
MIJ%V)B:32SQF-^45G+1Y?UO]8'>/R=8\3^-7"^LKCV+:N5^X9+>FR%&#C_3?
MQ^HN/"+"JQ<LBD8%2Q=CW$JDBJ %>E,8JC+!2Q&,S/\ 3%(PUM7X_I_C\_9K
M;LW /G\S^H[RIW,R7#PO=8Z"<0?#'3#QFK\IQ#2L-IP%MH6.-[B*1#3FW'*Z
MR?<SKS#>25N7:B,+-F./S3YW>6*TG'_IZ<(^+;E.3T1QCU)1;,10RQ[X%8;V
M79KI8YA.=9_M"X&L&PY%514QEE%']F<&.N=18PBJH<YB3:M3=,S,1EETP7)P
MR8# 8# 8&*9P,''$!./AHIBF#U])@FSCF;8@24F\4D9*0 J*)"@]D)!99\^=
M]O/=O%5'*ZBBYS'$/81FT3%,4VK8@HJ+JHB1!(HI*NC'.Z53$I0%-1R=10RY
MR]C+&4.903"8PB%<>:/\'O*K^G+=G]MK)A;.,<8]5E\(8# 8# 8# 8# 8# 8
M# 8# 8# 8# 8# 8# 8# 8# 8# K#O3FKQ%XR-G*^_P#DII34R[4@G-#7/8M9
MBK0Y[%\?E1E1/('M$NX$GRRM8J(>.3$ 3E2$H"(%BS-JZ(F>"F7[6",VE_E>
M%G#/F5S ,\^3#7N)U0MQ^T,_5^8?-W+R2=:S8"W#N!O:H.O6$ADA*N0ID54#
MK%V=9LQSK.-*4BM_&G%KEJUUUA^5E7LE?M^P^*73]H%M@9B*4K.NJW.<NMZ
MPF(YQ'.82PWJZ!KO3\*+A!P=%61J](M"[4ASKM'1EQ2*@(FS&4VM+]F/*LSU
MCVB/2_1;@"[)U;>^8<LSYBO-<M),7$KR(V;L;?*$DX5K_NB%B*_J:XPM>T?1
MJQ"OS%F632%HZS] 63-@=VZ(9PZ.7;FE(I9C]-WG?:FO%W4@H&"J\1'U^LPL
M378");)LXJ#@HYG$1$8S2#LDUCXV/1;LF39,!$$T&R":1 'Y) PPRV P& P&
M!AYZQ5^JQ;J<L\[#UN%9$\Q[,3TFRAXMHGZ_+=2$@NW:-R>@_*56(7T'UP.?
MNRNKETV=5R00,[S!U!9K.90Z"=0U#+/]\7%5V0![L"U32<;L"P%?B(=O9%(]
M-<O<!.0I1\6&HL6IOV9IK-T=9I",OVGVP-B_Y;B]TV>>FZU7/RHJT;!UU5N*
M6KY- W^F[0N/(BVTZ=.S4 ?&5RVHSM,R8&\OS%@! 1LQ&-JS'"MKTB8\T:[<
MNG73V-0IISK;1/#WC>G-"R@Q@T-J3W(SD-78J<>H1DU:JJXDE>.N@@LE2B'3
MNPQ32=NC^/DI..1BA3\#DKXA8V(F^;4\MF.OS33+"$)\4^F9RIE828U7R5Y@
M\]:)I*C,(0^LJ7K"Y:"XRP\XI:)6VRM^JCU+CW?M\;1+5Z\^&,<0BLOO)BJX
MCK0>N,6#:-JZ9GA9M1=,6;-=^U.$4BM:1.^Z]T(U5TE^G7J";"V07%C75QO0
MG3<*[#W46:W_ + 6?D'Q#)%N.[):^SC*0.<3G\^->,?*\9TVY$4!!(#,VK4Q
M2LTTBZ.D4CR=#&;-I'-&S"/:MF+%FBFV:,V:"39HU;HE B2#9NB4B*"*1"@1
M-)(A2$* %*4   PR]. P& P& P& P& P&!6CFC_![RJ_IRW9_;:R86SC'&/5
M9?"& P& P& P& P& P& P& P& P& P-)MFR]<4),RUYV!2:8B4OC,K;+7!5U
M,I.W?QF/,/V90+V]?$(@';U[]L"L]EZCG3YIXJ$M'.;B%!KI>(#M)#D?I]%_
MW+W Q21_PP%\J<H@("1-N<P"'80PULVIPLVIY3[*C3'7AZ84)N$FL'7*76+F
MO? 4]J6V[$6=A.Z]2L S)X]#7Q7$&:1EE[$K%H.K"H^1CC5ULS(T8*R_OF0:
MQYB_#MTKLSPI->G<MH'KE])SOV)S7U@MZB &;1=^=$'MZB(';T]4@AV]0,!A
M*(=Q 1 !PDV;45^6;L;I?5'KC=)M<Y4PYP:A0.;MV!Z2W1_;O_,POZPV*4/7
MMW,(  @(#Z@( -BW],XTPS[SP>V6ZV_2@A8E6:><Z-'+,T?WT8F6F)^6'T$?
M\* @H:2G5_0!_P!".4]>P?.( )?AV_IE4BQ?I+_2_1F KVL+3N#>TRJ)BM6U
M U>O4&;@Y1 H>*9WW-:9AFB1CB4H+OG[9,0'Q%$X!A9\*W%\Q3S\K-9\LI;3
M!]5_DUNGP$X_\.-%0<;(]@B[;R/ZBO&:L B0_P#IN7^O='N]ZVP?#W 5F2SV
M,< 'B\HZO8OB)LQ&-J>5F9_]MGBEV)I/5YWBEYLUS4X.<;8HP>,$.+6AK-R,
ML9$3AW\HUSWQ>X2LBY)W[$D":O%K\D/%$J@(F$E;&EJ9WS$1TB/O&6]EQZ3T
M/L3NKRPYL\[^4Z3OY4S2YO?+S1FH9(P_O$#6?&B*U&U*W-W,'DOIF3,F0YTT
M54TC&((VL:6;,<JS'.U6G*BS>C.G=P7XU.&LCI#BAHRAV!FH"J%R:4"#E]@>
M:!O&"JVP[$VF+PY4\P15$[FP*F%8QUA$5#G.))M6IQF9XS*YF$,")ZCO/4UZ
MDME158N\0^>:BM:M*V""XN8MM!6%!N55P@1]+(,64O'MGB<G7W$Y"N)&#0MU
M;N%.5D26BFVF(B T6X\R^(.NRK'V!RKXW48K<!%<;AO+6-:!'P_O>;[YM#+P
M" ^G8W8>_IV[X6DSA$RJA8^M)TM:V^&,'FAJBUR7<P$C]7%M6XGS@2CV$&C3
M4];NB[P1$0 H-$UA.(@!/$(AW+L6OIF*ZW>K7?VO6I++\O2?%#J+<B6:G_Q9
MG6'"O:D#6W7?MY8ELVZT-1P+8JH#XB"^D&H^ #'$H 4W8;$YVK,?[HG_ -:R
M?'0ZC%Y]=1=):[0,<Z^2SL?)SE9HC4";;Q_NKOZ?KY3=UP$$BB4ZK7V%J)Q$
M4DW8'*80%+,8VHG^F)GUV>][\]P=;38O^!*;#Z='&&)>?*]II5%WUR9O42F?
M]T <7&PZ1I+ITB41\Q(8-RU45 /+=^7W\0^3]4]+/]S\_9U\G=@_+Y$=6/F?
M:BC\\1QTA]+<0X 2F]#M_.UY0K!>P;=A-Y:A;^$J0?"(RIQ+ZC:B,+%GC-9\
MIFGEAYYB!Z+_ $[&LJVLFP])2W(JX('\U:W<I=K;8Y&2CY<>WB6=1VV+G9ZL
M4ZHAW6(SKS1%;N/FI' <&W:RFG],19]*.@.M=*Z;TS&^YM/ZEUGJF'%,B(Q6
MMJ'5J+&BDGV\"0L:O%1;44R=@\)!2\)>P=@#MAE)F P& P& P& P& P& P-;
MG[E4*HM'-[1:JY6UY@)08A&?FXR'5E A(MS-S/NXD@Z;F>^Z(5F\F)/V8%?8
M(MHZD'7E-&ZRQ ]<#8J_:8\TM6)V'L4661F8@TE!2;*68%EJ[+OJ_8(PSQ@L
MX;A(0<]&24),,Q4]HC9:/>QSQ-%XU713#,X# K1S1_@]Y5?TY;L_MM9,+9QC
MC'JLOA# 8# 8# 8# 8'Q7<-VJ8K.5T6Z1?WE5U2))E]._J=0Q2AZ (^H_,&!
M0??G4IXS<=-CQ.K;O)V*5LLR>JMVRU3;UJ2A6SZYO)=A LY25D;5#H1)5WD.
M+-U*R)6T!'R$O6XE]+H2UCAF+PU%F9BOOZ1$RD&/Y_\ ")Y4*[=W_+/CE5H2
MS5V&L[$+GNO6=2D6L;.QC:59IR\=.6AFZB7Z35TF5ZP>D2<LG *MW!"*IG*!
M*3I/24!7CK0]*K7OG>_N=O'Q_P"1XO'\"+@&S1'P_/Y0:W:6P5Q_V!#S!-_T
M]\-;%N?RVNE/536^_I./2,II5O<6Y=C;051\0>10M([(:F5.7T$B*^QH77[,
M_<>X%4]I!$W[Q51((&$L>%;G\M.,Q[JIR?Z5[QEL3M1EI#B3R7ORA1$"/+R[
MUOK6,4[#X?-!:$LVSY!1$1^44C6+=2!B=O#'BI_A@6?"F,;41PK-VN41'%CO
MV_O*;9GRM6\<M*ZT3/\ N)WNG]1G?4J4![@ I--0<(Z; OU_F,*"5L;M1]2$
MDS  *"X'PXC&9G=6Q9YUFU._&,IK2A^T ZE^S.RX[%Y'TQ)3N)F?%'H7\B[L
MW[&]/"TM?)[92;%J!1'_  W4G7W*9S 'F-B 80!/>??>)LV8B+HWU\2S--U(
MB^.%^MS\]\\L-B]S721_23=CRJOJ9.CZSX7\)ZBY$WH8%"1,C7['&)F$1\ ,
MWS11$OJ*O<H=Q\O_ .<?OM>\9=)XOWXG5_O79>V](SJ&<AS*?*++\P>L4QC0
M64'_ *Y. KG(B?!0#@(BJDK5WJ)?$8"MS& I0%8C"W9Y>'?G??9\ZYMVJ?34
MV>50JM'Z&W2=U>J8PG*OR2Y'6_D.N4YA[^;(EB^.UA%ZH(B)E2BY7\9A$OGF
M_P!01M74^);SPLQ'_P!1=6?XA9BM< .>@ FWBZ7T4.,K,@%*BXTEP6N.R9I@
M7L ?X+JWW#6<,Y%( #R@"O,"B(?*#L(%*9K9_7.GS1'VES]B>A+R@-M5_;+A
MN:VGMLIR@9;-6VOIS4G#O4D;#1*O(9K?9#8U2F)<-C;CK<Y'5'VFRU*II)/6
MM5LB,914??%+C"F>FMN*4B(F(BE)FU,X7X4C'2GMV3_9!:<L8>7NCE/U%.0S
M,_HYB-I<VMOQ-?= /^H!J[IU_JB";%5#T4+'Q[,!+V*  !2@!C:G*+,?[8GS
MM1,MRIO1NZ7M(>^\V7"?25GDQ,4ZDGM6$D-UR+A0O;PJNW^XI2].WBH=@'S7
M2RR@C\H3"/K@V[?U3'"[T7(KO&_CQ4(GW!4M"Z7J\%\D/<M=U=1X2)[$ 0*'
MNZ-@FS/Y("(%_P 'Y("(!V <,UG5@)KB'Q.LH'"Q<8./$^"G?QA-:5UM*@?O
M\_C!]6E_%W_GW[]\+6=9Z]Z0AV=Z8'3<LGC&7X#\.EU5._F.6W&_44:]/W_F
M9]&5)F\,(=Q["*XB4?4! <+M6OJM=9]T0RW10Z4TRIYSC@WI!DJ!A,56OQ,O
M5E$S#_U)'K,Q$&1$/^D4A()?F+V#!-NW.-J>O=6'_8@],I+_ /3N/MFK_;U)
M\%.27*BH@D/\O*+6=VQ)$P#^12% H=@].P=L&W:UB>,1/K$OW]BUP8;^D2UY
M.P) #L5*'YP\QT4RA\W8H.=XNC  !Z=O$(=L+MVMW[;/L_/V,O#L>P'L_,-0
M@ ( F?G5RX$@%'YR  ;?*8"B(B(@!O41'U[>F$VY_3^RQ_:PUCZ(O!:;KT]'
M)Q6^UIZ0AI1G"V"T<P>8MJ;PDRZ9+HQDVYKZO("-83B<6]40?'B7:J+61*@+
M1=5--8QREV[6%U/Z;,=/ENG>@?5OZ/OPYJEYIEEV5K3C]M&!JU<L$++0"^J-
MQFDKU)30Q+AO9[7/;1Y4;G8J3,9*1CJ33-$UJ+0<+6*R(J)D1DB%;"?$M4NF
MU'"8CTB/)TAIW3CZ?>OC(JTSA!Q,KSMN)12DF''O5)9<!+^Z8TRK55950Q?G
M*91X<2B(B @(B(DFU:G&U:GC,K7URI56GL@C*E6:_5HXOA L?7(6-A&0 4.Q
M0!I&-FJ >$!$"]D_0![!AEL& P& P& P,/*6*OP9!4FYV'AR 'B$\I)LH\@%
M[=^XF=KH@ =O7N(]NV! NS>8'&+457F+;>-YZQ81\,#0BC%G=*[*S[]])/VL
M3$Q$/ 1TBXE926EI9\RC(]DU:G.J[=) <4D@45(6DZ=X^E_"]$5(ZF'""W(3
M9)KDAIG5D[6GS=C.5?:FX-15F5:"^:$?1SUC(M+[,5.R13YJ<13E*G99Y@U>
MH/H6278SL9)QC,;,Z3T9=]U*^G/&^('_ #YX6M3%^=-;E'I JWI\X C\.!5$
M0_F $$0PNS:G"S:Z3[-/?]67IBQI3F<<^^)*@$ 1,##>^O)4P]OG\!(N=>&4
M'_8$RF$?Y .#8M_3:Z3[('M_7RZ0U(\T)CFQ07YDN_<M0J.UK]XQ#OV*D>C4
M&PI*>(?0#%.)/7N)P+ZX6/#MS^6>=(]:*M6_]*,Z3=:\WW+>MS[!\OOX/@AI
M6RLO/[?-Y7P]7I';Q?\ 3YWD_/\ *\.&O@V](ZPKU+_I9?#I^X%EK'B_RNMS
MD?$5%6V--/Z]C%C!Z%-[R':%I(BB8>W8[A%)0"CW,B _)Q7+O^#X5K.;,3I?
M,[JTB<;F*_\ 4OS]E#R:IQ0UG305_P!*3VCR0V-*^S]_0/:832_$[9GG>'N
MG!K8#]A 2$%01 P*]TD^'K,QR_F >N1R6L78[/;'3LUN@O\ N)FX[=6??$HT
M(/S^:C7^-VHXQ=<@=Q*"$BH@8WA[F$!$F$FQ$4NF;XB^U9LUKSG[TS/VEF[[
M@/FRW5=B*$)_4\=H_H=\SK5V\7SD9R^W6TOY8D[]R'=0KSQ>GB((=^Y=B,-F
M_2?$L><1$3YGQG8BWAVV)U;^KI:DU/\ 42T?TSI+2'B(/IX&:\9PKG7* "'H
MDHJY<+!V QU3G 3"*:6?#GC;B9SK^>/M]U1^7\=QKV]4Z'K^'Y"=<K=,K=KX
MI!(Q._JAS,4HKJ4^!%REXJ8;U6N:;K<9+R%;<1*T[\%JEKN8M%E;L5HUO+T&
MM!9;M"%LUB__ *<7938G369I7C2N,8/]9'#.3L2>F$M<6]&KDM>B+38-(S+B
MBL(IC1WJ%(,T-5UJR$%#UJ"6%M292LQ=K+"U.FQ<;L"/MT$SIU61B2P;$Y3C
MG???WA7!3?5_&OF%6XG7\4]M]@9-ZWRRO>PEYJ9V&>3O#C55CU_ONL-T]E&A
M+"E1=OC'W>Z:SND$LM6:G*2S&$7?6RJL[I6V#VP"L7ZTB.E.ET3W-VAZ:X;<
M[ZEL*BS]PW:+FK14YQX=DA1OU@FO@436M&X[0G(]X8SM(HVSXSMAUWN)X59R
M!W[4=B?">QH15@MEO:1I9F--;^M.E8Z;H0C^D0<5^1_)G1&L76D6<ZK2M1LM
MX7[=4E VROP;J&K<?18M]$NSUNP7Z@MKTB[]TS<4[A?:Y$K*,?R,L@Q<3#2&
M9/I/??\ G@MB8B9KG2EU;_MQK&F<J\\+NG#UW-1\8JS0(3J6P?&]Y!V&\&:Z
MDO''72&_)&/8R=HDI1G,.=R/YG94C)_"(CP98\.H90M65<JP3(Z[%BT<+7OO
MNJS:\.L_)7?$TRRBFNM9NK-;ZYR[<)/TG(?--4^J]QPL) $1*G*:QJ>OEU2
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
M>)5-3 IN_=1!DN<H!W(10P=A$;5B-.7AQ/G:G[:OS]B[U&K?\B^;OT<DBO\
M_(4L?,?JM[LD2 ;YQ*N7?&B8]PI_W&5C"IG$/1,@=A ;=F,IW?+X<?\ S('Z
M-1<K3_CW?E[0(@RH?X[&LZ-WAL$P";U,*<SOSF?LLBW81$ !W7UBC\YRF 1)
MCOO3O.\^)&5G2ZL4NRNLQ.F=+L*LS%?HHO%5^8#['Y*[FL!SCW<&H>K^-&M#
M*"/J;RSCJ&WK)=_Y"=590/G,<QA$PB/%M1E'_+^YO3W]%'Z:Y*W)1L-/\@5+
M(]3;-VMJME\B)88E$[UO[T>,H&HUC7L2K,FBO;DH-P_(\A8R9582<K7[)%LG
M5=DQ'C6XTGOO_-Z6>._Z,_TR]/QD@TV9JL.1$HNXCWD;9+Y9=GPDK&*D8)-I
M>-4C:ILN,I<E!.'K<DG#(+4]&=BU'DHUE+%8VBL6E#DGQ;<YTX47VJ?2 Z75
M+\KW-P+XP.Q1[> ;5JFM7LW<OS"<UX:6(RA@^?Q*"<PCZB(CZX9V[?U6NLK-
MU3B3Q3H@)EH_&3CY32I  )%JFF-<5T$P+V H)A$5MF! *    7MV[!VPE9UG
MK*46NNM?,NWL5$IK3M\WLM8A&_;M\W;RF).W;"-B;1,4R[>QQD>T[?-[,S;(
M=O\ QY29.V!D.P!\P=L!@,!@,#5+K0Z/LJO.JEL6FU6^U5\JT7>UFYUZ)M$
M[78.4WC%=S#S;1]'KK,GB*+MFJHW,HV<I).$#$53(< ]=5J55HE>BZE2*S7Z
M;5(1 S6%K-5AHZO5^(;'65<';QD-$-F<<P0.X667,DU;))F6555$HG4.80V#
M 8%:.:/\'O*K^G+=G]MK)A;.,<8]5E\(8# 8# 8&IV.A46X%$EMI=3M)!#PB
M2QUR'FRB7MV\(EDV;H!#MZ=NW;MZ8$"V/@SPFN'F?"WAYQ:M J]_,&Q<?=33
M0J";YQ.,E4G(F$?YB(B.%VK6L]90M-=)'I@SWC]NX#<4$/'W[^Y=)T6M]N__
M &?!Z'B_+_X\'A[?R[87;M_5:ZS[HMDNACTEI4YE'/![4B!CCW'W6O<X0 _^
MPL-:F!4__"92AA?B6[_FF]2S??Z,ET^MJW2'LFMHZ=T/!-ZT-;F*?6)*X6AB
MHX,M/J_#6L2-DO9WM>O33WRQ&-7E0ME'04KL69]0I-)U.(2TI'>'3NF2QXEJ
M(I6M^?"E)IRII2Y9N+_1_.D\TAXN-D^+Z\\Z81K%DZE'^\.1Q%I)PT:I(+/U
M6K?<";)JH\43,X4;LT46J)U!30232(0A:FW:UCI$^L2R+;H!]()J;QEX64]P
M?YQ/(;"W5*F,/^YS2>RW8G$?YB<3"/\ /!\2W]4\J0V^,Z'729B3%,UX-::5
M$O;L$FC9YHOI\WB),V-^0W_/B*/?^??";=OZK76>XY)+B.DETPH3P>Q\!N)Z
MW@["7WOI&B6#OV_[_?T-)>9_R"GB ?Y]\&W;^JUUGW2Y!\"."U8\'P;X7<3J
M_P"7V%,83CII^*$@A\PE%C3D! 0_D(#WPE9UGK*9H#2NFZKX/@OJ76=;\OMY
M?N"AU:'\OP]O#X/=T4W\';L';P]NW8.V$22FFFD0J:1")ID "D(F4I"%*'H!
M2E* %* !Z    !@?W@,!@?/RDO-\_P M/SO+\KSO 7S?*\7C\OS.WC\OQB)O
M!W\/B^5V[^N!],!@,!@,!@,#QNXZ/?E\#YBS>D#OV*[:H.2AW^?Y*Q#AZ_S]
M/7 U=WK?7<AW]OH5+>]_G]KJT&Y[_P#GSF)^_P#^<##KZ7T^X06;J:MUZ5-=
M)1$YD*=7VJY2*D$AA1<MH]%RW5 IA%-=NJDNB?LHDH10I3 6LZSUE%^LN&'%
MG3-@4M.KM'T:ESRT62%=2$.P<$._C4X>GP2+>207=+M9(S=C18%9JX?H.7+6
M76LU@;K)SUWNLE8!,S./??>$++(-V[8@)-D$6Z90[%302(D0H?[ 1,I2@'_
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
MC*SC:";KH0*%BET49BQI1A9V722DI!T0I)I6[!,V$,!@,!@,!@>5\4QV3PA
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
M]SDF$8#A9T$<R?6.&DG35B#IRX<@T053;^T+K+>7YBIS&+68PF82R
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
5.5\4I%*Z712,L'<O#!@,!@,!@?_9

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>13
<FILENAME>d105808d10k_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:country="http://xbrl.sec.gov/country/2020-01-31"
  xmlns:dei="http://xbrl.sec.gov/dei/2020-01-31"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:rgen="http://www.repligencorp.com/20201231"
  xmlns:srt="http://fasb.org/srt/2020-01-31"
  xmlns:us-gaap="http://fasb.org/us-gaap/2020-01-31"
  xmlns:utr="http://www.xbrl.org/2009/utr"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef xlink:href="rgen-20201231.xsd" xlink:type="simple"/>
    <context id="P01_01_2020To12_31_2020">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="PAsOn12_31_2020">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2019">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="P01_01_2019To12_31_2019">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2018To12_31_2018">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="PAsOn12_08_2020">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <instant>2020-12-08</instant>
        </period>
    </context>
    <context id="PAsOn07_19_2019">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <instant>2019-07-19</instant>
        </period>
    </context>
    <context id="PAsOn05_03_2019">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <instant>2019-05-03</instant>
        </period>
    </context>
    <context id="P07_19_2019To07_19_2019">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <startDate>2019-07-19</startDate>
            <endDate>2019-07-19</endDate>
        </period>
    </context>
    <context id="P12_08_2020To12_08_2020">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <startDate>2020-12-08</startDate>
            <endDate>2020-12-08</endDate>
        </period>
    </context>
    <context id="P05_03_2019To05_03_2019">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <startDate>2019-05-03</startDate>
            <endDate>2019-05-03</endDate>
        </period>
    </context>
    <context id="P10_01_2020To12_31_2020">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <startDate>2020-10-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2017To12_31_2017">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To03_31_2020">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="P04_01_2020To06_30_2020">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="P07_01_2020To09_30_2020">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="P01_01_2019To03_31_2019">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="P04_01_2019To06_30_2019">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <startDate>2019-04-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="P07_01_2019To09_30_2019">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <startDate>2019-07-01</startDate>
            <endDate>2019-09-30</endDate>
        </period>
    </context>
    <context id="P10_01_2019To12_31_2019">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <startDate>2019-10-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="PAsOn12_31_2018">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="PAsOn06_30_2020">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <instant>2020-06-30</instant>
        </period>
    </context>
    <context id="PAsOn02_19_2021">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <instant>2021-02-19</instant>
        </period>
    </context>
    <context id="PAsOn03_27_2020">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <instant>2020-03-27</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2017">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="PAsOn09_30_2020">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="PAsOn03_31_2020">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2019_NorthAmericaMembersrtStatementGeographicalAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2019_EuropeMembersrtStatementGeographicalAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2019_APACMembersrtStatementGeographicalAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">rgen:APACMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2019_ZeropointthreesevenfivepercentageconvertibleseniornotesduetwentytwentyfourmemberMemberusgaapDebtInstrumentAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:ZeropointthreesevenfivepercentageconvertibleseniornotesduetwentytwentyfourmemberMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2019_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2019_PatentsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2019_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2019_TrademarksMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2019_OtherIntangibleAssetsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OtherIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2019_TrademarksMemberusgaapIndefiniteLivedIntangibleAssetsByMajorClassAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2019_OptionToPurchaseCommonStockMemberusgaapAwardTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgen:OptionToPurchaseCommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2019_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2019_AccumulatedOtherComprehensiveIncomeMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2019_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2019_FairValueInputsLevel1MemberusgaapFairValueByFairValueHierarchyLevelAxis_MoneyMarketFundsMemberusgaapCashAndCashEquivalentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_NorthAmericaMembersrtStatementGeographicalAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_EuropeMembersrtStatementGeographicalAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_APACMembersrtStatementGeographicalAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">rgen:APACMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:ArtesynBiosolutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:NonMetallicSolutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:CTechnologiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:EngineeredMoldingTechnologyLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_StateAndLocalJurisdictionMemberusgaapIncomeTaxAuthorityAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_FederalAndStateMemberusgaapIncomeTaxAuthorityAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">rgen:FederalAndStateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_NonExecutiveMembersrtTitleOfIndividualAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">rgen:NonExecutiveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_ExecutiveOfficerMembersrtTitleOfIndividualAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_EmployeeStockOptionMemberusgaapAwardTypeAxis_NonExecutiveMembersrtTitleOfIndividualAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">rgen:NonExecutiveMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_EmployeeStockOptionMemberusgaapAwardTypeAxis_ExecutiveOfficerMembersrtTitleOfIndividualAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_MinimumMembersrtRangeAxis_PrincipalOwnerMemberusgaapRelatedPartyTransactionsByRelatedPartyAxis_SpectrumIncMembersrtOwnershipAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">rgen:SpectrumIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:PrincipalOwnerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_ZeropointthreesevenfivepercentageconvertibleseniornotesduetwentytwentyfourmemberMemberusgaapDebtInstrumentAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:ZeropointthreesevenfivepercentageconvertibleseniornotesduetwentytwentyfourmemberMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_DomesticCountryMemberusgaapIncomeTaxAuthorityAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_DomesticCountryMemberusgaapIncomeTaxAuthorityAxis_TaxYear2040MemberusgaapTaxPeriodAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">rgen:TaxYear2040Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_StateAndLocalJurisdictionMemberusgaapIncomeTaxAuthorityAxis_TaxYear2040MemberusgaapTaxPeriodAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">rgen:TaxYear2040Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_TrademarksMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_OtherIntangibleAssetsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OtherIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_PatentsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_TrademarksMemberusgaapIndefiniteLivedIntangibleAssetsByMajorClassAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_OptionToPurchaseCommonStockMemberusgaapAwardTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgen:OptionToPurchaseCommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:CTechnologiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:CTechnologiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis_TrademarksAndTradeNamesMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:CTechnologiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis_NoncompeteAgreementsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:CTechnologiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:EngineeredMoldingTechnologyLlcMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:EngineeredMoldingTechnologyLlcMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis_TrademarksAndTradeNamesMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:EngineeredMoldingTechnologyLlcMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis_NoncompeteAgreementsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:EngineeredMoldingTechnologyLlcMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:NonMetallicSolutionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:NonMetallicSolutionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis_TrademarksAndTradeNamesMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:NonMetallicSolutionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_NoncompeteAgreementsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:NonMetallicSolutionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:ArtesynBiosolutionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:ArtesynBiosolutionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis_TrademarksAndTradeNamesMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:ArtesynBiosolutionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis_NoncompeteAgreementsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:ArtesynBiosolutionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_NonEmployeeDirectorStockOptionMemberusgaapAwardTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgen:NonEmployeeDirectorStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_StockOptionAndIncentivePlanMemberusgaapPlanNameAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rgen:StockOptionAndIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis_TradeNamesMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:EngineeredMoldingTechnologyLlcMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis_TradeNamesMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:NonMetallicSolutionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis_TradeNamesMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:ArtesynBiosolutionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_GoodwillMemberusgaapFairValueByAssetClassAxis_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:NonMetallicSolutionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:GoodwillMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis_GoodwillMemberusgaapFairValueByAssetClassAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:ArtesynBiosolutionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:GoodwillMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis_GoodwillMemberusgaapFairValueByAssetClassAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:EngineeredMoldingTechnologyLlcMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:GoodwillMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis_GoodwillMemberusgaapFairValueByAssetClassAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:CTechnologiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:GoodwillMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_AccumulatedOtherComprehensiveIncomeMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_FairValueInputsLevel1MemberusgaapFairValueByFairValueHierarchyLevelAxis_MoneyMarketFundsMemberusgaapCashAndCashEquivalentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_SellingGeneralAndAdministrativeExpensesMemberusgaapIncomeStatementLocationAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_TrustForBenefitOfEmployeesMembersrtTitleOfIndividualAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">us-gaap:TrustForBenefitOfEmployeesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_CTechnologiesMemberusgaapRelatedPartyTransactionsByRelatedPartyAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">rgen:CTechnologiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="P01_01_2018To12_31_2018_CTechnologiesMemberusgaapBusinessAcquisitionAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:CTechnologiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2018To12_31_2018_CostOfSalesMemberusgaapIncomeStatementLocationAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2018To12_31_2018_ResearchAndDevelopmentExpenseMemberusgaapIncomeStatementLocationAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2018To12_31_2018_SellingGeneralAndAdministrativeExpensesMemberusgaapIncomeStatementLocationAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2018To12_31_2018_MinimumMembersrtRangeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2018To12_31_2018_MaximumMembersrtRangeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2018To12_31_2018_ForeignPlanMemberusgaapRetirementPlanSponsorLocationAxis_PensionPlansDefinedBenefitMemberusgaapRetirementPlanTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">us-gaap:ForeignPlanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2018To12_31_2018_DefinedContribution401KPlanMemberusgaapDeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis">rgen:DefinedContribution401KPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2018To12_31_2018_RetainedEarningsMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2018To12_31_2018_CommonStockMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2018To12_31_2018_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2018To12_31_2018_ProductMembersrtProductOrServiceAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2018To12_31_2018_RoyaltyMembersrtProductOrServiceAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:RoyaltyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2018To12_31_2018_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2018To12_31_2018_MilliporeSigmaMembersrtMajorCustomersAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgen:MilliporeSigmaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2018To12_31_2018_CytivaMembersrtMajorCustomersAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgen:CytivaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2018To12_31_2018_FiltrationProductsMembersrtProductOrServiceAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:FiltrationProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2018To12_31_2018_ChromatographyProductsMembersrtProductOrServiceAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:ChromatographyProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2018To12_31_2018_ProteinsProductsMembersrtProductOrServiceAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:ProteinsProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2018To12_31_2018_OtherProductsMembersrtProductOrServiceAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:OtherProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2018To12_31_2018_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_NorthAmericaMembersrtStatementGeographicalAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2018To12_31_2018_EuropeMembersrtStatementGeographicalAxis_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2018To12_31_2018_APACOtherMembersrtStatementGeographicalAxis_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">rgen:APACOtherMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2018To12_31_2018_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2019To12_31_2019_CustomerConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_MilliporeSigmaMembersrtMajorCustomersAxis_SalesRevenueNetMemberusgaapConcentrationRiskByBenchmarkAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgen:MilliporeSigmaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2019To12_31_2019_CustomerConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_CytivaMembersrtMajorCustomersAxis_SalesRevenueNetMemberusgaapConcentrationRiskByBenchmarkAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgen:CytivaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2019To12_31_2019_CTechnologiesMemberusgaapBusinessAcquisitionAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:CTechnologiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2019To12_31_2019_CostOfSalesMemberusgaapIncomeStatementLocationAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2019To12_31_2019_ResearchAndDevelopmentExpenseMemberusgaapIncomeStatementLocationAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2019To12_31_2019_SellingGeneralAndAdministrativeExpensesMemberusgaapIncomeStatementLocationAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2019To12_31_2019_MinimumMembersrtRangeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2019To12_31_2019_MaximumMembersrtRangeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2019To12_31_2019_ForeignPlanMemberusgaapRetirementPlanSponsorLocationAxis_PensionPlansDefinedBenefitMemberusgaapRetirementPlanTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">us-gaap:ForeignPlanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2019To12_31_2019_DefinedContribution401KPlanMemberusgaapDeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis">rgen:DefinedContribution401KPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2019To12_31_2019_AccumulatedTranslationAdjustmentMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2019To12_31_2019_RetainedEarningsMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2019To12_31_2019_CommonStockMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2019To12_31_2019_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2019To12_31_2019_ProductMembersrtProductOrServiceAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2019To12_31_2019_RoyaltyMembersrtProductOrServiceAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:RoyaltyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2019To12_31_2019_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2019To12_31_2019_CTechnologiesIncMemberusgaapBusinessAcquisitionAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:CTechnologiesIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2019To12_31_2019_MilliporeSigmaMembersrtMajorCustomersAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgen:MilliporeSigmaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2019To12_31_2019_CytivaMembersrtMajorCustomersAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgen:CytivaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2019To12_31_2019_NGLImpactAMembersrtProductOrServiceAxis_ResearchAndDevelopmentArrangementMemberusgaapLongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:NGLImpactAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis">us-gaap:ResearchAndDevelopmentArrangementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2019To12_31_2019_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2019To12_31_2019_FiltrationProductsMembersrtProductOrServiceAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:FiltrationProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2019To12_31_2019_ChromatographyProductsMembersrtProductOrServiceAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:ChromatographyProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2019To12_31_2019_ProcessAnalyticsProductsMembersrtProductOrServiceAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:ProcessAnalyticsProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2019To12_31_2019_ProteinsProductsMembersrtProductOrServiceAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:ProteinsProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2019To12_31_2019_OtherProductsMembersrtProductOrServiceAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:OtherProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2019To12_31_2019_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_NorthAmericaMembersrtStatementGeographicalAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2019To12_31_2019_EuropeMembersrtStatementGeographicalAxis_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2019To12_31_2019_APACOtherMembersrtStatementGeographicalAxis_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">rgen:APACOtherMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2019To12_31_2019_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2019To12_31_2019_CTechnologiesMemberusgaapRelatedPartyTransactionsByRelatedPartyAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">rgen:CTechnologiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2019To12_31_2019_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2019To12_31_2019_AccountsReceivableMemberusgaapConcentrationRiskByBenchmarkAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2019To12_31_2019_AccountsReceivableMemberusgaapConcentrationRiskByBenchmarkAxis_CustomerConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_CytivaMembersrtMajorCustomersAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgen:CytivaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2019To12_31_2019_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2019To12_31_2019_PatentsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2019To12_31_2019_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2019To12_31_2019_TrademarksMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2019To12_31_2019_OtherIntangibleAssetsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OtherIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_CustomerConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_MilliporeSigmaMembersrtMajorCustomersAxis_SalesRevenueNetMemberusgaapConcentrationRiskByBenchmarkAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgen:MilliporeSigmaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:ArtesynBiosolutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_CostOfSalesMemberusgaapIncomeStatementLocationAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_ResearchAndDevelopmentExpenseMemberusgaapIncomeStatementLocationAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_SellingGeneralAndAdministrativeExpensesMemberusgaapIncomeStatementLocationAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_MinimumMembersrtRangeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_MaximumMembersrtRangeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_ForeignPlanMemberusgaapRetirementPlanSponsorLocationAxis_PensionPlansDefinedBenefitMemberusgaapRetirementPlanTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">us-gaap:ForeignPlanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_DefinedContribution401KPlanMemberusgaapDeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis">rgen:DefinedContribution401KPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_SpectrumIncMemberusgaapBusinessAcquisitionAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:SpectrumIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:CTechnologiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:NonMetallicSolutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_LatestTaxYearMemberusgaapTaxPeriodAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">us-gaap:LatestTaxYearMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_AccumulatedTranslationAdjustmentMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_EmployeeStockOptionMemberusgaapAwardTypeAxis_MinimumMembersrtRangeAxis_ShareBasedCompensationAwardTrancheOneMemberusgaapVestingAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_EmployeeStockOptionMemberusgaapAwardTypeAxis_MaximumMembersrtRangeAxis_ShareBasedCompensationAwardTrancheTwoMemberusgaapVestingAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_RetainedEarningsMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:EngineeredMoldingTechnologyLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_ProductMembersrtProductOrServiceAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_RoyaltyMembersrtProductOrServiceAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:RoyaltyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_CommonStockMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_PrincipalOwnerMemberusgaapRelatedPartyTransactionsByRelatedPartyAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:PrincipalOwnerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_ArtesynBiosolutionsHoldingsIrelandLimitedMemberusgaapBusinessAcquisitionAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:ArtesynBiosolutionsHoldingsIrelandLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_MilliporeSigmaMembersrtMajorCustomersAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgen:MilliporeSigmaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_EarliestTaxYearMemberusgaapTaxPeriodAxis_USsrtStatementGeographicalAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">us-gaap:EarliestTaxYearMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_LatestTaxYearMemberusgaapTaxPeriodAxis_USsrtStatementGeographicalAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">us-gaap:LatestTaxYearMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_EarliestTaxYearMemberusgaapTaxPeriodAxis_SEsrtStatementGeographicalAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:SE</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">us-gaap:EarliestTaxYearMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_LatestTaxYearMemberusgaapTaxPeriodAxis_SEsrtStatementGeographicalAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:SE</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">us-gaap:LatestTaxYearMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_NGLImpactAMembersrtProductOrServiceAxis_ResearchAndDevelopmentArrangementMemberusgaapLongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:NGLImpactAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis">us-gaap:ResearchAndDevelopmentArrangementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis_TradeNamesMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:ArtesynBiosolutionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:ArtesynBiosolutionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:ArtesynBiosolutionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis_NoncompeteAgreementsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:ArtesynBiosolutionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis_TradeNamesMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:NonMetallicSolutionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:EngineeredMoldingTechnologyLlcMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:NonMetallicSolutionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:NonMetallicSolutionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_NoncompeteAgreementsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:NonMetallicSolutionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:EngineeredMoldingTechnologyLlcMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis_TradeNamesMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:EngineeredMoldingTechnologyLlcMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis_NoncompeteAgreementsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:EngineeredMoldingTechnologyLlcMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_EquipmentMemberusgaapPropertyPlantAndEquipmentByTypeAxis_MaximumMembersrtRangeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_FurnitureFixturesAndOfficeEquipmentMemberMemberusgaapPropertyPlantAndEquipmentByTypeAxis_MaximumMembersrtRangeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">rgen:FurnitureFixturesAndOfficeEquipmentMemberMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_ComputerHardwareAndSoftwareMemberMemberusgaapPropertyPlantAndEquipmentByTypeAxis_MaximumMembersrtRangeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">rgen:ComputerHardwareAndSoftwareMemberMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_EquipmentMemberusgaapPropertyPlantAndEquipmentByTypeAxis_MinimumMembersrtRangeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_FurnitureFixturesAndOfficeEquipmentMemberMemberusgaapPropertyPlantAndEquipmentByTypeAxis_MinimumMembersrtRangeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">rgen:FurnitureFixturesAndOfficeEquipmentMemberMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_ComputerHardwareAndSoftwareMemberMemberusgaapPropertyPlantAndEquipmentByTypeAxis_MinimumMembersrtRangeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">rgen:ComputerHardwareAndSoftwareMemberMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_BuildingMemberusgaapPropertyPlantAndEquipmentByTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_LeaseholdImprovementsMemberusgaapPropertyPlantAndEquipmentByTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_FiltrationProductsMembersrtProductOrServiceAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:FiltrationProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_ChromatographyProductsMembersrtProductOrServiceAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:ChromatographyProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_ProcessAnalyticsProductsMembersrtProductOrServiceAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:ProcessAnalyticsProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_ProteinsProductsMembersrtProductOrServiceAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:ProteinsProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_OtherProductsMembersrtProductOrServiceAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgen:OtherProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_NorthAmericaMembersrtStatementGeographicalAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_EuropeMembersrtStatementGeographicalAxis_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_APACOtherMembersrtStatementGeographicalAxis_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">rgen:APACOtherMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">rgen:SalesRevenuesGoodsNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_CTechnologiesMemberusgaapRelatedPartyTransactionsByRelatedPartyAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">rgen:CTechnologiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_AccountsReceivableMemberusgaapConcentrationRiskByBenchmarkAxis_CustomerConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_CytivaMembersrtMajorCustomersAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgen:CytivaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_TrustForBenefitOfEmployeesMembersrtTitleOfIndividualAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">us-gaap:TrustForBenefitOfEmployeesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis_TrustForBenefitOfEmployeesMembersrtTitleOfIndividualAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">us-gaap:TrustForBenefitOfEmployeesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:CTechnologiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_TrademarksMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_OtherIntangibleAssetsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OtherIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2020To12_31_2020_PatentsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="PAsOn12_31_2018_OptionToPurchaseCommonStockMemberusgaapAwardTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgen:OptionToPurchaseCommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2018_StockOptionAndIncentivePlanMemberusgaapPlanNameAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rgen:StockOptionAndIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2018_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2018_RetainedEarningsMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2018_AccumulatedOtherComprehensiveIncomeMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="PAsOn07_31_2019_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-07-31</instant>
        </period>
    </context>
    <context id="P01_01_2017To12_31_2017_CustomerConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_MilliporeSigmaMembersrtMajorCustomersAxis_SalesRevenueNetMemberusgaapConcentrationRiskByBenchmarkAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgen:MilliporeSigmaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="P01_01_2017To12_31_2017_CustomerConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_CytivaMembersrtMajorCustomersAxis_SalesRevenueNetMemberusgaapConcentrationRiskByBenchmarkAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgen:CytivaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="P10_27_2020To10_27_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:ArtesynBiosolutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-10-27</startDate>
            <endDate>2020-10-27</endDate>
        </period>
    </context>
    <context id="PAsOn07_13_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:EngineeredMoldingTechnologyLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-07-13</instant>
        </period>
    </context>
    <context id="P05_31_2019To12_31_2019_CTechnologiesMemberusgaapBusinessAcquisitionAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rgen:CTechnologiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-05-31</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="PAsOn07_07_2020_MarlboroughMassachusettsMemberusgaapPropertySubjectToOrAvailableForOperatingLeaseAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertySubjectToOrAvailableForOperatingLeaseAxis">rgen:MarlboroughMassachusettsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-07-07</instant>
        </period>
    </context>
    <context id="P07_07_2020To12_31_2020_MarlboroughMassachusettsMemberusgaapPropertySubjectToOrAvailableForOperatingLeaseAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertySubjectToOrAvailableForOperatingLeaseAxis">rgen:MarlboroughMassachusettsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-07</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="PAsOn01_01_2018_AccountingStandardsUpdate201606MemberusgaapAdjustmentsForNewAccountingPronouncementsAxis_OtherAssetsMemberusgaapBalanceSheetLocationAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201606Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-01-01</instant>
        </period>
    </context>
    <context id="PAsOn01_01_2018_AccountingStandardsUpdate201606MemberusgaapAdjustmentsForNewAccountingPronouncementsAxis_DeferredTaxLiablitiesMemberusgaapBalanceSheetLocationAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201606Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">rgen:DeferredTaxLiablitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-01-01</instant>
        </period>
    </context>
    <context id="PAsOn01_01_2018_AccountingStandardsUpdate201606MemberusgaapAdjustmentsForNewAccountingPronouncementsAxis_AccumulatedDeficitMemberusgaapBalanceSheetLocationAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201606Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">rgen:AccumulatedDeficitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-01-01</instant>
        </period>
    </context>
    <context id="P12_08_2020To12_08_2020_CommonStockMemberusgaapStatementEquityComponentsAxis_UnderwriterMembersrtTitleOfIndividualAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">rgen:UnderwriterMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-12-08</startDate>
            <endDate>2020-12-08</endDate>
        </period>
    </context>
    <context id="P07_19_2019To07_19_2019_CommonStockMemberusgaapStatementEquityComponentsAxis_UnderwriterMembersrtTitleOfIndividualAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">rgen:UnderwriterMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-07-19</startDate>
            <endDate>2019-07-19</endDate>
        </period>
    </context>
    <context id="P07_19_2019To07_19_2019_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-07-19</startDate>
            <endDate>2019-07-19</endDate>
        </period>
    </context>
    <context id="P07_19_2019To07_19_2019_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-07-19</startDate>
            <endDate>2019-07-19</endDate>
        </period>
    </context>
    <context id="PAsOn07_19_2019_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-07-19</instant>
        </period>
    </context>
    <context id="P05_03_2019To05_03_2019_CommonStockMemberusgaapStatementEquityComponentsAxis_UnderwriterMembersrtTitleOfIndividualAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">rgen:UnderwriterMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-05-03</startDate>
            <endDate>2019-05-03</endDate>
        </period>
    </context>
    <context id="PAsOn07_16_2019_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-07-16</instant>
        </period>
    </context>
    <context id="P07_22_2019To07_22_2019_CommonStockMemberusgaapStatementEquityComponentsAxis_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-07-22</startDate>
            <endDate>2019-07-22</endDate>
        </period>
    </context>
    <context id="P07_22_2019To07_22_2019_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-07-22</startDate>
            <endDate>2019-07-22</endDate>
        </period>
    </context>
    <context id="PAsOn07_22_2019_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-07-22</instant>
        </period>
    </context>
    <context id="P08_24_2019To09_23_2019_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-08-24</startDate>
            <endDate>2019-09-23</endDate>
        </period>
    </context>
    <context id="P08_24_2019To09_23_2019_CommonStockMemberusgaapStatementEquityComponentsAxis_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-08-24</startDate>
            <endDate>2019-09-23</endDate>
        </period>
    </context>
    <context id="PAsOn09_23_2019_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rgen:TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-09-23</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2017_CommonStockMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2017_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2017_AccumulatedOtherComprehensiveIncomeMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2017_RetainedEarningsMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2018_CommonStockMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2018_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2018_AccumulatedTranslationAdjustmentMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2019_AccumulatedTranslationAdjustmentMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2019_CommonStockMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2019_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2019_RetainedEarningsMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_AccumulatedTranslationAdjustmentMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_CommonStockMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="PAsOn12_31_2020_RetainedEarningsMemberusgaapStatementEquityComponentsAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000730272</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <unit id="Unit_USD">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="Unit_pure">
        <measure>pure</measure>
    </unit>
    <unit id="Unit_shares">
        <measure>shares</measure>
    </unit>
    <unit id="Unit_Year">
        <measure>utr:Year</measure>
    </unit>
    <unit id="Unit_l">
        <measure>utr:l</measure>
    </unit>
    <unit id="Unit_sqft">
        <measure>utr:sqft</measure>
    </unit>
    <unit id="Unit_USD_per_Share">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="Unit_Day">
        <measure>utr:Day</measure>
    </unit>
    <dei:AmendmentFlag contextRef="P01_01_2020To12_31_2020">false</dei:AmendmentFlag>
    <dei:DocumentFiscalPeriodFocus contextRef="P01_01_2020To12_31_2020">FY</dei:DocumentFiscalPeriodFocus>
    <dei:EntityCentralIndexKey contextRef="P01_01_2020To12_31_2020">0000730272</dei:EntityCentralIndexKey>
    <dei:CurrentFiscalYearEndDate contextRef="P01_01_2020To12_31_2020">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:EntityAddressStateOrProvince contextRef="P01_01_2020To12_31_2020" id="hidden18476304">MA</dei:EntityAddressStateOrProvince>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="P01_01_2020To12_31_2020_EquipmentMemberusgaapPropertyPlantAndEquipmentByTypeAxis_MinimumMembersrtRangeAxis"
      id="hidden18476318">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="P01_01_2020To12_31_2020_FurnitureFixturesAndOfficeEquipmentMemberMemberusgaapPropertyPlantAndEquipmentByTypeAxis_MinimumMembersrtRangeAxis"
      id="hidden18476319">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="P01_01_2020To12_31_2020_ComputerHardwareAndSoftwareMemberMemberusgaapPropertyPlantAndEquipmentByTypeAxis_MinimumMembersrtRangeAxis"
      id="hidden18476320">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <dei:DocumentType contextRef="P01_01_2020To12_31_2020">10-K</dei:DocumentType>
    <dei:DocumentAnnualReport contextRef="P01_01_2020To12_31_2020">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate contextRef="P01_01_2020To12_31_2020">2020-12-31</dei:DocumentPeriodEndDate>
    <dei:DocumentFiscalYearFocus contextRef="P01_01_2020To12_31_2020">2020</dei:DocumentFiscalYearFocus>
    <dei:DocumentTransitionReport contextRef="P01_01_2020To12_31_2020">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber contextRef="P01_01_2020To12_31_2020">000-14656</dei:EntityFileNumber>
    <dei:EntityRegistrantName contextRef="P01_01_2020To12_31_2020">REPLIGEN CORP</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="P01_01_2020To12_31_2020">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber contextRef="P01_01_2020To12_31_2020">04-2729386</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="P01_01_2020To12_31_2020">41 Seyon Street, Bldg. 1, Suite 100</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="P01_01_2020To12_31_2020">Waltham</dei:EntityAddressCityOrTown>
    <dei:EntityAddressPostalZipCode contextRef="P01_01_2020To12_31_2020">02453</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="P01_01_2020To12_31_2020">781</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="P01_01_2020To12_31_2020">250-0111</dei:LocalPhoneNumber>
    <dei:Security12bTitle contextRef="P01_01_2020To12_31_2020">Common Stock</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="P01_01_2020To12_31_2020">RGEN</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="P01_01_2020To12_31_2020">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityWellKnownSeasonedIssuer contextRef="P01_01_2020To12_31_2020">Yes</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers contextRef="P01_01_2020To12_31_2020">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus contextRef="P01_01_2020To12_31_2020">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent contextRef="P01_01_2020To12_31_2020">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory contextRef="P01_01_2020To12_31_2020">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness contextRef="P01_01_2020To12_31_2020">false</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany contextRef="P01_01_2020To12_31_2020">false</dei:EntityEmergingGrowthCompany>
    <dei:IcfrAuditorAttestationFlag contextRef="P01_01_2020To12_31_2020">false</dei:IcfrAuditorAttestationFlag>
    <dei:EntityShellCompany contextRef="P01_01_2020To12_31_2020">false</dei:EntityShellCompany>
    <dei:EntityPublicFloat
      contextRef="PAsOn06_30_2020"
      decimals="0"
      unitRef="Unit_USD">5711511345</dei:EntityPublicFloat>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="PAsOn02_19_2021"
      decimals="INF"
      unitRef="Unit_shares">54771343</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">717292000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">528392000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCash
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">9015000</us-gaap:RestrictedCash>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">762000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">525000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">71257000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">43068000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:OtherReceivablesGrossCurrent
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">132000</us-gaap:OtherReceivablesGrossCurrent>
    <us-gaap:OtherReceivablesGrossCurrent
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">148000</us-gaap:OtherReceivablesGrossCurrent>
    <us-gaap:UnbilledReceivablesCurrent
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">456000</us-gaap:UnbilledReceivablesCurrent>
    <us-gaap:InventoryNet
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">95025000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">54832000</us-gaap:InventoryNet>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">18676000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">5917000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">902382000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">641828000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">66870000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">48455000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">287100000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">212552000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:Goodwill
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">618305000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">468413000</us-gaap:Goodwill>
    <us-gaap:DeferredTaxAssetsLiabilitiesNetNoncurrent
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">2481000</us-gaap:DeferredTaxAssetsLiabilitiesNetNoncurrent>
    <us-gaap:DeferredTaxAssetsLiabilitiesNetNoncurrent
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">2920000</us-gaap:DeferredTaxAssetsLiabilitiesNetNoncurrent>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">25176000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">25707000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">573000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">238000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">1902887000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">1400113000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">16880000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">11425000</us-gaap:AccountsPayableCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">5254000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">3557000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">53085000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">33331000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:ConvertibleNotesPayableCurrent
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">243737000</us-gaap:ConvertibleNotesPayableCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">318956000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">48313000</us-gaap:LiabilitiesCurrent>
    <us-gaap:ConvertibleLongTermNotesPayable
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">232767000</us-gaap:ConvertibleLongTermNotesPayable>
    <us-gaap:DeferredTaxLiabilitiesNoncurrent
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">27032000</us-gaap:DeferredTaxLiabilitiesNoncurrent>
    <us-gaap:DeferredTaxLiabilitiesNoncurrent
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">29944000</us-gaap:DeferredTaxLiabilitiesNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">26425000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">26995000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">1324000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">2326000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">373737000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">340345000</us-gaap:Liabilities>
    <us-gaap:CommitmentsAndContingencies
      contextRef="PAsOn12_31_2020"
      unitRef="Unit_USD"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="PAsOn12_31_2019"
      unitRef="Unit_USD"
      xsi:nil="true"/>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="PAsOn12_31_2019"
      decimals="INF"
      unitRef="Unit_USD_per_Share">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="PAsOn12_31_2020"
      decimals="INF"
      unitRef="Unit_USD_per_Share">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="PAsOn12_31_2019"
      decimals="INF"
      unitRef="Unit_shares">5000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="PAsOn12_31_2020"
      decimals="INF"
      unitRef="Unit_shares">5000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesIssued
      contextRef="PAsOn12_31_2019"
      decimals="INF"
      unitRef="Unit_shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="PAsOn12_31_2020"
      decimals="INF"
      unitRef="Unit_shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="PAsOn12_31_2019"
      decimals="INF"
      unitRef="Unit_shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="PAsOn12_31_2020"
      decimals="INF"
      unitRef="Unit_shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockValue
      contextRef="PAsOn12_31_2020"
      unitRef="Unit_USD"
      xsi:nil="true"/>
    <us-gaap:PreferredStockValue
      contextRef="PAsOn12_31_2019"
      unitRef="Unit_USD"
      xsi:nil="true"/>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="PAsOn12_31_2019"
      decimals="INF"
      unitRef="Unit_USD_per_Share">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="PAsOn12_31_2020"
      decimals="INF"
      unitRef="Unit_USD_per_Share">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="PAsOn12_31_2019"
      decimals="INF"
      unitRef="Unit_shares">80000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="PAsOn12_31_2020"
      decimals="INF"
      unitRef="Unit_shares">80000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="PAsOn12_31_2020"
      decimals="INF"
      unitRef="Unit_shares">54760837</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="PAsOn12_31_2020"
      decimals="INF"
      unitRef="Unit_shares">54760837</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="PAsOn12_31_2019"
      decimals="INF"
      unitRef="Unit_shares">52078258</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="PAsOn12_31_2019"
      decimals="INF"
      unitRef="Unit_shares">52078258</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockValue
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">548000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">521000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">1460748000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">1068431000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">2085000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">-15027000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">65769000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">5843000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">1529150000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">1059768000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">1902887000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">1400113000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P01_01_2020To12_31_2020_ProductMembersrtProductOrServiceAxis"
      decimals="-3"
      unitRef="Unit_USD">366136000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P01_01_2019To12_31_2019_ProductMembersrtProductOrServiceAxis"
      decimals="-3"
      unitRef="Unit_USD">270097000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P01_01_2018To12_31_2018_ProductMembersrtProductOrServiceAxis"
      decimals="-3"
      unitRef="Unit_USD">193891000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P01_01_2020To12_31_2020_RoyaltyMembersrtProductOrServiceAxis"
      decimals="-3"
      unitRef="Unit_USD">124000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P01_01_2019To12_31_2019_RoyaltyMembersrtProductOrServiceAxis"
      decimals="-3"
      unitRef="Unit_USD">148000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P01_01_2018To12_31_2018_RoyaltyMembersrtProductOrServiceAxis"
      decimals="-3"
      unitRef="Unit_USD">141000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">366260000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">270245000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">194032000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">156634000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">119099000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">86531000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">20182000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">19450000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">15821000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">119621000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">95613000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">65692000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:CostsAndExpenses
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">296437000</us-gaap:CostsAndExpenses>
    <us-gaap:CostsAndExpenses
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">234162000</us-gaap:CostsAndExpenses>
    <us-gaap:CostsAndExpenses
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">168044000</us-gaap:CostsAndExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">69823000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">36083000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">25988000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InvestmentIncomeNet
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">1741000</us-gaap:InvestmentIncomeNet>
    <us-gaap:InvestmentIncomeNet
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">5324000</us-gaap:InvestmentIncomeNet>
    <us-gaap:InvestmentIncomeNet
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">1895000</us-gaap:InvestmentIncomeNet>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">-5650000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:InterestExpense
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">12133000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">9292000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">6709000</us-gaap:InterestExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">-214000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">-314000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">262000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">-10606000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">-9932000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">-4552000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">59217000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">26151000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">21436000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">-709000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">4740000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">4819000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">59926000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">21411000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">16617000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="P01_01_2020To12_31_2020"
      decimals="2"
      unitRef="Unit_USD_per_Share">1.14</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="P01_01_2019To12_31_2019"
      decimals="2"
      unitRef="Unit_USD_per_Share">0.44</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="P01_01_2018To12_31_2018"
      decimals="2"
      unitRef="Unit_USD_per_Share">0.38</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="P01_01_2020To12_31_2020"
      decimals="2"
      unitRef="Unit_USD_per_Share">1.11</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="P01_01_2019To12_31_2019"
      decimals="2"
      unitRef="Unit_USD_per_Share">0.44</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="P01_01_2018To12_31_2018"
      decimals="2"
      unitRef="Unit_USD_per_Share">0.37</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_shares">52554000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_shares">48343000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_shares">43767000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_shares">53892000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_shares">49206000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_shares">45471000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:NetIncomeLoss
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">59926000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">21411000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">16617000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">17112000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">-3134000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">-5530000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">77038000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">18277000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">11087000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:SharesOutstanding
      contextRef="PAsOn12_31_2017_CommonStockMemberusgaapStatementEquityComponentsAxis"
      decimals="0"
      unitRef="Unit_shares">43587079</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="PAsOn12_31_2017_CommonStockMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">436000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="PAsOn12_31_2017_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">628983000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="PAsOn12_31_2017_AccumulatedOtherComprehensiveIncomeMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">-6363000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="PAsOn12_31_2017_RetainedEarningsMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">-31508000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="PAsOn12_31_2017"
      decimals="-3"
      unitRef="Unit_USD">591548000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="P01_01_2018To12_31_2018_RetainedEarningsMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">16617000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">16617000</us-gaap:NetIncomeLoss>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits
      contextRef="P01_01_2018To12_31_2018_CommonStockMemberusgaapStatementEquityComponentsAxis"
      decimals="0"
      unitRef="Unit_shares">2</us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="P01_01_2018To12_31_2018_CommonStockMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">0</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="P01_01_2018To12_31_2018_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">0</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">0</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="P01_01_2018To12_31_2018_CommonStockMemberusgaapStatementEquityComponentsAxis"
      decimals="0"
      unitRef="Unit_shares">330297</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="P01_01_2018To12_31_2018_CommonStockMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">3000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="P01_01_2018To12_31_2018_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">3415000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">3418000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="P01_01_2018To12_31_2018_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">10192000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">10192000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="PAsOn12_31_2018_RetainedEarningsMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">-677000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="PAsOn12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">-677000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax
      contextRef="PAsOn12_31_2018_AccumulatedOtherComprehensiveIncomeMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">-5530000</us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax
      contextRef="PAsOn12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">-5530000</us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax>
    <us-gaap:SharesOutstanding
      contextRef="PAsOn12_31_2018_CommonStockMemberusgaapStatementEquityComponentsAxis"
      decimals="0"
      unitRef="Unit_shares">43917378</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="PAsOn12_31_2018_CommonStockMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">439000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="PAsOn12_31_2018_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">642590000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="PAsOn12_31_2018_AccumulatedOtherComprehensiveIncomeMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">-11893000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="PAsOn12_31_2018_RetainedEarningsMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">-15568000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="PAsOn12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">615568000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="P01_01_2019To12_31_2019_RetainedEarningsMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">21411000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">21411000</us-gaap:NetIncomeLoss>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits
      contextRef="P01_01_2019To12_31_2019_CommonStockMemberusgaapStatementEquityComponentsAxis"
      decimals="0"
      unitRef="Unit_shares">2316229</us-gaap:StockIssuedDuringPeriodSharesConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="P01_01_2019To12_31_2019_CommonStockMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">23000</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="P01_01_2019To12_31_2019_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">198734000</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfUnits
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">198757000</us-gaap:StockIssuedDuringPeriodValueConversionOfUnits>
    <rgen:AdjustmentsToAdditionalPaidInCapitalReductionForEquityComponentOfConvertibleDebt
      contextRef="P01_01_2019To12_31_2019_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">-200079000</rgen:AdjustmentsToAdditionalPaidInCapitalReductionForEquityComponentOfConvertibleDebt>
    <rgen:AdjustmentsToAdditionalPaidInCapitalReductionForEquityComponentOfConvertibleDebt
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">-200079000</rgen:AdjustmentsToAdditionalPaidInCapitalReductionForEquityComponentOfConvertibleDebt>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="P01_01_2019To12_31_2019_CommonStockMemberusgaapStatementEquityComponentsAxis"
      decimals="0"
      unitRef="Unit_shares">339329</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="P01_01_2019To12_31_2019_CommonStockMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">3000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="P01_01_2019To12_31_2019_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">1164000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">1167000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodSharesAcquisitions
      contextRef="P01_01_2019To12_31_2019_CommonStockMemberusgaapStatementEquityComponentsAxis"
      decimals="0"
      unitRef="Unit_shares">779221</us-gaap:StockIssuedDuringPeriodSharesAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="P01_01_2019To12_31_2019_CommonStockMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">8000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="P01_01_2019To12_31_2019_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">53930000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">53938000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="P01_01_2019To12_31_2019_CommonStockMemberusgaapStatementEquityComponentsAxis"
      decimals="0"
      unitRef="Unit_shares">-5430</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="P01_01_2019To12_31_2019_CommonStockMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">0</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="P01_01_2019To12_31_2019_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">490000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">490000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="PAsOn12_31_2019_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis"
      decimals="5"
      unitRef="Unit_pure">0.00375</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt
      contextRef="P01_01_2019To12_31_2019_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">39070000</us-gaap:AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">39070000</us-gaap:AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">18607000</us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="P01_01_2019To12_31_2019_CommonStockMemberusgaapStatementEquityComponentsAxis"
      decimals="0"
      unitRef="Unit_shares">4731531</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="P01_01_2019To12_31_2019_CommonStockMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">48000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="P01_01_2019To12_31_2019_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">320665000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">320713000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="P01_01_2019To12_31_2019_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">12847000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">12847000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax
      contextRef="PAsOn12_31_2019_AccumulatedOtherComprehensiveIncomeMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">-3134000</us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">-3134000</us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax>
    <us-gaap:SharesOutstanding
      contextRef="PAsOn12_31_2019_CommonStockMemberusgaapStatementEquityComponentsAxis"
      decimals="0"
      unitRef="Unit_shares">52078258</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="PAsOn12_31_2019_CommonStockMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">521000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="PAsOn12_31_2019_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">1068431000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="PAsOn12_31_2019_AccumulatedOtherComprehensiveIncomeMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">-15027000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="PAsOn12_31_2019_RetainedEarningsMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">5843000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">1059768000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="P01_01_2020To12_31_2020_RetainedEarningsMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">59926000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">59926000</us-gaap:NetIncomeLoss>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="P01_01_2020To12_31_2020_CommonStockMemberusgaapStatementEquityComponentsAxis"
      decimals="0"
      unitRef="Unit_shares">584589</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="P01_01_2020To12_31_2020_CommonStockMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">6000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="P01_01_2020To12_31_2020_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">8134000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">8140000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodSharesAcquisitions
      contextRef="P01_01_2020To12_31_2020_CommonStockMemberusgaapStatementEquityComponentsAxis"
      decimals="0"
      unitRef="Unit_shares">372990</us-gaap:StockIssuedDuringPeriodSharesAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="P01_01_2020To12_31_2020_CommonStockMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">4000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="P01_01_2020To12_31_2020_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">69418000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">69422000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts
      contextRef="P01_01_2020To12_31_2020"
      decimals="-5"
      unitRef="Unit_USD">400000</us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="P01_01_2020To12_31_2020_CommonStockMemberusgaapStatementEquityComponentsAxis"
      decimals="0"
      unitRef="Unit_shares">1725000</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="P01_01_2020To12_31_2020_CommonStockMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">17000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="P01_01_2020To12_31_2020_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">297758000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">297775000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="P01_01_2020To12_31_2020_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">17007000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">17007000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax
      contextRef="PAsOn12_31_2020_AccumulatedOtherComprehensiveIncomeMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">17112000</us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">17112000</us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax>
    <us-gaap:SharesOutstanding
      contextRef="PAsOn12_31_2020_CommonStockMemberusgaapStatementEquityComponentsAxis"
      decimals="0"
      unitRef="Unit_shares">54760837</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="PAsOn12_31_2020_CommonStockMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">548000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="PAsOn12_31_2020_AdditionalPaidInCapitalMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">1460748000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="PAsOn12_31_2020_AccumulatedOtherComprehensiveIncomeMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">2085000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="PAsOn12_31_2020_RetainedEarningsMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">65769000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">1529150000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">59926000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">21411000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">16617000</us-gaap:NetIncomeLoss>
    <us-gaap:DepreciationAndAmortization
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">27067000</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">20868000</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">15778000</us-gaap:DepreciationAndAmortization>
    <us-gaap:AmortizationOfFinancingCostsAndDiscounts
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">10970000</us-gaap:AmortizationOfFinancingCostsAndDiscounts>
    <us-gaap:AmortizationOfFinancingCostsAndDiscounts
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">7536000</us-gaap:AmortizationOfFinancingCostsAndDiscounts>
    <us-gaap:AmortizationOfFinancingCostsAndDiscounts
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">4248000</us-gaap:AmortizationOfFinancingCostsAndDiscounts>
    <us-gaap:ShareBasedCompensation
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">17007000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">12847000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">10192000</us-gaap:ShareBasedCompensation>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">-3992000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">-624000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">71000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">-5650000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">-267000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">-663000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">3000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">21020000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">7726000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">6101000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInOtherReceivables
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">-128000</us-gaap:IncreaseDecreaseInOtherReceivables>
    <us-gaap:IncreaseDecreaseInOtherReceivables
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">104000</us-gaap:IncreaseDecreaseInOtherReceivables>
    <us-gaap:IncreaseDecreaseInOtherReceivables
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">-7000</us-gaap:IncreaseDecreaseInOtherReceivables>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">-456000</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">-2146000</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">2602000</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">29260000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">9314000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">4042000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">4870000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">595000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">1769000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">-3583000</rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset>
    <rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">4662000</rgen:IncreasedecreaseInOperatingLeaseRightOfUseAsset>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">281000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">66000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">2462000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">662000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">2266000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">1037000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">13096000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">-1398000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <rgen:IncreasedecreaseInOperatingLeaseLiability
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">-1964000</rgen:IncreasedecreaseInOperatingLeaseLiability>
    <rgen:IncreasedecreaseInOperatingLeaseLiability
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">5447000</rgen:IncreasedecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">1109000</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">-19000</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">-494000</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">62625000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">67216000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">32770000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquireSoftware
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">3889000</us-gaap:PaymentsToAcquireSoftware>
    <us-gaap:PaymentsToAcquireSoftware
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">4650000</us-gaap:PaymentsToAcquireSoftware>
    <us-gaap:PaymentsToAcquireSoftware
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">2147000</us-gaap:PaymentsToAcquireSoftware>
    <us-gaap:PaymentsToDevelopSoftware
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">1255000</us-gaap:PaymentsToDevelopSoftware>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">175041000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">182154000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">22455000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">18504000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">10635000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">-201385000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">-205308000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">-14037000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromConvertibleDebt
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">278466000</us-gaap:ProceedsFromConvertibleDebt>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">297775000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">320713000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">8151000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">1167000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">3418000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:RepaymentsOfConvertibleDebt
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">114989000</us-gaap:RepaymentsOfConvertibleDebt>
    <us-gaap:RepaymentsOfConvertibleDebt
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">11000</us-gaap:RepaymentsOfConvertibleDebt>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">10000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">490000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">305916000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">484867000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">3407000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashAndCashEquivalents
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">12729000</us-gaap:EffectOfExchangeRateOnCashAndCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashAndCashEquivalents
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">-3190000</us-gaap:EffectOfExchangeRateOnCashAndCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashAndCashEquivalents
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">-2077000</us-gaap:EffectOfExchangeRateOnCashAndCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">179885000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">343585000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">20063000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">537407000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="PAsOn12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">193822000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="PAsOn12_31_2017"
      decimals="-3"
      unitRef="Unit_USD">173759000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">717292000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">537407000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="PAsOn12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">193822000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">10279000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">6505000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">4046000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">1066000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">1484000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">2444000</us-gaap:InterestPaidNet>
    <rgen:AssetsAcquiredUnderOperatingLeases
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">3349000</rgen:AssetsAcquiredUnderOperatingLeases>
    <rgen:AssetsAcquiredUnderOperatingLeases
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">8663000</rgen:AssetsAcquiredUnderOperatingLeases>
    <us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued
      contextRef="P01_01_2020To12_31_2020_ArtesynBiosolutionsHoldingsIrelandLimitedMemberusgaapBusinessAcquisitionAxis"
      decimals="0"
      unitRef="Unit_shares">372990</us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued>
    <us-gaap:StockIssued1
      contextRef="P01_01_2020To12_31_2020_ArtesynBiosolutionsHoldingsIrelandLimitedMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">69422000</us-gaap:StockIssued1>
    <us-gaap:DebtConversionConvertedInstrumentSharesIssued1
      contextRef="P01_01_2020To12_31_2020"
      decimals="0"
      unitRef="Unit_shares">2316229</us-gaap:DebtConversionConvertedInstrumentSharesIssued1>
    <us-gaap:DebtConversionConvertedInstrumentAmount1
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">198757000</us-gaap:DebtConversionConvertedInstrumentAmount1>
    <us-gaap:StockIssued1
      contextRef="P01_01_2019To12_31_2019_CTechnologiesIncMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">53938000</us-gaap:StockIssued1>
    <rgen:NonCashEffectOfAdoptionOfAsu201616
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">5609000</rgen:NonCashEffectOfAdoptionOfAsu201616>
    <rgen:PropertyPlantAndEquipmentRelatedToLeaseIncentives
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">2270000</rgen:PropertyPlantAndEquipmentRelatedToLeaseIncentives>
    <us-gaap:NatureOfOperations contextRef="P01_01_2020To12_31_2020">
&lt;table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="page-break-inside: avoid;"&gt;
&lt;td style="width: 4%; vertical-align: top;;text-align:left;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;1.&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: top;;text-align:left;"&gt;&lt;div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Organization and Nature of Business &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="clear: both; max-height: 0px; background: none;"/&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;Repligen Corporation (NASDAQ:RGEN) is a global life sciences company that develops and commercializes highly innovative bioprocessing technologies and systems that increase efficiencies and flexibility in the process of manufacturing biological drugs. The Company&#x2019;s franchises include Filtration (XCell ATF&lt;div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px"&gt;&#x2122;&lt;/div&gt; systems, TangenX&lt;div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px"&gt;&#x2122;&lt;/div&gt; SIUS&lt;div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px"&gt;&#x2122;&lt;/div&gt; flat sheet cassettes, Spectrum&lt;div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px"&gt;&#xae;&lt;/div&gt;&lt;div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px"&gt; &lt;/div&gt;Hollow Fibers, KrosFlo&lt;div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px"&gt;&#xae;&lt;/div&gt; Systems and ProConnex&lt;div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px"&gt;&#xae;&lt;/div&gt; &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;single-use&lt;/div&gt; flow path assemblies), Chromatography (OPUS&lt;div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px"&gt;&#xae;&lt;/div&gt; Columns, chromatography resins, ELISA kits), Process Analytics (SoloVPE&lt;div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px"&gt;&#xae;&lt;/div&gt; and FlowVPE&lt;div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px"&gt;&#xae;&lt;/div&gt;), and Proteins (Protein A affinity ligands and cell culture growth factors). The Company&#x2019;s bioprocessing products are sold to major life sciences companies, biopharmaceutical development companies and contract manufacturing organizations worldwide. The Company operates under one reportable segment. The Company&#x2019;s chief operating decision maker (&#x201c;CODM&#x201d;) reviews financial information presented on a consolidated basis for purposes of allocating resources and evaluating financial performance. See Note 2, &lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;&#x201c;Summary of Significant Accounting Policies &#x2013; Segment Reporting,&#x201d; &lt;/div&gt;&lt;/div&gt;for more information on the Company&#x2019;s segment. &lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;A majority of our 15 key manufacturing sites are located in the United States (California, Massachusetts, New Jersey and New York). Outside the United States, we have manufacturing sites in Estonia, Germany, Ireland, the Netherlands and Sweden. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The Company is subject to a number of risks typically associated with companies in the biotechnology industry. These risks principally include the Company&#x2019;s dependence on key customers, development by the Company or its competitors of new technological innovations, dependence on key personnel, protection of proprietary technology, compliance with the FDA and other governmental regulations and approval requirements, as well as the ability to grow the Company&#x2019;s business and obtain adequate funding to finance this growth. &lt;/div&gt;&lt;/div&gt;</us-gaap:NatureOfOperations>
    <us-gaap:SignificantAccountingPoliciesTextBlock contextRef="P01_01_2020To12_31_2020">
&lt;table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="page-break-inside: avoid;"&gt;
&lt;td style="width: 4%; vertical-align: top;;text-align:left;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2.&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: top;;text-align:left;"&gt;&lt;div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Summary of Significant Accounting Policies &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Use of Estimates &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The preparation of financial statements in conformity with accounting principles generally accepted in the United States (&#x201c;GAAP&#x201d;) requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting periods. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Significant estimates and assumptions by management affect the Company&#x2019;s revenue recognition for multiple element arrangements, allowance for credit losses, the net realizable value of inventory, valuations and purchase price allocations related to business combinations, expected future cash flows including growth rates, discount rates, terminal values and other assumptions and estimates used to evaluate the recoverability of long-lived assets, estimated fair values of intangible assets and goodwill, amortization methods and periods, warranty reserves, certain accrued expenses, stock-based compensation, tax reserves and recoverability of the Company&#x2019;s net deferred tax assets and related valuation allowance. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Although the Company regularly assesses these estimates, actual results could differ materially from these estimates. Changes in estimates are recorded in the period in which they become known. The Company bases its estimates on historical experience and various other assumptions that it believes to be reasonable under the circumstances. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Basis of Presentation &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;The consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries, Repligen Sweden AB, Repligen GmbH, Spectrum&lt;div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px"&gt;&#xae;&lt;/div&gt; LifeSciences LLC and its subsidiaries (&#x201c;Spectrum&#x201d;), C Technologies, Inc. (&#x201c;C Technologies&#x201d;), Engineered Molding Technology LLC (&#x201c;EMT&#x201d;), &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Non-Metallic&lt;/div&gt; Solutions, Inc. (&#x201c;NMS&#x201d;), ARTeSYN Biosolutions Holdings Ireland Limited (&#x201c;ARTeSYN&#x201d;) and Repligen Singapore Pte. Ltd. All significant intercompany accounts and transactions have been eliminated in consolidation. Certain prior year balances have changed to reflect current year presentation. &lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Foreign Currency &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The Company translates the assets and liabilities of its foreign subsidiary at rates in effect at the end of the reporting period. Revenues and expenses are translated at average rates in effect during the reporting period. Translation adjustments, including adjustments related to the Company&#x2019;s intercompany loan with Repligen Sweden AB and Repligen Sweden AB&#x2019;s intercompany loan with Repligen GmbH, are remeasured at each period end and included in accumulated other comprehensive loss. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Revenue Recognition &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;We generate revenue from the sale of bioprocessing products, equipment devices, and related consumables used with these equipment devices to customers in the life sciences and biopharmaceutical industries. Under Accounting Standard Codification No. (&#x201c;ASC&#x201d;) 606, &#x201c;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Revenue from Contracts with Customers,&#x201d; &lt;/div&gt;&lt;/div&gt;revenue is recognized when, or as, obligations under the terms of a contract are satisfied, which occurs when control of the promised products or services is transferred to customers. Revenue is measured as the amount of consideration the Company expects to receive in exchange for transferring products or services to a customer (&#x201c;transaction price&#x201d;). To the extent the transaction price includes variable consideration, the Company estimates the amount of variable consideration that should be included in the transaction price utilizing the expected value method or the most likely amount method, depending on the facts and circumstances relative to the contract. Variable consideration is included in the transaction price if, in the Company&#x2019;s judgment, it is probable that a significant future reversal of cumulative revenue under the contract will not occur. Estimates of variable consideration and determination of whether to include estimated amounts in the transaction price are based largely on an assessment of the Company&#x2019;s anticipated performance and all information (historical, current and forecasted) that is reasonably available. Sales, value add, and other taxes collected on behalf of third parties are excluded from revenue. &lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;When determining the transaction price of a contract, an adjustment is made if payment from a customer occurs either significantly before or significantly after performance, resulting in a significant financing component. Applying the practical expedient in paragraph &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;606-10-32-18,&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; the Company does not assess whether a significant financing component exists if the period between when the Company performs its obligations under the contract and when the customer pays is one year or less. None of the Company&#x2019;s contracts contained a significant financing component as of December&#160;31, 2020. &lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Contracts with customers may contain multiple performance obligations. For such arrangements, the transaction price is allocated to each performance obligation based on the estimated relative standalone selling prices of the promised products or services underlying each performance obligation. The Company determines standalone selling prices based on the price at which the performance obligation is sold separately. If the standalone selling price is not observable through past transactions, the Company estimates the standalone selling price taking into account available information such as market conditions and internally approved pricing guidelines related to the performance obligations. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The Company recognizes product revenue under the terms of each customer agreement upon transfer of control to the customer, which occurs at a point in time. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Shipping and handling fees are recorded as a component of product revenue, with the associated costs recorded as a component of cost of product revenue. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Risks and Uncertainties &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The Company evaluates its operations periodically to determine if any risks and uncertainties exist that could impact its operations in the near term. The Company does not believe that there are any significant risks that have not already been disclosed in the consolidated financial statements. A loss of certain suppliers could temporarily disrupt operations, although alternate sources of supply exist for these items. The Company has mitigated these risks by working closely with key suppliers, identifying alternate sources and developing contingency plans. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Cash, Cash Equivalents and Restricted Cash &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Cash and cash equivalents include cash on hand and on deposit. Highly liquid investments in money market mutual funds with an original maturity of three months or less are classified as cash equivalents. All cash equivalents are carried at cost, which approximates fair value. Restricted cash represents cash that is restricted as to withdrawal or usage. There was no restriction on the Company&#x2019;s cash balance as of December&#160;31, 2020. In connection with the Company&#x2019;s acquisition of C Technologies on May&#160;31, 2019, cash was held and due to employees based on their continued employment with the Company one year after the date of the close of the acquisition. As of December&#160;31, 2019, $9.0&#160;million, which represented this amount due to employees, was carried as restricted cash on the Company&#x2019;s consolidated balance sheet. Subsequently, during the second quarter of 2020, this $9.0&#160;million was paid to employees. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The following is a summary of the Company&#x2019;s cash, cash equivalents, and restricted cash total as presented in the Company&#x2019;s consolidated statements of cash flows for the years ended December&#160;31, 2020, 2019 and 2018: &lt;/div&gt;&lt;/div&gt;&lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 8pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 61%;"/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;For the Years Ended December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2019&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2018&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="10" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts in thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Cash and cash equivalents&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;717,292&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;528,392&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;193,822&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Restricted cash&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;9,015&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total cash, cash equivalents, and restricted cash&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;717,292&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;537,407&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;193,822&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="clear: both; max-height: 0px; background: none;"/&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;There were no realized gains or losses on investments for the years ended December&#160;31, 2020, 2019 and 2018. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Fair Value Measurement &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;In determining the fair value of its assets and liabilities, the Company uses various valuation approaches. The Company employs a hierarchy for inputs used in measuring fair value that maximizes the use of observable inputs and minimizes the use of unobservable inputs by requiring that observable inputs be used when available. Observable inputs are inputs that market participants would use in pricing the asset or liability based on market data obtained from sources independent of the Company. Unobservable inputs are inputs that reflect the Company&#x2019;s assumptions about the inputs that market &lt;/div&gt;&lt;/div&gt;&lt;div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;participants would use in pricing the asset or liability and are developed based on the best information available in the circumstances. The fair value hierarchy is broken down into three levels based on the source of inputs as follows: &lt;/div&gt;&lt;/div&gt;&lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 10%; font-family: ARIAL;"/&gt;
&lt;td style="width: 2%; vertical-align: bottom; font-family: ARIAL;"/&gt;
&lt;td style="width: 89%; font-family: ARIAL;"/&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Level&#160;1&#160;&#x2013;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;Valuations based on unadjusted quoted prices in active markets for identical assets or liabilities that the Company has the ability to access.&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1pt;"&gt;
&lt;td style="height: 6pt; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="2" style="height: 6pt; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Level&#160;2&#160;&#x2013;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;Valuations based on quoted prices for similar assets or liabilities in active markets, quoted prices for identical or similar assets or liabilities in markets that are not active and models for which all significant inputs are observable, either directly or indirectly.&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1pt;"&gt;
&lt;td style="height: 6pt; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="2" style="height: 6pt; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Level&#160;3&#160;&#x2013;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;Valuations based on inputs that are unobservable and significant to the overall fair value measurement.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="clear: both; max-height: 0px; background: none;"/&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The availability of observable inputs can vary among the various types of financial assets and liabilities. To the extent that the valuation is based on models or inputs that are less observable or unobservable in the market, the determination of fair value requires more judgment. In certain cases, the inputs used to measure fair value may fall into different levels of the fair value hierarchy. In such cases, for financial statement disclosure purposes, the level in the fair value hierarchy within which the fair value measurement is categorized is based on the lowest level input that is significant to the overall fair value measurement. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;As of December&#160;31, 2020 and 2019, cash and cash equivalents on the Company&#x2019;s consolidated balance sheets included $549.0&#160;million and $415.6&#160;million, respectively, in money market accounts. These funds are valued on a recurring basis using Level&#160;1 inputs. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;In July 2019, the Company issued $287.5&#160;million aggregate principal amount of the Company&#x2019;s 0.375% Convertible Senior Notes due July&#160;15, 2024 (the &#x201c;2019 Notes&#x201d;). Interest is payable semi-annually in arrears on January&#160;15 and July&#160;15 of each year. The 2019 Notes will mature on July&#160;15, 2024 unless earlier converted or repurchased in accordance with their terms. As of December&#160;31, 2020, the carrying value of the 2019 Notes was $243.7&#160;million, net of unamortized discount, and the fair value of the 2019 Notes was $501.0&#160;million. The fair value of the 2019 Notes is a Level&#160;1 valuation and was determined based on the most recent trade activity of the 2019 Notes as of December&#160;31, 2020. The 2019 Notes are discussed in more detail in Note 12, &lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;&#x201c;Convertible Senior Notes,&#x201d; &lt;/div&gt;&lt;/div&gt;to these consolidated financial statements. &lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;There were no remeasurements to fair value during the year ended December&#160;31, 2020 of financial assets and liabilities that are not measured at fair value on a recurring basis. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Allowance for credit losses &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;We establish an allowance for credit losses through a review of several factors, including historical collection experience, current aging status of the customer accounts, and current financial condition of our customers. Losses are charged against the allowance when the customer accounts are determined to be uncollectible. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Inventories &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;Inventories relate to the Company&#x2019;s bioprocessing business. The Company values inventory at cost or, if lower, net realizable value, using the &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;first-in,&lt;/div&gt; &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;first-out&lt;/div&gt; method. The Company reviews its inventories at least quarterly and records a provision for excess and obsolete inventory based on its estimates of expected sales volume, production capacity and expiration dates of raw materials, &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;work-in-process&lt;/div&gt;&lt;/div&gt; and finished products. The Company writes down inventory that has become obsolete, inventory that has a &lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;cost basis in excess of its expected net realizable value, and inventory in excess of expected requirements to cost of product revenue. Manufacturing of bioprocessing finished goods is done to order and tested for quality specifications prior to shipment. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;A change in the estimated timing or amount of demand for the Company&#x2019;s products could result in additional provisions for excess inventory quantities on hand. Any significant unanticipated changes in demand or unexpected quality failures could have a significant impact on the value of inventory and reported operating results. During all periods presented in the accompanying financial statements, there have been no material adjustments related to a revised estimate of inventory valuations. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Work-in-process&lt;/div&gt;&lt;/div&gt; and finished products inventories consist of material, labor, outside processing costs and manufacturing overhead. &lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Lease Accounting &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;The Company adopted ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2016-02,&lt;/div&gt; &lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;&#x201c;Leases (Topic 842)&lt;/div&gt;&lt;/div&gt;&#x201d; (&#x201c;ASC 842&#x201d;) as of January&#160;1, 2019. Under ASC 842, the Company determines whether the arrangement contains a lease at the inception of an arrangement. If a lease is identified in an arrangement, the Company recognizes a &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;right-of-use&lt;/div&gt;&lt;/div&gt; asset and liability on its consolidated balance sheet and determines whether the lease should be classified as a finance or operating lease. The Company does not recognize assets or liabilities for leases with lease terms of less than 12 months. &lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;A lease qualifies as a finance lease if any of the following criteria are met at the inception of the lease: (i)&#160;there is a transfer of ownership of the leased asset to the Company by the end of the lease term, (ii)&#160;the Company holds an option to purchase the leased asset that it is reasonably certain to exercise, (iii)&#160;the lease term is for a major part of the remaining economic life of the leased asset, (iv)&#160;the present value of the sum of lease payments equals or exceeds substantially all of the fair value of the leased asset, or (v)&#160;the nature of the leased asset is specialized to the point that it is expected to provide the lessor no alternative use at the end of the lease term. All other leases are recorded as operating leases. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Finance and operating lease assets and liabilities are recognized at the lease commencement date based on the present value of the lease payments over the lease term using the discount rate implicit in the lease. If the rate implicit is not readily determinable, the Company utilizes its incremental borrowing rate at the lease commencement date. Operating lease assets are further adjusted for prepaid or accrued lease payments. Operating lease payments are expensed using the straight-line method as an operating expense over the lease term. Finance lease assets are amortized to depreciation expense using the straight-line method over the shorter of the useful life of the related asset or the lease term. Finance lease payments are bifurcated into (i)&#160;a portion that is recorded as imputed interest expense and (ii)&#160;a portion that reduces the finance liability associated with the lease. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;The Company does not separate lease and &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;non-lease&lt;/div&gt; components when determining which lease payments to include in the calculation of its lease assets and liabilities. Variable lease payments are expensed as incurred. If a lease includes an option to extend or terminate the lease, the Company reflects the option in the lease term if it is reasonably certain it will exercise the option. &lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Finance leases are recorded in property, plant and equipment, net, other current liabilities and long-term finance lease liabilities and operating leases are recorded in operating lease right of use assets, operating lease liability and operating lease liability, long-term on the Company&#x2019;s consolidated balance sheet. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Certain of the Company&#x2019;s operating leases where the Company is the lessee provide for minimum annual payments that increase over the life of the lease. Some of these leases include obligations to pay &lt;/div&gt;&lt;/div&gt;&lt;div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;for other services, such as operations and maintenance. For leases of property, the Company accounts for these other services as a component of the lease. The aggregate minimum annual payments are expensed on the straight-line basis beginning when the Company takes possession of the property and extending over the term of the related lease, including renewal options when the exercise of the option is reasonably assured as an economic penalty may be incurred if the option is not exercised. The Company also accounts in its straight-line computation for the effect of any &#x201c;rental holidays.&#x201d; &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Operating lease assets represent the Company&#x2019;s right to use an underlying asset for the lease term and lease liabilities represent the Company&#x2019;s obligation to make lease payments arising from the lease. Operating lease assets and liabilities are recognized at the lease commencement date based on the estimated present value of the fixed lease payments, reduced by landlord incentives using a discount rate based on similarly secured borrowings available to the Company. Most of the leases do not provide implicit interest rates and therefore the Company determines the discount rate based on its incremental borrowing rate. The incremental borrowing rate for the Company&#x2019;s leases is determined based on lease term and currency in which the lease payments are made. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Accrued Liabilities &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The Company estimates accrued liabilities by identifying services performed on the Company&#x2019;s behalf, estimating the level of service performed and determining the associated cost incurred for such service as of each balance sheet date. For example, the Company would accrue for professional and consulting fees incurred with law firms, audit and accounting service providers and other third-party consultants. These expenses are determined by either requesting those service providers to estimate unbilled services at each reporting date for services incurred or tracking costs incurred by service providers under fixed fee arrangements. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The Company has processes in place to estimate the appropriate amounts to record for accrued liabilities, which principally involve the applicable personnel reviewing the services provided. In the event that the Company does not identify certain costs that have begun to be incurred or the Company under or over-estimates the level of services performed or the costs of such services, the reported expenses for that period may be too low or too high. The date on which certain services commence, the level of services performed on or before a given date, and the cost of such services often require the exercise of judgment. The Company makes these judgments based upon the facts and circumstances known at the date of the financial statements. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Income Taxes &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;Deferred taxes are determined based on the difference between the financial statement and tax basis of assets and liabilities using enacted tax rates in effect in the years in which the differences are expected to reverse. Valuation allowances are provided, if, based upon the weight of available evidence, it is more likely than not that some or all of the deferred tax assets will not be realized. The Company accounts for uncertain tax positions using a &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#x201c;more-likely-than-not&#x201d;&lt;/div&gt; threshold for recognizing and resolving uncertain tax positions. The evaluation of uncertain tax positions is based on factors including, but not limited to, changes in tax law, the measurement of tax positions taken or expected to be taken in tax returns, the effective settlement of matters subject to audit, new audit activity and changes in facts or circumstances related to a tax position. The Company evaluates this tax position on a quarterly basis. The Company also accrues for potential interest and penalties related to unrecognized tax benefits in income tax expense. &lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Property, Plant&#160;&amp;amp; Equipment &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Property, plant&#160;&amp;amp; equipment is recorded at cost less allowances for depreciation. Depreciation is calculated using the straight-line method over the estimated useful life of the asset as follows: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 42%; font-family: ARIAL;"/&gt;
&lt;td style="width: 2%; vertical-align: bottom; font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt; &lt;div style="font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: table-cell; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Classification&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:center;"&gt; &lt;div style="text-align: center; font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: inline-block; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Estimated&#160;Useful&#160;Life&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Buildings&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;Thirty years&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Leasehold&#160;improvements&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;Shorter of the term of the lease or estimated useful life&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Equipment&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;span style="-sec-ix-hidden:hidden18476318"&gt;Three&lt;/span&gt; to twelve years&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Furniture, fixtures and office equipment&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;span style="-sec-ix-hidden:hidden18476319"&gt;Three&lt;/span&gt; to eight years&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Computer hardware and software&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;span style="-sec-ix-hidden:hidden18476320"&gt;Three&lt;/span&gt; to seven years or estimated useful life&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;  &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Upon disposal of property, plant&#160;&amp;amp; equipment, the cost of the asset and the accumulated depreciation are removed from the accounts and the resulting gain or loss is reflected in our results of operations. Fully depreciated assets are not removed from the accounts until they are physically disposed of. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Certain systems development costs related to the purchase, development and installation of computer software developed or obtained for internal use are capitalized and depreciated over the estimated useful life of the related project. Costs incurred prior to the development stage, as well as maintenance, training costs, and general and administrative expenses are expensed as incurred. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Earnings Per Share &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;Basic earnings per share is computed by dividing net income available to common shareholders by the weighted average number of common shares outstanding during the period. Diluted earnings per share is computed by dividing net income available to common shareholders by the weighted-average number of common shares and dilutive common share equivalents then outstanding. Potential common share equivalents consist of restricted stock awards and the incremental common shares issuable upon the exercise of stock options and warrants. Under the treasury stock method, unexercised &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#x201c;in-the-money&#x201d;&lt;/div&gt;&lt;/div&gt; stock options are assumed to be exercised at the beginning of the period or at issuance, if later. The assumed proceeds are then used to purchase common shares at the average market price during the period. In periods when the Company has a net loss, stock awards are excluded from the calculation of earnings per share as their inclusion would have an antidilutive effect. &lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;A reconciliation of basic and diluted share amounts is as follows: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 73%;"/&gt;
&lt;td style="width: 2%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 2%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 2%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;For the Years Ended&lt;br/&gt; December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&#160;&#160;&#160;2020&#160;&#160;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&#160;&#160;&#160;2019&#160;&#160;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&#160;&#160;&#160;2018&#160;&#160;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="10" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts&#160;in&#160;thousands,&#160;except&lt;br/&gt; per&#160;share&#160;data)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Net income&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;59,926&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;21,411&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;16,617&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Weighted average shares used in computing net income per share - basic&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;52,554&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;48,343&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;43,767&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Effect of dilutive shares:&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Options and stock units&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;971&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;864&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;581&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Convertible senior notes&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;367&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,123&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Dilutive potential common shares&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,338&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;864&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,704&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Weighted average shares used in computing net income per share - diluted&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;53,892&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;49,206&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;45,471&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Earnings per share:&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Basic&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1.14&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.44&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.38&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Diluted&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1.11&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.44&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.37&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;  &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;At December&#160;31, 2020, there were outstanding options to purchase 696,711 shares of the Company&#x2019;s common stock at a weighted average exercise price of $43.88 per share and 665,540 shares of common stock issuable upon the vesting of stock units which include restricted stock units and performance stock units. For the year ended December&#160;31, 2020, 98,048 shares of the Company&#x2019;s common stock were excluded from the calculation of diluted earnings per share because they would have had an anti-dilutive effect. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;At December&#160;31, 2019, there were outstanding options to purchase 957,559 shares of the Company&#x2019;s common stock at a weighted average exercise price of $30.81 per share and 734,984 shares of common stock issuable upon the vesting of stock units. For the year ended December&#160;31, 2019, 104,316 shares of the Company&#x2019;s common stock were excluded from the calculation of diluted earnings per share because the exercise prices of the stock options were greater than or equal to the average price of the common shares and were therefore, anti-dilutive. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;At December&#160;31, 2018, there were outstanding options to purchase 998,226 shares of the Company&#x2019;s common stock at a weighted average exercise price of $27.54 per share and 705,413 shares of common stock issuable upon the vesting of stock units. For the year ended December&#160;31, 2017, 479,854 shares of the Company&#x2019;s common stock were excluded from the calculation of diluted earnings per share because the exercise prices of the stock options were greater than or equal to the average price of the common shares and were therefore, anti-dilutive. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;As provided by the terms of the indenture underlying the senior convertible notes, the Company has a choice to settle the conversion obligation for the 2019 Notes in cash, shares or any combination of the two.&#160;The Company currently intends to settle the par value of the 2019 Notes in cash and any excess conversion premium in shares. The Company applies the provisions of ASC 260, &lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;&#x201c;Earnings Per Share&#x201d;,&lt;/div&gt;&lt;/div&gt; Subsection &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;10-45-44,&lt;/div&gt;&lt;/div&gt; to determine the diluted weighted average shares outstanding as it relates to the conversion spread on its convertible notes. Accordingly, the par value of the 2019 Notes is not included in the calculation of diluted income per share, but the dilutive effect of the conversion premium is considered in the calculation of diluted net income per share using the treasury stock method. The dilutive impact of the 2019 Notes is based on the difference between the Company&#x2019;s current period average stock price and the conversion price of the convertible notes, provided there is a premium. Pursuant to this accounting standard, there is no dilution from the accreted principal of the 2019 Notes. For the years ended December&#160;31, 2020 and 2019, the dilutive effect of the conversion premium included in the calculation of diluted earnings was 366,534 shares and 1,123,139 shares, respectively. There was no dilutive effect of the conversion premium included in the calculation of diluted earnings per share for the year ended December&#160;31, 2019. &lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Segment Reporting &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The Company views its operations, makes decisions regarding how to allocate resources and manages its business as one reportable segment and one reporting unit. As a result, the financial information disclosed herein represents all of the material financial information related to the Company. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 4%;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The following table represents product revenues by product line: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 61%;"/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;For the Years Ended December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2020&lt;div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:7.5px"&gt;(1)&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2019&lt;div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:7.5px"&gt;(2)&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2018&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="10" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts in thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Filtration products&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;174,896&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;119,534&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;90,586&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Chromatography products&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;73,551&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;64,635&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;45,326&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Process analytics products&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;33,346&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;16,405&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Proteins products&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;80,732&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;65,124&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;54,375&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Other&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;3,611&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;4,399&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;3,604&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total product revenue&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;366,136&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;270,097&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;193,891&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style="clear: both; max-height: 0px; background: none;"/&gt; &lt;div style="width: 11%; line-height: 8pt; margin-top: 0pt; margin-bottom: 2pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="page-break-inside: avoid;"&gt;
&lt;td style="width: 4%; vertical-align: top;;text-align:left;"&gt;(1)&lt;/td&gt;
&lt;td style="vertical-align: top;;text-align:left;"&gt; &lt;div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2020 revenue for filtration products includes revenue related to EMT from July&#160;13, 2020, NMS from October&#160;20, 2020 and ARTeSYN from December&#160;3, 2020. &lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style="clear: both; max-height: 0px; background: none;"/&gt;
&lt;table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="page-break-inside: avoid;"&gt;
&lt;td style="width: 4%; vertical-align: top;;text-align:left;"&gt;(2)&lt;/td&gt;
&lt;td style="vertical-align: top;;text-align:left;"&gt; &lt;div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2019 revenue for process analytics products includes revenue related to C Technologies from May&#160;31, 2019 through December&#160;31, 2019. &lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;  &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Revenue from filtration products includes the XCell ATF systems and consumables as well as the KrosFlo and SIUS filtration products. Revenue from chromatography products includes the OPUS chromatography PPCs, chromatography resins and ELISA test kits. Revenue from process analytics products includes the SoloVPE and FlowVPE devices. Revenue from protein products includes the Protein A affinity ligands and cell culture growth factors. Other revenue primarily consists of revenue from the sale of operating room products to hospitals as well as freight revenue. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The following table represents the Company&#x2019;s total revenue by geographic area (based on the location of the customer): &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 57%;"/&gt;
&lt;td style="width: 11%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 10%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 10%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;For the Years Ended&lt;br/&gt; December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&#160;&#160;&#160;2020&#160;&#160;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&#160;&#160;&#160;2019&#160;&#160;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&#160;&#160;&#160;2018&#160;&#160;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Revenue by customers&#x2019; geographic locations:&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;North America&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;48&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;51&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;48&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Europe&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;38&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;37&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;40&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;APAC/Other&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;14&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;12&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;12&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total revenue&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;100&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;100&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;100&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The following table represents the Company&#x2019;s total assets by geographic area: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 60%;"/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2019&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts in thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total assets by geographic locations:&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;North America&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,697,149&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,260,217&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Europe&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;188,698&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;133,599&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;APAC&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;17,040&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;6,297&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total assets by geographic location&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,902,887&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,400,113&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The following table represents the Company&#x2019;s long-lived assets by geographic area: &lt;/div&gt;&lt;/div&gt;&lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 70%;"/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2019&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts in&lt;br/&gt; thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Long-lived assets by geographic locations:&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;North America&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;78,429&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;66,756&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Europe&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;12,918&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;6,775&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;APAC&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,272&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;869&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total long-lived assets by geographic location&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;92,619&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;74,400&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Concentrations of Credit Risk and Significant Customers &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Financial instruments that subject the Company to significant concentrations of credit risk primarily consist of cash and cash equivalents, marketable securities and accounts receivable. Per the Company&#x2019;s investment policy, cash equivalents and marketable securities are invested in financial instruments with high credit ratings and credit exposure to any one issue, issuer (with the exception of U.S. Treasury obligations) and type of instrument is limited. At December&#160;31, 2020 and 2019, the Company had no investments associated with foreign exchange contracts, options contracts or other foreign hedging arrangements. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;Concentration of credit risk with respect to accounts receivable is limited to customers to whom the Company makes significant sales. While a reserve for the potential &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;write-off&lt;/div&gt; of accounts receivable is maintained, the Company has not written off any significant accounts to date. To control credit risk, the Company performs regular credit evaluations of its customers&#x2019; financial condition. &lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Revenue from significant customers that represent 10% or more of the Company&#x2019;s total revenue is as follows: &lt;/div&gt;&lt;/div&gt;&lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 8pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 57%;"/&gt;
&lt;td style="width: 13%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 12%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 12%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;For the Years Ended&lt;br/&gt; December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&#160;&#160;&#160;2020&#160;&#160;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&#160;&#160;&#160;2019&#160;&#160;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&#160;&#160;&#160;2018&#160;&#160;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;MilliporeSigma&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;11&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;13&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;15&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Cytiva (formerly GE Healthcare)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;N/A&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;12&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;15&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="clear: both; max-height: 0px; background: none;"/&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Significant accounts receivable balances representing 10% or more of the Company&#x2019;s total trade accounts receivable and royalties and other receivable balances at December&#160;31, 2020 and 2019, include the accounts receivable balance with Cytiva (formerly GE Healthcare), which represented 11% and 18%, respectively of the Company&#x2019;s total trade accounts receivable and royalties and other receivable balances. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Business Combinations, Goodwill and Intangible Assets &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Business Combinations &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total consideration transferred for acquisitions is allocated to the tangible and intangible assets acquired and liabilities assumed, if any, based on their fair values at the dates of acquisition. This purchase price allocation process requires management to make significant estimates and assumptions with respect to intangible assets and deferred revenue. The fair value of identifiable intangible assets is based on detailed valuations that use information and assumptions determined by management. Any excess of purchase price over the fair value of the net tangible and intangible assets acquired is allocated to &lt;/div&gt;&lt;/div&gt;&lt;div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;goodwill. While the Company uses its best estimates and assumptions to accurately value assets acquired and liabilities assumed at the acquisition date as well as any contingent consideration, where applicable, that the Company&#x2019;s estimates are inherently uncertain and subject to refinement. As a result, during the measurement period, which may be up to one year from the acquisition date, the Company records adjustments to the assets acquired and liabilities assumed with the corresponding offset to goodwill. Upon conclusion of the measurement period or final determination of the values of assets acquired or liabilities assumed, whichever comes first, any subsequent adjustments are recorded to the Company&#x2019;s consolidated statements of comprehensive income. Any excess of the fair value of the net tangible and intangible assets acquired over the purchase price is recognized in the consolidated statements of comprehensive income. The fair value of contingent consideration includes estimates and judgments made by management regarding the probability that future contingent payments will be made and the extent of royalties to be earned in excess of the defined minimum royalties. Management updates these estimates and the related fair value of contingent consideration at each reporting period. During the measurement period, these changes in the fair value of contingent consideration are recorded to goodwill. Subsequent to the end of the measurement period, they will be recorded in the consolidated statements of comprehensive income. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;The Company uses the income approach to determine the fair value of certain identifiable intangible assets including customer relationships and developed technology. This approach determines fair value by estimating &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;after-tax&lt;/div&gt; cash flows attributable to these assets over their respective useful lives and then discounting these &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;after-tax&lt;/div&gt; cash flows back to a present value. The Company bases its assumptions on estimates of future cash flows, expected growth rates, expected trends in technology, etc. Discount rates used to arrive at a present value as of the date of acquisition are based on the time value of money and certain industry-specific risk factors. &lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Goodwill &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Goodwill is not amortized and is reviewed for impairment at least annually at the reporting unit level. As of December&#160;31, 2018, the Company concluded that it operated as two reporting units and performed the 2018 goodwill impairment test using two reporting units. In 2019, the Company reorganized its reporting structure and changed the way the CODM views the Company&#x2019;s operations and allocates its resources. Accordingly, the Company operates as one reporting unit as of the goodwill impairment measurement date of December&#160;31, 2020. During the qualitative assessment of the Company&#x2019;s one reporting unit during the 2020 goodwill impairment testing, it was determined that it was not more likely than not that its fair value was less than its carrying amount. As such, a quantitative impairment assessment was not required as of December&#160;31, 2020. If an event occurs or circumstances change that would more likely than not reduce the fair value of its reporting unit below its carrying value, the Company will evaluate its goodwill for impairment between annual tests. There was no impairment to goodwill and therefore no impairment charge recorded for the year ended December&#160;31, 2019. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Intangible Assets &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Intangible assets with a definite life are amortized over their useful lives using the straight-line method and the amortization expense is recorded within cost of product revenue, research and development and selling, general and administrative expense in the consolidated statements of comprehensive income. Intangible assets and their related useful lives are reviewed at least annually to determine if any adverse conditions exist that would indicate the carrying value of these assets may not be recoverable. More frequent impairment assessments are conducted if certain conditions exist, including a change in the competitive landscape, any internal decisions to pursue new or different technology strategies, a loss of a significant customer, or a significant change in the marketplace, including changes in the prices paid for the Company&#x2019;s products or changes in the size of the market for the Company&#x2019;s products. If impairment indicators are present, the Company determines whether the underlying intangible asset is &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;recoverable through estimated future undiscounted cash flows. If the asset is not found to be recoverable, it is written down to the estimated fair value of the asset based on the sum of the future discounted cash flows expected to result from the use and disposition of the asset. If the estimate of an intangible asset&#x2019;s remaining useful life is changed, the remaining carrying amount of the intangible asset is amortized prospectively over the revised remaining useful life. The Company continues to believe that its definite-lived intangible assets are recoverable at December&#160;31, 2020. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Indefinite-lived intangible assets are reviewed for impairment at least annually. There has been no impairment of our intangible assets for the periods presented. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Stock Based Compensation &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The Company measures stock-based compensation cost at the grant date based on the estimated fair value of the award and recognizes it as expense over the employee&#x2019;s requisite service period on a straight-line basis. The Company records the expense for share-based awards subject to performance-based milestone vesting over the remaining service period when management determines that achievement of the milestone is probable. Management evaluates whether the achievement of a performance-based milestone is probable as of the reporting date. The Company has no awards that are subject to market conditions. The Company recognizes stock-based compensation expense based upon options that are ultimately expected to vest, and accordingly, such compensation expense has been adjusted by an amount of estimated forfeitures. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The Company uses the Black-Scholes option pricing model to calculate the fair value of share-based awards on the grant date.&#160;The following assumptions are used in calculating the fair value of share-based awards: &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Expected term&lt;/div&gt;&lt;/div&gt; &#x2013; The expected term of options granted represents the period of time for which the options are expected to be outstanding. For purposes of estimating the expected term, the Company has aggregated all individual option awards into one group as the Company does not expect substantial differences in exercise behavior among its employees. &lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Expected volatility&lt;/div&gt;&lt;/div&gt; &#x2013; The expected volatility is a measure of the amount by which the Company&#x2019;s stock price is expected to fluctuate during the expected term of options granted. The Company determines the expected volatility based primarily upon the historical volatility of the Company&#x2019;s common stock over a period commensurate with the option&#x2019;s expected term. &lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Risk-free interest rate&lt;/div&gt;&lt;/div&gt; &#x2013; The risk-free interest rate is the implied yield available on U.S. Treasury &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;zero-coupon&lt;/div&gt; issues with a remaining term equal to the option&#x2019;s expected term on the grant date. &lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Expected dividend yield&lt;/div&gt;&lt;/div&gt; &#x2013; The Company has never declared or paid any cash dividends on any of its capital stock and does not expect to do so in the foreseeable future.&#160;Accordingly, the Company uses an expected dividend yield of zero to calculate the grant-date fair value of a stock option. &lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Estimated forfeiture rates&lt;/div&gt;&lt;/div&gt; &#x2013; The Company has applied, based on an analysis of its historical forfeitures, annual forfeiture rates of 8% for awards granted to &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;non-executive&lt;/div&gt; level employees, 3% for awards granted to executive level employees and 0% for awards granted to &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;non-employee&lt;/div&gt; members of the Board of Directors to all unvested stock options as of December&#160;31, 2020. The Company reevaluates this analysis periodically and adjusts these estimated forfeiture rates as necessary. Ultimately, the Company will only recognize an expense for those shares that vest. &lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Advertising Costs &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The Company expenses advertising costs as they are incurred. Advertising expense for the years ended December&#160;31, 2020, 2019 and 2018 was $0.3&#160;million, $0.1&#160;million and $0.2&#160;million, respectively. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Recent Accounting Standards Updates &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;We consider the applicability and impact of all Accounting Standards Updates on the Company&#x2019;s consolidated financial statements. Updates not listed below were assessed and determined to be either not applicable or are expected to have minimal impact on the Company&#x2019;s consolidated financial position or results of operations. Recently issued Accounting Standards Updates that we feel may be applicable to the Company are as follows: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Recently Issued Accounting Standard Updates &#x2013; Adopted During the Period &lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;On May&#160;21, 2020, the SEC announced that it would adopt amendments to the financial disclosure requirements for acquisitions and dispositions of businesses in Rules &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;3-05,&lt;/div&gt; &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;3-14,&lt;/div&gt; &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;8-04,&lt;/div&gt; &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;8-05,&lt;/div&gt; &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;8-06,&lt;/div&gt; and Article 11 of Regulation &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;S-X,&lt;/div&gt; all of which relate to financial statement disclosure requirements. In conjunction with the changes to amendments to these rules, the SEC also amended the significance tests in the &#x201c;significant subsidiary&#x201d; definition in Rule &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;1-02(w),&lt;/div&gt; Securities Act Rule 405, and Exchange Act &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Rule&#160;12b-2&lt;/div&gt; to improve their application and to assist registrants in making more meaningful determinations of whether a subsidiary or an acquired or disposed of business is significant. &lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Specific changes to the significance test include changes to the investment test component, which compares the registrant&#x2019;s and its other subsidiaries&#x2019; investment in and advances to the tested subsidiary to the registrant&#x2019;s aggregate worldwide market value if available, instead of the registrant&#x2019;s total assets on a consolidated basis under the unamended Rule. The amendments also changed the income test component by adding a revenue component to it. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The amendments are effective on January&#160;1, 2021. However, voluntary compliance with the final amendments was permitted in advance of the effective date. As a result of the 2020 acquisitions of EMT, NMS and ARTeSYN, the Company voluntarily adopted the amendments prior to their effective date and determined the acquired businesses are not significant subsidiaries and therefore no separate financial statements are required. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;In August 2018, the Financial Accounting Standards Board (&#x201c;FASB&#x201d;) issued Accounting Standards Update No. (&#x201c;ASU&#x201d;) &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2018-13,&lt;/div&gt; &lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;&#x201c;Fair Value Measurement (Topic 820): Disclosure Framework &#x2013; Changes to the Disclosure Requirements for Fair Value Measurement.&#x201d; &lt;/div&gt;&lt;/div&gt;ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2018-13&lt;/div&gt; includes amendments that aim to improve the effectiveness of fair value measurement disclosures. The amendments in this guidance modify the disclosure requirements on fair value measurements based on the concepts in FASB Concepts Statement, &lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;&#x201c;Conceptual Framework for Financial Reporting&#x2014;Chapter 8: Notes to Financial Statements&lt;/div&gt;&lt;/div&gt;,&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;&#x201d;&lt;/div&gt;&lt;/div&gt; including the consideration of costs and benefits. The Company adopted ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2018-13&lt;/div&gt; on January&#160;1, 2020. The adoption did not have a material impact on the Company&#x2019;s consolidated financial statements as of and for the year ended December&#160;31, 2020. &lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;In August 2018, the FASB issued ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2018-15,&lt;/div&gt; &lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;&#x201c;Intangibles &#x2013; Goodwill and Other &#x2013; &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Internal-Use&lt;/div&gt; Software (Subtopic &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;350-40):&lt;/div&gt; Customer&#x2019;s Accounting for Implementation Costs Incurred in a Cloud Computing Arrangement That Is a Service Contract.&#x201d; &lt;/div&gt;&lt;/div&gt;ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2018-15&lt;/div&gt; aligns the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;internal-use&lt;/div&gt; software (and hosting arrangements that include an &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;internal-use&lt;/div&gt; software license). The guidance also requires the entity to expense the capitalized implementation costs of a hosting arrangement that is a service contract &lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;over the term of the hosting arrangement, which includes reasonably certain renewals. The Company adopted ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2018-13&lt;/div&gt; on January&#160;1, 2020. The adoption did not have a material impact on the Company&#x2019;s consolidated financial statements as of and for the year ended December&#160;31, 2020. &lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;In June 2016, the FASB issued ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2016-13,&lt;/div&gt; &#x201c;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Financial Instruments-Credit Losses (Topic 326).&#x201d;&lt;/div&gt;&lt;/div&gt; ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2016-13&lt;/div&gt; significantly changes how entities will account for credit losses for most financial assets and certain other instruments that are not measured at fair value through net income. ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2016-13&lt;/div&gt; replaces the existing incurred loss model with an expected credit loss model that requires entities to estimate an expected lifetime credit loss on most financial assets and certain other instruments, including short-term trade receivables and contract assets, and expands disclosure requirements for credit quality of financial assets. The Company adopted ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2016-13&lt;/div&gt; on January&#160;1, 2020. The Company assessed all potential impacts that the adoption of this guidance has on its consolidated financial statements. Based on the composition of the Company&#x2019;s investment portfolio, accounts receivable, current market conditions and historical credit loss activity, the adoption of ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2016-13&lt;/div&gt; by the Company did not have a material impact on its consolidated financial position, results of operations or cash flows as of and for the year ended December&#160;31, 2020. The Company continues to monitor processes and controls for indications of an adjustment for future economic conditions at quarterly and annual reporting periods. See Note 6, &lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;&#x201c;Credit Losses,&#x201d; &lt;/div&gt;&lt;/div&gt;below for more information on the Company&#x2019;s adoption of ASC 326. &lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;In November 2018, the FASB issued ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2018-18,&lt;/div&gt; &lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;&#x201c;Collaborative Arrangements (Topic 808): Clarifying the Interaction between Topic 808 and Topic 606.&#x201d; &lt;/div&gt;&lt;/div&gt;ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2018-18&lt;/div&gt; clarifies the interaction between Topic 808, &lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;&#x201c;Collaborative Arrangements,&#x201d; &lt;/div&gt;&lt;/div&gt;and Topic 606, &lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;&#x201c;Revenue from Contracts with Customers,&#x201d; &lt;/div&gt;&lt;/div&gt;by making targeted improvements to GAAP for collaborative arrangements and providing guidance on whether certain transactions between collaborative arrangement participants should be accounted for with revenue under Topic 606. This includes improving comparability in the presentation of revenue for certain transactions between collaborative arrangement participants by allowing presentation of the units of account in collaborative arrangements that are within the scope of Topic 606 together with revenue accounted for under Topic 606. The Company adopted ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2018-13&lt;/div&gt; on January&#160;1, 2020. The adoption did not have a material impact on the Company&#x2019;s consolidated financial statements as of and for the year ended December&#160;31, 2020. &lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;In December 2019, the FASB issued ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2019-12,&lt;/div&gt; &#x201c;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Income Taxes (Topic 740) &#x2013; Simplifying the Accounting for Income Taxes.&#x201d; &lt;/div&gt;&lt;/div&gt;ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2019-12&lt;/div&gt; simplifies the accounting for income taxes by removing certain exceptions to the general principles in Topic 740, including, but not limited to, the exception to the incremental approach for intraperiod tax allocation when there is a loss from continuing operations and income or a gain from other items, the exceptions related to the recognition of a deferred tax liability related to an equity method investment and the exception to methodology for calculating income taxes in an interim period when a &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;year-to-date&lt;/div&gt;&lt;/div&gt; loss exceeds the anticipated loss for the year. The Company adopted ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2018-13&lt;/div&gt; on January&#160;1, 2020. The adoption did not have a material impact on the Company&#x2019;s consolidated financial statements as of and for the year ended December&#160;31, 2020. &lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Recently Issued Accounting Standard Updates &#x2013; Not Yet Adopted &lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;In August 2020, the FASB issued ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2020-06,&lt;/div&gt; &#x201c;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Debt&#x2014;Debt with Conversion and Other Options (Subtopic &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;470-20)&lt;/div&gt; and Derivatives and Hedging&#x2014;Contracts in Entity&lt;/div&gt;&lt;/div&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;&#x2019;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;s Own Equity (Subtopic &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;815-40).&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;&#x201d;&lt;/div&gt;&lt;/div&gt; ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2020-06&lt;/div&gt; simplifies the accounting for convertible debt instruments and convertible preferred stock by reducing the number of accounting models and the number of embedded conversion features that could be recognized separately from the primary contract. ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2020-06&lt;/div&gt; also enhances transparency and improves disclosures for convertible instruments and earnings per share guidance. ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2020-06&lt;/div&gt; is effective for annual reporting periods beginning after December&#160;15, 2021, including interim periods within those fiscal years. Early adoption is permitted, but no earlier than fiscal years beginning after December&#160;15, 2020. This update permits the use of either the modified retrospective or fully &lt;/div&gt; retrospective method of transition. The Company is currently evaluating the timing and impact of the adoption of ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2020-06&lt;/div&gt; on the Company&#x2019;s consolidated financial statements.</us-gaap:SignificantAccountingPoliciesTextBlock>
    <us-gaap:UseOfEstimates contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Use of Estimates &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The preparation of financial statements in conformity with accounting principles generally accepted in the United States (&#x201c;GAAP&#x201d;) requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting periods. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Significant estimates and assumptions by management affect the Company&#x2019;s revenue recognition for multiple element arrangements, allowance for credit losses, the net realizable value of inventory, valuations and purchase price allocations related to business combinations, expected future cash flows including growth rates, discount rates, terminal values and other assumptions and estimates used to evaluate the recoverability of long-lived assets, estimated fair values of intangible assets and goodwill, amortization methods and periods, warranty reserves, certain accrued expenses, stock-based compensation, tax reserves and recoverability of the Company&#x2019;s net deferred tax assets and related valuation allowance. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Although the Company regularly assesses these estimates, actual results could differ materially from these estimates. Changes in estimates are recorded in the period in which they become known. The Company bases its estimates on historical experience and various other assumptions that it believes to be reasonable under the circumstances. &lt;/div&gt;&lt;/div&gt;</us-gaap:UseOfEstimates>
    <us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Basis of Presentation &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;The consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries, Repligen Sweden AB, Repligen GmbH, Spectrum&lt;div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px"&gt;&#xae;&lt;/div&gt; LifeSciences LLC and its subsidiaries (&#x201c;Spectrum&#x201d;), C Technologies, Inc. (&#x201c;C Technologies&#x201d;), Engineered Molding Technology LLC (&#x201c;EMT&#x201d;), &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Non-Metallic&lt;/div&gt; Solutions, Inc. (&#x201c;NMS&#x201d;), ARTeSYN Biosolutions Holdings Ireland Limited (&#x201c;ARTeSYN&#x201d;) and Repligen Singapore Pte. Ltd. All significant intercompany accounts and transactions have been eliminated in consolidation. Certain prior year balances have changed to reflect current year presentation. &lt;/div&gt;</us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock>
    <us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Foreign Currency &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The Company translates the assets and liabilities of its foreign subsidiary at rates in effect at the end of the reporting period. Revenues and expenses are translated at average rates in effect during the reporting period. Translation adjustments, including adjustments related to the Company&#x2019;s intercompany loan with Repligen Sweden AB and Repligen Sweden AB&#x2019;s intercompany loan with Repligen GmbH, are remeasured at each period end and included in accumulated other comprehensive loss. &lt;/div&gt;&lt;/div&gt;</us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock>
    <us-gaap:RevenueRecognitionPolicyTextBlock contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Revenue Recognition &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;We generate revenue from the sale of bioprocessing products, equipment devices, and related consumables used with these equipment devices to customers in the life sciences and biopharmaceutical industries. Under Accounting Standard Codification No. (&#x201c;ASC&#x201d;) 606, &#x201c;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Revenue from Contracts with Customers,&#x201d; &lt;/div&gt;&lt;/div&gt;revenue is recognized when, or as, obligations under the terms of a contract are satisfied, which occurs when control of the promised products or services is transferred to customers. Revenue is measured as the amount of consideration the Company expects to receive in exchange for transferring products or services to a customer (&#x201c;transaction price&#x201d;). To the extent the transaction price includes variable consideration, the Company estimates the amount of variable consideration that should be included in the transaction price utilizing the expected value method or the most likely amount method, depending on the facts and circumstances relative to the contract. Variable consideration is included in the transaction price if, in the Company&#x2019;s judgment, it is probable that a significant future reversal of cumulative revenue under the contract will not occur. Estimates of variable consideration and determination of whether to include estimated amounts in the transaction price are based largely on an assessment of the Company&#x2019;s anticipated performance and all information (historical, current and forecasted) that is reasonably available. Sales, value add, and other taxes collected on behalf of third parties are excluded from revenue. &lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;When determining the transaction price of a contract, an adjustment is made if payment from a customer occurs either significantly before or significantly after performance, resulting in a significant financing component. Applying the practical expedient in paragraph &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;606-10-32-18,&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; the Company does not assess whether a significant financing component exists if the period between when the Company performs its obligations under the contract and when the customer pays is one year or less. None of the Company&#x2019;s contracts contained a significant financing component as of December&#160;31, 2020. &lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Contracts with customers may contain multiple performance obligations. For such arrangements, the transaction price is allocated to each performance obligation based on the estimated relative standalone selling prices of the promised products or services underlying each performance obligation. The Company determines standalone selling prices based on the price at which the performance obligation is sold separately. If the standalone selling price is not observable through past transactions, the Company estimates the standalone selling price taking into account available information such as market conditions and internally approved pricing guidelines related to the performance obligations. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The Company recognizes product revenue under the terms of each customer agreement upon transfer of control to the customer, which occurs at a point in time. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Shipping and handling fees are recorded as a component of product revenue, with the associated costs recorded as a component of cost of product revenue. &lt;/div&gt;&lt;/div&gt;</us-gaap:RevenueRecognitionPolicyTextBlock>
    <rgen:RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Risks and Uncertainties &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The Company evaluates its operations periodically to determine if any risks and uncertainties exist that could impact its operations in the near term. The Company does not believe that there are any significant risks that have not already been disclosed in the consolidated financial statements. A loss of certain suppliers could temporarily disrupt operations, although alternate sources of supply exist for these items. The Company has mitigated these risks by working closely with key suppliers, identifying alternate sources and developing contingency plans. &lt;/div&gt;&lt;/div&gt;</rgen:RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock>
    <us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Cash, Cash Equivalents and Restricted Cash &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Cash and cash equivalents include cash on hand and on deposit. Highly liquid investments in money market mutual funds with an original maturity of three months or less are classified as cash equivalents. All cash equivalents are carried at cost, which approximates fair value. Restricted cash represents cash that is restricted as to withdrawal or usage. There was no restriction on the Company&#x2019;s cash balance as of December&#160;31, 2020. In connection with the Company&#x2019;s acquisition of C Technologies on May&#160;31, 2019, cash was held and due to employees based on their continued employment with the Company one year after the date of the close of the acquisition. As of December&#160;31, 2019, $9.0&#160;million, which represented this amount due to employees, was carried as restricted cash on the Company&#x2019;s consolidated balance sheet. Subsequently, during the second quarter of 2020, this $9.0&#160;million was paid to employees. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The following is a summary of the Company&#x2019;s cash, cash equivalents, and restricted cash total as presented in the Company&#x2019;s consolidated statements of cash flows for the years ended December&#160;31, 2020, 2019 and 2018: &lt;/div&gt;&lt;/div&gt;&lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 8pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 61%;"/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;For the Years Ended December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2019&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2018&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="10" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts in thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Cash and cash equivalents&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;717,292&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;528,392&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;193,822&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Restricted cash&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;9,015&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total cash, cash equivalents, and restricted cash&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;717,292&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;537,407&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;193,822&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="clear: both; max-height: 0px; background: none;"/&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;There were no realized gains or losses on investments for the years ended December&#160;31, 2020, 2019 and 2018. &lt;/div&gt;&lt;/div&gt;</us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy>
    <us-gaap:RestrictedCashAndCashEquivalentsNoncurrent
      contextRef="PAsOn12_31_2019"
      decimals="-5"
      unitRef="Unit_USD">9000000.0</us-gaap:RestrictedCashAndCashEquivalentsNoncurrent>
    <us-gaap:RestrictedCashAndCashEquivalentsNoncurrent
      contextRef="PAsOn06_30_2020"
      decimals="-5"
      unitRef="Unit_USD">9000000.0</us-gaap:RestrictedCashAndCashEquivalentsNoncurrent>
    <rgen:ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The following is a summary of the Company&#x2019;s cash, cash equivalents, and restricted cash total as presented in the Company&#x2019;s consolidated statements of cash flows for the years ended December&#160;31, 2020, 2019 and 2018: &lt;/div&gt;&lt;/div&gt;&lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 8pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 61%;"/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;For the Years Ended December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2019&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2018&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="10" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts in thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Cash and cash equivalents&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;717,292&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;528,392&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;193,822&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Restricted cash&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;9,015&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total cash, cash equivalents, and restricted cash&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;717,292&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;537,407&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;193,822&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</rgen:ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">717292000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">528392000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="PAsOn12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">193822000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCash
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">9015000</us-gaap:RestrictedCash>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">717292000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">537407000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="PAsOn12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">193822000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:FairValueMeasurementPolicyPolicyTextBlock contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Fair Value Measurement &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;In determining the fair value of its assets and liabilities, the Company uses various valuation approaches. The Company employs a hierarchy for inputs used in measuring fair value that maximizes the use of observable inputs and minimizes the use of unobservable inputs by requiring that observable inputs be used when available. Observable inputs are inputs that market participants would use in pricing the asset or liability based on market data obtained from sources independent of the Company. Unobservable inputs are inputs that reflect the Company&#x2019;s assumptions about the inputs that market &lt;/div&gt;&lt;/div&gt;&lt;div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;participants would use in pricing the asset or liability and are developed based on the best information available in the circumstances. The fair value hierarchy is broken down into three levels based on the source of inputs as follows: &lt;/div&gt;&lt;/div&gt;&lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 10%; font-family: ARIAL;"/&gt;
&lt;td style="width: 2%; vertical-align: bottom; font-family: ARIAL;"/&gt;
&lt;td style="width: 89%; font-family: ARIAL;"/&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Level&#160;1&#160;&#x2013;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;Valuations based on unadjusted quoted prices in active markets for identical assets or liabilities that the Company has the ability to access.&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1pt;"&gt;
&lt;td style="height: 6pt; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="2" style="height: 6pt; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Level&#160;2&#160;&#x2013;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;Valuations based on quoted prices for similar assets or liabilities in active markets, quoted prices for identical or similar assets or liabilities in markets that are not active and models for which all significant inputs are observable, either directly or indirectly.&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1pt;"&gt;
&lt;td style="height: 6pt; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="2" style="height: 6pt; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Level&#160;3&#160;&#x2013;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;Valuations based on inputs that are unobservable and significant to the overall fair value measurement.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="clear: both; max-height: 0px; background: none;"/&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The availability of observable inputs can vary among the various types of financial assets and liabilities. To the extent that the valuation is based on models or inputs that are less observable or unobservable in the market, the determination of fair value requires more judgment. In certain cases, the inputs used to measure fair value may fall into different levels of the fair value hierarchy. In such cases, for financial statement disclosure purposes, the level in the fair value hierarchy within which the fair value measurement is categorized is based on the lowest level input that is significant to the overall fair value measurement. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;As of December&#160;31, 2020 and 2019, cash and cash equivalents on the Company&#x2019;s consolidated balance sheets included $549.0&#160;million and $415.6&#160;million, respectively, in money market accounts. These funds are valued on a recurring basis using Level&#160;1 inputs. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;In July 2019, the Company issued $287.5&#160;million aggregate principal amount of the Company&#x2019;s 0.375% Convertible Senior Notes due July&#160;15, 2024 (the &#x201c;2019 Notes&#x201d;). Interest is payable semi-annually in arrears on January&#160;15 and July&#160;15 of each year. The 2019 Notes will mature on July&#160;15, 2024 unless earlier converted or repurchased in accordance with their terms. As of December&#160;31, 2020, the carrying value of the 2019 Notes was $243.7&#160;million, net of unamortized discount, and the fair value of the 2019 Notes was $501.0&#160;million. The fair value of the 2019 Notes is a Level&#160;1 valuation and was determined based on the most recent trade activity of the 2019 Notes as of December&#160;31, 2020. The 2019 Notes are discussed in more detail in Note 12, &lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;&#x201c;Convertible Senior Notes,&#x201d; &lt;/div&gt;&lt;/div&gt;to these consolidated financial statements. &lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;There were no remeasurements to fair value during the year ended December&#160;31, 2020 of financial assets and liabilities that are not measured at fair value on a recurring basis. &lt;/div&gt;&lt;/div&gt;</us-gaap:FairValueMeasurementPolicyPolicyTextBlock>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="PAsOn12_31_2020_FairValueInputsLevel1MemberusgaapFairValueByFairValueHierarchyLevelAxis_MoneyMarketFundsMemberusgaapCashAndCashEquivalentsAxis"
      decimals="-5"
      unitRef="Unit_USD">549000000.0</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="PAsOn12_31_2019_FairValueInputsLevel1MemberusgaapFairValueByFairValueHierarchyLevelAxis_MoneyMarketFundsMemberusgaapCashAndCashEquivalentsAxis"
      decimals="-5"
      unitRef="Unit_USD">415600000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="PAsOn07_31_2019_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis"
      decimals="INF"
      unitRef="Unit_USD">287500000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="PAsOn07_31_2019_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis"
      decimals="5"
      unitRef="Unit_pure">0.00375</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentFrequencyOfPeriodicPayment contextRef="P01_01_2020To12_31_2020_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis">semi-annually</us-gaap:DebtInstrumentFrequencyOfPeriodicPayment>
    <us-gaap:LongTermDebtFairValue
      contextRef="PAsOn07_31_2019_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis"
      decimals="-5"
      unitRef="Unit_USD">243700000</us-gaap:LongTermDebtFairValue>
    <us-gaap:LongTermDebt
      contextRef="PAsOn07_31_2019_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis"
      decimals="-5"
      unitRef="Unit_USD">501000000.0</us-gaap:LongTermDebt>
    <us-gaap:CreditLossFinancialInstrumentPolicyTextBlock contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Allowance for credit losses &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;We establish an allowance for credit losses through a review of several factors, including historical collection experience, current aging status of the customer accounts, and current financial condition of our customers. Losses are charged against the allowance when the customer accounts are determined to be uncollectible. &lt;/div&gt;&lt;/div&gt;</us-gaap:CreditLossFinancialInstrumentPolicyTextBlock>
    <us-gaap:InventoryPolicyTextBlock contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Inventories &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;Inventories relate to the Company&#x2019;s bioprocessing business. The Company values inventory at cost or, if lower, net realizable value, using the &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;first-in,&lt;/div&gt; &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;first-out&lt;/div&gt; method. The Company reviews its inventories at least quarterly and records a provision for excess and obsolete inventory based on its estimates of expected sales volume, production capacity and expiration dates of raw materials, &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;work-in-process&lt;/div&gt;&lt;/div&gt; and finished products. The Company writes down inventory that has become obsolete, inventory that has a &lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;cost basis in excess of its expected net realizable value, and inventory in excess of expected requirements to cost of product revenue. Manufacturing of bioprocessing finished goods is done to order and tested for quality specifications prior to shipment. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;A change in the estimated timing or amount of demand for the Company&#x2019;s products could result in additional provisions for excess inventory quantities on hand. Any significant unanticipated changes in demand or unexpected quality failures could have a significant impact on the value of inventory and reported operating results. During all periods presented in the accompanying financial statements, there have been no material adjustments related to a revised estimate of inventory valuations. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Work-in-process&lt;/div&gt;&lt;/div&gt; and finished products inventories consist of material, labor, outside processing costs and manufacturing overhead. &lt;/div&gt;</us-gaap:InventoryPolicyTextBlock>
    <us-gaap:LoansAndLeasesReceivableLeaseFinancingPolicy contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Lease Accounting &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;The Company adopted ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2016-02,&lt;/div&gt; &lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;&#x201c;Leases (Topic 842)&lt;/div&gt;&lt;/div&gt;&#x201d; (&#x201c;ASC 842&#x201d;) as of January&#160;1, 2019. Under ASC 842, the Company determines whether the arrangement contains a lease at the inception of an arrangement. If a lease is identified in an arrangement, the Company recognizes a &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;right-of-use&lt;/div&gt;&lt;/div&gt; asset and liability on its consolidated balance sheet and determines whether the lease should be classified as a finance or operating lease. The Company does not recognize assets or liabilities for leases with lease terms of less than 12 months. &lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;A lease qualifies as a finance lease if any of the following criteria are met at the inception of the lease: (i)&#160;there is a transfer of ownership of the leased asset to the Company by the end of the lease term, (ii)&#160;the Company holds an option to purchase the leased asset that it is reasonably certain to exercise, (iii)&#160;the lease term is for a major part of the remaining economic life of the leased asset, (iv)&#160;the present value of the sum of lease payments equals or exceeds substantially all of the fair value of the leased asset, or (v)&#160;the nature of the leased asset is specialized to the point that it is expected to provide the lessor no alternative use at the end of the lease term. All other leases are recorded as operating leases. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Finance and operating lease assets and liabilities are recognized at the lease commencement date based on the present value of the lease payments over the lease term using the discount rate implicit in the lease. If the rate implicit is not readily determinable, the Company utilizes its incremental borrowing rate at the lease commencement date. Operating lease assets are further adjusted for prepaid or accrued lease payments. Operating lease payments are expensed using the straight-line method as an operating expense over the lease term. Finance lease assets are amortized to depreciation expense using the straight-line method over the shorter of the useful life of the related asset or the lease term. Finance lease payments are bifurcated into (i)&#160;a portion that is recorded as imputed interest expense and (ii)&#160;a portion that reduces the finance liability associated with the lease. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;The Company does not separate lease and &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;non-lease&lt;/div&gt; components when determining which lease payments to include in the calculation of its lease assets and liabilities. Variable lease payments are expensed as incurred. If a lease includes an option to extend or terminate the lease, the Company reflects the option in the lease term if it is reasonably certain it will exercise the option. &lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Finance leases are recorded in property, plant and equipment, net, other current liabilities and long-term finance lease liabilities and operating leases are recorded in operating lease right of use assets, operating lease liability and operating lease liability, long-term on the Company&#x2019;s consolidated balance sheet. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Certain of the Company&#x2019;s operating leases where the Company is the lessee provide for minimum annual payments that increase over the life of the lease. Some of these leases include obligations to pay &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;for other services, such as operations and maintenance. For leases of property, the Company accounts for these other services as a component of the lease. The aggregate minimum annual payments are expensed on the straight-line basis beginning when the Company takes possession of the property and extending over the term of the related lease, including renewal options when the exercise of the option is reasonably assured as an economic penalty may be incurred if the option is not exercised. The Company also accounts in its straight-line computation for the effect of any &#x201c;rental holidays.&#x201d; &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Operating lease assets represent the Company&#x2019;s right to use an underlying asset for the lease term and lease liabilities represent the Company&#x2019;s obligation to make lease payments arising from the lease. Operating lease assets and liabilities are recognized at the lease commencement date based on the estimated present value of the fixed lease payments, reduced by landlord incentives using a discount rate based on similarly secured borrowings available to the Company. Most of the leases do not provide implicit interest rates and therefore the Company determines the discount rate based on its incremental borrowing rate. The incremental borrowing rate for the Company&#x2019;s leases is determined based on lease term and currency in which the lease payments are made. &lt;/div&gt;&lt;/div&gt;</us-gaap:LoansAndLeasesReceivableLeaseFinancingPolicy>
    <rgen:AccruedLiabilitiesPolicyTextBlock contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Accrued Liabilities &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The Company estimates accrued liabilities by identifying services performed on the Company&#x2019;s behalf, estimating the level of service performed and determining the associated cost incurred for such service as of each balance sheet date. For example, the Company would accrue for professional and consulting fees incurred with law firms, audit and accounting service providers and other third-party consultants. These expenses are determined by either requesting those service providers to estimate unbilled services at each reporting date for services incurred or tracking costs incurred by service providers under fixed fee arrangements. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The Company has processes in place to estimate the appropriate amounts to record for accrued liabilities, which principally involve the applicable personnel reviewing the services provided. In the event that the Company does not identify certain costs that have begun to be incurred or the Company under or over-estimates the level of services performed or the costs of such services, the reported expenses for that period may be too low or too high. The date on which certain services commence, the level of services performed on or before a given date, and the cost of such services often require the exercise of judgment. The Company makes these judgments based upon the facts and circumstances known at the date of the financial statements. &lt;/div&gt;&lt;/div&gt;</rgen:AccruedLiabilitiesPolicyTextBlock>
    <us-gaap:IncomeTaxPolicyTextBlock contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Income Taxes &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;Deferred taxes are determined based on the difference between the financial statement and tax basis of assets and liabilities using enacted tax rates in effect in the years in which the differences are expected to reverse. Valuation allowances are provided, if, based upon the weight of available evidence, it is more likely than not that some or all of the deferred tax assets will not be realized. The Company accounts for uncertain tax positions using a &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#x201c;more-likely-than-not&#x201d;&lt;/div&gt; threshold for recognizing and resolving uncertain tax positions. The evaluation of uncertain tax positions is based on factors including, but not limited to, changes in tax law, the measurement of tax positions taken or expected to be taken in tax returns, the effective settlement of matters subject to audit, new audit activity and changes in facts or circumstances related to a tax position. The Company evaluates this tax position on a quarterly basis. The Company also accrues for potential interest and penalties related to unrecognized tax benefits in income tax expense. &lt;/div&gt;</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Property, Plant&#160;&amp;amp; Equipment &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Property, plant&#160;&amp;amp; equipment is recorded at cost less allowances for depreciation. Depreciation is calculated using the straight-line method over the estimated useful life of the asset as follows: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 42%; font-family: ARIAL;"/&gt;
&lt;td style="width: 2%; vertical-align: bottom; font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt; &lt;div style="font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: table-cell; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Classification&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:center;"&gt; &lt;div style="text-align: center; font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: inline-block; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Estimated&#160;Useful&#160;Life&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Buildings&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;Thirty years&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Leasehold&#160;improvements&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;Shorter of the term of the lease or estimated useful life&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Equipment&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;span style="-sec-ix-hidden:hidden18476318"&gt;Three&lt;/span&gt; to twelve years&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Furniture, fixtures and office equipment&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;span style="-sec-ix-hidden:hidden18476319"&gt;Three&lt;/span&gt; to eight years&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Computer hardware and software&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;span style="-sec-ix-hidden:hidden18476320"&gt;Three&lt;/span&gt; to seven years or estimated useful life&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;  &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Upon disposal of property, plant&#160;&amp;amp; equipment, the cost of the asset and the accumulated depreciation are removed from the accounts and the resulting gain or loss is reflected in our results of operations. Fully depreciated assets are not removed from the accounts until they are physically disposed of. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Certain systems development costs related to the purchase, development and installation of computer software developed or obtained for internal use are capitalized and depreciated over the estimated useful life of the related project. Costs incurred prior to the development stage, as well as maintenance, training costs, and general and administrative expenses are expensed as incurred. &lt;/div&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <rgen:ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Property, plant&#160;&amp;amp; equipment is recorded at cost less allowances for depreciation. Depreciation is calculated using the straight-line method over the estimated useful life of the asset as follows: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 42%; font-family: ARIAL;"/&gt;
&lt;td style="width: 2%; vertical-align: bottom; font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt; &lt;div style="font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: table-cell; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Classification&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:center;"&gt; &lt;div style="text-align: center; font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: inline-block; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Estimated&#160;Useful&#160;Life&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Buildings&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;Thirty years&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Leasehold&#160;improvements&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;Shorter of the term of the lease or estimated useful life&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Equipment&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;span style="-sec-ix-hidden:hidden18476318"&gt;Three&lt;/span&gt; to twelve years&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Furniture, fixtures and office equipment&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;span style="-sec-ix-hidden:hidden18476319"&gt;Three&lt;/span&gt; to eight years&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Computer hardware and software&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;span style="-sec-ix-hidden:hidden18476320"&gt;Three&lt;/span&gt; to seven years or estimated useful life&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; </rgen:ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="P01_01_2020To12_31_2020_BuildingMemberusgaapPropertyPlantAndEquipmentByTypeAxis">P30Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentEstimatedUsefulLives contextRef="P01_01_2020To12_31_2020_LeaseholdImprovementsMemberusgaapPropertyPlantAndEquipmentByTypeAxis">Shorter of the term of the lease or estimated useful life</us-gaap:PropertyPlantAndEquipmentEstimatedUsefulLives>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="P01_01_2020To12_31_2020_EquipmentMemberusgaapPropertyPlantAndEquipmentByTypeAxis_MaximumMembersrtRangeAxis">P12Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="P01_01_2020To12_31_2020_FurnitureFixturesAndOfficeEquipmentMemberMemberusgaapPropertyPlantAndEquipmentByTypeAxis_MaximumMembersrtRangeAxis">P8Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="P01_01_2020To12_31_2020_ComputerHardwareAndSoftwareMemberMemberusgaapPropertyPlantAndEquipmentByTypeAxis_MaximumMembersrtRangeAxis">P7Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:EarningsPerSharePolicyTextBlock contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Earnings Per Share &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;Basic earnings per share is computed by dividing net income available to common shareholders by the weighted average number of common shares outstanding during the period. Diluted earnings per share is computed by dividing net income available to common shareholders by the weighted-average number of common shares and dilutive common share equivalents then outstanding. Potential common share equivalents consist of restricted stock awards and the incremental common shares issuable upon the exercise of stock options and warrants. Under the treasury stock method, unexercised &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#x201c;in-the-money&#x201d;&lt;/div&gt;&lt;/div&gt; stock options are assumed to be exercised at the beginning of the period or at issuance, if later. The assumed proceeds are then used to purchase common shares at the average market price during the period. In periods when the Company has a net loss, stock awards are excluded from the calculation of earnings per share as their inclusion would have an antidilutive effect. &lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;A reconciliation of basic and diluted share amounts is as follows: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 73%;"/&gt;
&lt;td style="width: 2%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 2%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 2%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;For the Years Ended&lt;br/&gt; December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&#160;&#160;&#160;2020&#160;&#160;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&#160;&#160;&#160;2019&#160;&#160;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&#160;&#160;&#160;2018&#160;&#160;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="10" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts&#160;in&#160;thousands,&#160;except&lt;br/&gt; per&#160;share&#160;data)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Net income&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;59,926&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;21,411&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;16,617&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Weighted average shares used in computing net income per share - basic&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;52,554&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;48,343&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;43,767&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Effect of dilutive shares:&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Options and stock units&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;971&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;864&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;581&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Convertible senior notes&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;367&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,123&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Dilutive potential common shares&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,338&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;864&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,704&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Weighted average shares used in computing net income per share - diluted&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;53,892&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;49,206&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;45,471&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Earnings per share:&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Basic&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1.14&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.44&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.38&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Diluted&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1.11&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.44&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.37&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;  &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;At December&#160;31, 2020, there were outstanding options to purchase 696,711 shares of the Company&#x2019;s common stock at a weighted average exercise price of $43.88 per share and 665,540 shares of common stock issuable upon the vesting of stock units which include restricted stock units and performance stock units. For the year ended December&#160;31, 2020, 98,048 shares of the Company&#x2019;s common stock were excluded from the calculation of diluted earnings per share because they would have had an anti-dilutive effect. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;At December&#160;31, 2019, there were outstanding options to purchase 957,559 shares of the Company&#x2019;s common stock at a weighted average exercise price of $30.81 per share and 734,984 shares of common stock issuable upon the vesting of stock units. For the year ended December&#160;31, 2019, 104,316 shares of the Company&#x2019;s common stock were excluded from the calculation of diluted earnings per share because the exercise prices of the stock options were greater than or equal to the average price of the common shares and were therefore, anti-dilutive. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;At December&#160;31, 2018, there were outstanding options to purchase 998,226 shares of the Company&#x2019;s common stock at a weighted average exercise price of $27.54 per share and 705,413 shares of common stock issuable upon the vesting of stock units. For the year ended December&#160;31, 2017, 479,854 shares of the Company&#x2019;s common stock were excluded from the calculation of diluted earnings per share because the exercise prices of the stock options were greater than or equal to the average price of the common shares and were therefore, anti-dilutive. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;As provided by the terms of the indenture underlying the senior convertible notes, the Company has a choice to settle the conversion obligation for the 2019 Notes in cash, shares or any combination of the two.&#160;The Company currently intends to settle the par value of the 2019 Notes in cash and any excess conversion premium in shares. The Company applies the provisions of ASC 260, &lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;&#x201c;Earnings Per Share&#x201d;,&lt;/div&gt;&lt;/div&gt; Subsection &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;10-45-44,&lt;/div&gt;&lt;/div&gt; to determine the diluted weighted average shares outstanding as it relates to the conversion spread on its convertible notes. Accordingly, the par value of the 2019 Notes is not included in the calculation of diluted income per share, but the dilutive effect of the conversion premium is considered in the calculation of diluted net income per share using the treasury stock method. The dilutive impact of the 2019 Notes is based on the difference between the Company&#x2019;s current period average stock price and the conversion price of the convertible notes, provided there is a premium. Pursuant to this accounting standard, there is no dilution from the accreted principal of the 2019 Notes. For the years ended December&#160;31, 2020 and 2019, the dilutive effect of the conversion premium included in the calculation of diluted earnings was 366,534 shares and 1,123,139 shares, respectively. There was no dilutive effect of the conversion premium included in the calculation of diluted earnings per share for the year ended December&#160;31, 2019. &lt;/div&gt; </us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;A reconciliation of basic and diluted share amounts is as follows: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 73%;"/&gt;
&lt;td style="width: 2%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 2%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 2%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;For the Years Ended&lt;br/&gt; December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&#160;&#160;&#160;2020&#160;&#160;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&#160;&#160;&#160;2019&#160;&#160;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&#160;&#160;&#160;2018&#160;&#160;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="10" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts&#160;in&#160;thousands,&#160;except&lt;br/&gt; per&#160;share&#160;data)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Net income&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;59,926&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;21,411&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;16,617&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Weighted average shares used in computing net income per share - basic&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;52,554&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;48,343&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;43,767&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Effect of dilutive shares:&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Options and stock units&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;971&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;864&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;581&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Convertible senior notes&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;367&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,123&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Dilutive potential common shares&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,338&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;864&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,704&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Weighted average shares used in computing net income per share - diluted&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;53,892&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;49,206&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;45,471&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Earnings per share:&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Basic&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1.14&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.44&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.38&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Diluted&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1.11&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.44&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.37&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; </us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLoss
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">59926000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">21411000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">16617000</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_shares">52554000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_shares">48343000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_shares">43767000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesRestrictedStock
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_shares">971000</us-gaap:WeightedAverageNumberOfSharesRestrictedStock>
    <us-gaap:WeightedAverageNumberOfSharesRestrictedStock
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_shares">864000</us-gaap:WeightedAverageNumberOfSharesRestrictedStock>
    <us-gaap:WeightedAverageNumberOfSharesRestrictedStock
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_shares">581000</us-gaap:WeightedAverageNumberOfSharesRestrictedStock>
    <us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_shares">367000</us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities>
    <us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_shares">1123000</us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_shares">1338000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_shares">864000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_shares">1704000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_shares">53892000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_shares">49206000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_shares">45471000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic
      contextRef="P01_01_2020To12_31_2020"
      decimals="2"
      unitRef="Unit_USD_per_Share">1.14</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="P01_01_2019To12_31_2019"
      decimals="2"
      unitRef="Unit_USD_per_Share">0.44</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="P01_01_2018To12_31_2018"
      decimals="2"
      unitRef="Unit_USD_per_Share">0.38</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="P01_01_2020To12_31_2020"
      decimals="2"
      unitRef="Unit_USD_per_Share">1.11</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="P01_01_2019To12_31_2019"
      decimals="2"
      unitRef="Unit_USD_per_Share">0.44</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="P01_01_2018To12_31_2018"
      decimals="2"
      unitRef="Unit_USD_per_Share">0.37</us-gaap:EarningsPerShareDiluted>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="PAsOn12_31_2020_OptionToPurchaseCommonStockMemberusgaapAwardTypeAxis"
      decimals="INF"
      unitRef="Unit_shares">696711</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="PAsOn12_31_2020"
      decimals="2"
      unitRef="Unit_USD_per_Share">43.88</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="PAsOn12_31_2020_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis"
      decimals="INF"
      unitRef="Unit_shares">665540</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="P01_01_2020To12_31_2020"
      decimals="0"
      unitRef="Unit_shares">98048</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="PAsOn12_31_2019_OptionToPurchaseCommonStockMemberusgaapAwardTypeAxis"
      decimals="INF"
      unitRef="Unit_shares">957559</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="PAsOn12_31_2019_OptionToPurchaseCommonStockMemberusgaapAwardTypeAxis"
      decimals="2"
      unitRef="Unit_USD_per_Share">30.81</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="PAsOn12_31_2019_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis"
      decimals="INF"
      unitRef="Unit_shares">734984</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="P01_01_2019To12_31_2019"
      decimals="0"
      unitRef="Unit_shares">104316</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="PAsOn12_31_2018_OptionToPurchaseCommonStockMemberusgaapAwardTypeAxis"
      decimals="INF"
      unitRef="Unit_shares">998226</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="PAsOn12_31_2018_OptionToPurchaseCommonStockMemberusgaapAwardTypeAxis"
      decimals="2"
      unitRef="Unit_USD_per_Share">27.54</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="PAsOn12_31_2018_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis"
      decimals="INF"
      unitRef="Unit_shares">705413</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="P01_01_2017To12_31_2017"
      decimals="0"
      unitRef="Unit_shares">479854</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities
      contextRef="P01_01_2020To12_31_2020"
      decimals="0"
      unitRef="Unit_shares">366534</us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities>
    <us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities
      contextRef="P01_01_2019To12_31_2019"
      decimals="0"
      unitRef="Unit_shares">1123139</us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities>
    <us-gaap:SegmentReportingPolicyPolicyTextBlock contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Segment Reporting &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The Company views its operations, makes decisions regarding how to allocate resources and manages its business as one reportable segment and one reporting unit. As a result, the financial information disclosed herein represents all of the material financial information related to the Company. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 4%;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The following table represents product revenues by product line: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 61%;"/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;For the Years Ended December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2020&lt;div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:7.5px"&gt;(1)&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2019&lt;div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:7.5px"&gt;(2)&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2018&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="10" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts in thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Filtration products&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;174,896&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;119,534&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;90,586&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Chromatography products&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;73,551&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;64,635&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;45,326&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Process analytics products&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;33,346&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;16,405&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Proteins products&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;80,732&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;65,124&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;54,375&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Other&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;3,611&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;4,399&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;3,604&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total product revenue&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;366,136&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;270,097&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;193,891&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style="clear: both; max-height: 0px; background: none;"/&gt; &lt;div style="width: 11%; line-height: 8pt; margin-top: 0pt; margin-bottom: 2pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="page-break-inside: avoid;"&gt;
&lt;td style="width: 4%; vertical-align: top;;text-align:left;"&gt;(1)&lt;/td&gt;
&lt;td style="vertical-align: top;;text-align:left;"&gt; &lt;div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2020 revenue for filtration products includes revenue related to EMT from July&#160;13, 2020, NMS from October&#160;20, 2020 and ARTeSYN from December&#160;3, 2020. &lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style="clear: both; max-height: 0px; background: none;"/&gt;
&lt;table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="page-break-inside: avoid;"&gt;
&lt;td style="width: 4%; vertical-align: top;;text-align:left;"&gt;(2)&lt;/td&gt;
&lt;td style="vertical-align: top;;text-align:left;"&gt; &lt;div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2019 revenue for process analytics products includes revenue related to C Technologies from May&#160;31, 2019 through December&#160;31, 2019. &lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;  &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Revenue from filtration products includes the XCell ATF systems and consumables as well as the KrosFlo and SIUS filtration products. Revenue from chromatography products includes the OPUS chromatography PPCs, chromatography resins and ELISA test kits. Revenue from process analytics products includes the SoloVPE and FlowVPE devices. Revenue from protein products includes the Protein A affinity ligands and cell culture growth factors. Other revenue primarily consists of revenue from the sale of operating room products to hospitals as well as freight revenue. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The following table represents the Company&#x2019;s total revenue by geographic area (based on the location of the customer): &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 57%;"/&gt;
&lt;td style="width: 11%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 10%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 10%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;For the Years Ended&lt;br/&gt; December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&#160;&#160;&#160;2020&#160;&#160;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&#160;&#160;&#160;2019&#160;&#160;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&#160;&#160;&#160;2018&#160;&#160;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Revenue by customers&#x2019; geographic locations:&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;North America&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;48&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;51&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;48&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Europe&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;38&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;37&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;40&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;APAC/Other&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;14&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;12&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;12&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total revenue&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;100&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;100&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;100&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The following table represents the Company&#x2019;s total assets by geographic area: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 60%;"/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2019&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts in thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total assets by geographic locations:&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;North America&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,697,149&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,260,217&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Europe&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;188,698&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;133,599&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;APAC&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;17,040&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;6,297&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total assets by geographic location&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,902,887&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,400,113&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The following table represents the Company&#x2019;s long-lived assets by geographic area: &lt;/div&gt;&lt;/div&gt;&lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 70%;"/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2019&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts in&lt;br/&gt; thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Long-lived assets by geographic locations:&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;North America&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;78,429&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;66,756&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Europe&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;12,918&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;6,775&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;APAC&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,272&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;869&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total long-lived assets by geographic location&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;92,619&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;74,400&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:SegmentReportingPolicyPolicyTextBlock>
    <us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 4%;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The following table represents product revenues by product line: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 61%;"/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;For the Years Ended December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2020&lt;div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:7.5px"&gt;(1)&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2019&lt;div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:7.5px"&gt;(2)&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2018&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="10" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts in thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Filtration products&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;174,896&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;119,534&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;90,586&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Chromatography products&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;73,551&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;64,635&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;45,326&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Process analytics products&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;33,346&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;16,405&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Proteins products&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;80,732&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;65,124&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;54,375&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Other&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;3,611&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;4,399&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;3,604&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total product revenue&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;366,136&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;270,097&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;193,891&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style="clear: both; max-height: 0px; background: none;"/&gt; &lt;div style="width: 11%; line-height: 8pt; margin-top: 0pt; margin-bottom: 2pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="page-break-inside: avoid;"&gt;
&lt;td style="width: 4%; vertical-align: top;;text-align:left;"&gt;(1)&lt;/td&gt;
&lt;td style="vertical-align: top;;text-align:left;"&gt; &lt;div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2020 revenue for filtration products includes revenue related to EMT from July&#160;13, 2020, NMS from October&#160;20, 2020 and ARTeSYN from December&#160;3, 2020. &lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style="clear: both; max-height: 0px; background: none;"/&gt;
&lt;table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="page-break-inside: avoid;"&gt;
&lt;td style="width: 4%; vertical-align: top;;text-align:left;"&gt;(2)&lt;/td&gt;
&lt;td style="vertical-align: top;;text-align:left;"&gt; &lt;div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2019 revenue for process analytics products includes revenue related to C Technologies from May&#160;31, 2019 through December&#160;31, 2019. &lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; </us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P01_01_2020To12_31_2020_FiltrationProductsMembersrtProductOrServiceAxis"
      decimals="-3"
      id="Fact_18476001"
      unitRef="Unit_USD">174896000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P01_01_2019To12_31_2019_FiltrationProductsMembersrtProductOrServiceAxis"
      decimals="-3"
      id="Fact_18476002"
      unitRef="Unit_USD">119534000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P01_01_2018To12_31_2018_FiltrationProductsMembersrtProductOrServiceAxis"
      decimals="-3"
      unitRef="Unit_USD">90586000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P01_01_2020To12_31_2020_ChromatographyProductsMembersrtProductOrServiceAxis"
      decimals="-3"
      id="Fact_18476004"
      unitRef="Unit_USD">73551000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P01_01_2019To12_31_2019_ChromatographyProductsMembersrtProductOrServiceAxis"
      decimals="-3"
      id="Fact_18476005"
      unitRef="Unit_USD">64635000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P01_01_2018To12_31_2018_ChromatographyProductsMembersrtProductOrServiceAxis"
      decimals="-3"
      unitRef="Unit_USD">45326000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P01_01_2020To12_31_2020_ProcessAnalyticsProductsMembersrtProductOrServiceAxis"
      decimals="-3"
      id="Fact_18476007"
      unitRef="Unit_USD">33346000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P01_01_2019To12_31_2019_ProcessAnalyticsProductsMembersrtProductOrServiceAxis"
      decimals="-3"
      id="Fact_18476008"
      unitRef="Unit_USD">16405000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P01_01_2020To12_31_2020_ProteinsProductsMembersrtProductOrServiceAxis"
      decimals="-3"
      id="Fact_18476009"
      unitRef="Unit_USD">80732000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P01_01_2019To12_31_2019_ProteinsProductsMembersrtProductOrServiceAxis"
      decimals="-3"
      id="Fact_18476010"
      unitRef="Unit_USD">65124000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P01_01_2018To12_31_2018_ProteinsProductsMembersrtProductOrServiceAxis"
      decimals="-3"
      unitRef="Unit_USD">54375000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P01_01_2020To12_31_2020_OtherProductsMembersrtProductOrServiceAxis"
      decimals="-3"
      id="Fact_18476012"
      unitRef="Unit_USD">3611000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P01_01_2019To12_31_2019_OtherProductsMembersrtProductOrServiceAxis"
      decimals="-3"
      id="Fact_18476013"
      unitRef="Unit_USD">4399000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P01_01_2018To12_31_2018_OtherProductsMembersrtProductOrServiceAxis"
      decimals="-3"
      unitRef="Unit_USD">3604000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P01_01_2020To12_31_2020_ProductMembersrtProductOrServiceAxis"
      decimals="-3"
      id="Fact_18476015"
      unitRef="Unit_USD">366136000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P01_01_2019To12_31_2019_ProductMembersrtProductOrServiceAxis"
      decimals="-3"
      id="Fact_18476016"
      unitRef="Unit_USD">270097000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P01_01_2018To12_31_2018_ProductMembersrtProductOrServiceAxis"
      decimals="-3"
      unitRef="Unit_USD">193891000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock contextRef="P01_01_2020To12_31_2020_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The following table represents the Company&#x2019;s total revenue by geographic area (based on the location of the customer): &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 57%;"/&gt;
&lt;td style="width: 11%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 10%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 10%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;For the Years Ended&lt;br/&gt; December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&#160;&#160;&#160;2020&#160;&#160;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&#160;&#160;&#160;2019&#160;&#160;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&#160;&#160;&#160;2018&#160;&#160;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Revenue by customers&#x2019; geographic locations:&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;North America&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;48&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;51&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;48&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Europe&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;38&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;37&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;40&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;APAC/Other&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;14&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;12&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;12&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total revenue&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;100&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;100&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;100&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; </us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="P01_01_2020To12_31_2020_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_NorthAmericaMembersrtStatementGeographicalAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis"
      decimals="2"
      unitRef="Unit_pure">0.48</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="P01_01_2019To12_31_2019_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_NorthAmericaMembersrtStatementGeographicalAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis"
      decimals="2"
      unitRef="Unit_pure">0.51</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="P01_01_2018To12_31_2018_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_NorthAmericaMembersrtStatementGeographicalAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis"
      decimals="2"
      unitRef="Unit_pure">0.48</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="P01_01_2020To12_31_2020_EuropeMembersrtStatementGeographicalAxis_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis"
      decimals="2"
      unitRef="Unit_pure">0.38</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="P01_01_2019To12_31_2019_EuropeMembersrtStatementGeographicalAxis_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis"
      decimals="2"
      unitRef="Unit_pure">0.37</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="P01_01_2018To12_31_2018_EuropeMembersrtStatementGeographicalAxis_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis"
      decimals="2"
      unitRef="Unit_pure">0.40</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="P01_01_2020To12_31_2020_APACOtherMembersrtStatementGeographicalAxis_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis"
      decimals="2"
      unitRef="Unit_pure">0.14</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="P01_01_2019To12_31_2019_APACOtherMembersrtStatementGeographicalAxis_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis"
      decimals="2"
      unitRef="Unit_pure">0.12</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="P01_01_2018To12_31_2018_APACOtherMembersrtStatementGeographicalAxis_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis"
      decimals="2"
      unitRef="Unit_pure">0.12</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="P01_01_2020To12_31_2020_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis"
      decimals="2"
      unitRef="Unit_pure">1</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="P01_01_2019To12_31_2019_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis"
      decimals="2"
      unitRef="Unit_pure">1</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="P01_01_2018To12_31_2018_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis"
      decimals="2"
      unitRef="Unit_pure">1</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The following table represents the Company&#x2019;s total assets by geographic area: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 60%;"/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2019&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts in thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total assets by geographic locations:&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;North America&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,697,149&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,260,217&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Europe&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;188,698&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;133,599&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;APAC&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;17,040&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;6,297&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total assets by geographic location&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,902,887&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,400,113&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; </us-gaap:ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock>
    <us-gaap:Assets
      contextRef="PAsOn12_31_2020_NorthAmericaMembersrtStatementGeographicalAxis"
      decimals="-3"
      unitRef="Unit_USD">1697149000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="PAsOn12_31_2019_NorthAmericaMembersrtStatementGeographicalAxis"
      decimals="-3"
      unitRef="Unit_USD">1260217000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="PAsOn12_31_2020_EuropeMembersrtStatementGeographicalAxis"
      decimals="-3"
      unitRef="Unit_USD">188698000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="PAsOn12_31_2019_EuropeMembersrtStatementGeographicalAxis"
      decimals="-3"
      unitRef="Unit_USD">133599000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="PAsOn12_31_2020_APACMembersrtStatementGeographicalAxis"
      decimals="-3"
      unitRef="Unit_USD">17040000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="PAsOn12_31_2019_APACMembersrtStatementGeographicalAxis"
      decimals="-3"
      unitRef="Unit_USD">6297000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">1902887000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">1400113000</us-gaap:Assets>
    <us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The following table represents the Company&#x2019;s long-lived assets by geographic area: &lt;/div&gt;&lt;/div&gt;&lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 70%;"/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2019&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts in&lt;br/&gt; thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Long-lived assets by geographic locations:&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;North America&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;78,429&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;66,756&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Europe&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;12,918&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;6,775&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;APAC&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,272&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;869&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total long-lived assets by geographic location&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;92,619&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;74,400&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock>
    <rgen:AssetsNonCurrentExcludingDifferedTaxAssets
      contextRef="PAsOn12_31_2020_NorthAmericaMembersrtStatementGeographicalAxis"
      decimals="-3"
      unitRef="Unit_USD">78429000</rgen:AssetsNonCurrentExcludingDifferedTaxAssets>
    <rgen:AssetsNonCurrentExcludingDifferedTaxAssets
      contextRef="PAsOn12_31_2019_NorthAmericaMembersrtStatementGeographicalAxis"
      decimals="-3"
      unitRef="Unit_USD">66756000</rgen:AssetsNonCurrentExcludingDifferedTaxAssets>
    <rgen:AssetsNonCurrentExcludingDifferedTaxAssets
      contextRef="PAsOn12_31_2020_EuropeMembersrtStatementGeographicalAxis"
      decimals="-3"
      unitRef="Unit_USD">12918000</rgen:AssetsNonCurrentExcludingDifferedTaxAssets>
    <rgen:AssetsNonCurrentExcludingDifferedTaxAssets
      contextRef="PAsOn12_31_2019_EuropeMembersrtStatementGeographicalAxis"
      decimals="-3"
      unitRef="Unit_USD">6775000</rgen:AssetsNonCurrentExcludingDifferedTaxAssets>
    <rgen:AssetsNonCurrentExcludingDifferedTaxAssets
      contextRef="PAsOn12_31_2020_APACMembersrtStatementGeographicalAxis"
      decimals="-3"
      unitRef="Unit_USD">1272000</rgen:AssetsNonCurrentExcludingDifferedTaxAssets>
    <rgen:AssetsNonCurrentExcludingDifferedTaxAssets
      contextRef="PAsOn12_31_2019_APACMembersrtStatementGeographicalAxis"
      decimals="-3"
      unitRef="Unit_USD">869000</rgen:AssetsNonCurrentExcludingDifferedTaxAssets>
    <rgen:AssetsNonCurrentExcludingDifferedTaxAssets
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">92619000</rgen:AssetsNonCurrentExcludingDifferedTaxAssets>
    <rgen:AssetsNonCurrentExcludingDifferedTaxAssets
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">74400000</rgen:AssetsNonCurrentExcludingDifferedTaxAssets>
    <us-gaap:ConcentrationRiskCreditRisk contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Concentrations of Credit Risk and Significant Customers &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Financial instruments that subject the Company to significant concentrations of credit risk primarily consist of cash and cash equivalents, marketable securities and accounts receivable. Per the Company&#x2019;s investment policy, cash equivalents and marketable securities are invested in financial instruments with high credit ratings and credit exposure to any one issue, issuer (with the exception of U.S. Treasury obligations) and type of instrument is limited. At December&#160;31, 2020 and 2019, the Company had no investments associated with foreign exchange contracts, options contracts or other foreign hedging arrangements. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;Concentration of credit risk with respect to accounts receivable is limited to customers to whom the Company makes significant sales. While a reserve for the potential &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;write-off&lt;/div&gt; of accounts receivable is maintained, the Company has not written off any significant accounts to date. To control credit risk, the Company performs regular credit evaluations of its customers&#x2019; financial condition. &lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Revenue from significant customers that represent 10% or more of the Company&#x2019;s total revenue is as follows: &lt;/div&gt;&lt;/div&gt;&lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 8pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 57%;"/&gt;
&lt;td style="width: 13%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 12%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 12%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;For the Years Ended&lt;br/&gt; December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&#160;&#160;&#160;2020&#160;&#160;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&#160;&#160;&#160;2019&#160;&#160;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&#160;&#160;&#160;2018&#160;&#160;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;MilliporeSigma&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;11&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;13&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;15&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Cytiva (formerly GE Healthcare)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;N/A&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;12&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;15&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="clear: both; max-height: 0px; background: none;"/&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Significant accounts receivable balances representing 10% or more of the Company&#x2019;s total trade accounts receivable and royalties and other receivable balances at December&#160;31, 2020 and 2019, include the accounts receivable balance with Cytiva (formerly GE Healthcare), which represented 11% and 18%, respectively of the Company&#x2019;s total trade accounts receivable and royalties and other receivable balances. &lt;/div&gt;&lt;/div&gt;</us-gaap:ConcentrationRiskCreditRisk>
    <us-gaap:ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Revenue from significant customers that represent 10% or more of the Company&#x2019;s total revenue is as follows: &lt;/div&gt;&lt;/div&gt;&lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 8pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 57%;"/&gt;
&lt;td style="width: 13%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 12%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 12%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;For the Years Ended&lt;br/&gt; December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&#160;&#160;&#160;2020&#160;&#160;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&#160;&#160;&#160;2019&#160;&#160;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&#160;&#160;&#160;2018&#160;&#160;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;MilliporeSigma&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;11&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;13&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;15&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Cytiva (formerly GE Healthcare)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;N/A&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;12&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;15&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="P01_01_2020To12_31_2020_CustomerConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_MilliporeSigmaMembersrtMajorCustomersAxis_SalesRevenueNetMemberusgaapConcentrationRiskByBenchmarkAxis"
      decimals="2"
      unitRef="Unit_pure">0.11</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="P01_01_2019To12_31_2019_CustomerConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_MilliporeSigmaMembersrtMajorCustomersAxis_SalesRevenueNetMemberusgaapConcentrationRiskByBenchmarkAxis"
      decimals="2"
      unitRef="Unit_pure">0.13</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="P01_01_2017To12_31_2017_CustomerConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_MilliporeSigmaMembersrtMajorCustomersAxis_SalesRevenueNetMemberusgaapConcentrationRiskByBenchmarkAxis"
      decimals="2"
      unitRef="Unit_pure">0.15</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="P01_01_2019To12_31_2019_CustomerConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_CytivaMembersrtMajorCustomersAxis_SalesRevenueNetMemberusgaapConcentrationRiskByBenchmarkAxis"
      decimals="2"
      unitRef="Unit_pure">0.12</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="P01_01_2017To12_31_2017_CustomerConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_CytivaMembersrtMajorCustomersAxis_SalesRevenueNetMemberusgaapConcentrationRiskByBenchmarkAxis"
      decimals="2"
      unitRef="Unit_pure">0.15</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="P01_01_2019To12_31_2019_AccountsReceivableMemberusgaapConcentrationRiskByBenchmarkAxis"
      decimals="2"
      unitRef="Unit_pure">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="P01_01_2020To12_31_2020_AccountsReceivableMemberusgaapConcentrationRiskByBenchmarkAxis_CustomerConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_CytivaMembersrtMajorCustomersAxis"
      decimals="2"
      unitRef="Unit_pure">0.11</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="P01_01_2019To12_31_2019_AccountsReceivableMemberusgaapConcentrationRiskByBenchmarkAxis_CustomerConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_CytivaMembersrtMajorCustomersAxis"
      decimals="2"
      unitRef="Unit_pure">0.18</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Business Combinations, Goodwill and Intangible Assets &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Business Combinations &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total consideration transferred for acquisitions is allocated to the tangible and intangible assets acquired and liabilities assumed, if any, based on their fair values at the dates of acquisition. This purchase price allocation process requires management to make significant estimates and assumptions with respect to intangible assets and deferred revenue. The fair value of identifiable intangible assets is based on detailed valuations that use information and assumptions determined by management. Any excess of purchase price over the fair value of the net tangible and intangible assets acquired is allocated to &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;goodwill. While the Company uses its best estimates and assumptions to accurately value assets acquired and liabilities assumed at the acquisition date as well as any contingent consideration, where applicable, that the Company&#x2019;s estimates are inherently uncertain and subject to refinement. As a result, during the measurement period, which may be up to one year from the acquisition date, the Company records adjustments to the assets acquired and liabilities assumed with the corresponding offset to goodwill. Upon conclusion of the measurement period or final determination of the values of assets acquired or liabilities assumed, whichever comes first, any subsequent adjustments are recorded to the Company&#x2019;s consolidated statements of comprehensive income. Any excess of the fair value of the net tangible and intangible assets acquired over the purchase price is recognized in the consolidated statements of comprehensive income. The fair value of contingent consideration includes estimates and judgments made by management regarding the probability that future contingent payments will be made and the extent of royalties to be earned in excess of the defined minimum royalties. Management updates these estimates and the related fair value of contingent consideration at each reporting period. During the measurement period, these changes in the fair value of contingent consideration are recorded to goodwill. Subsequent to the end of the measurement period, they will be recorded in the consolidated statements of comprehensive income. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;The Company uses the income approach to determine the fair value of certain identifiable intangible assets including customer relationships and developed technology. This approach determines fair value by estimating &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;after-tax&lt;/div&gt; cash flows attributable to these assets over their respective useful lives and then discounting these &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;after-tax&lt;/div&gt; cash flows back to a present value. The Company bases its assumptions on estimates of future cash flows, expected growth rates, expected trends in technology, etc. Discount rates used to arrive at a present value as of the date of acquisition are based on the time value of money and certain industry-specific risk factors. &lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Goodwill &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Goodwill is not amortized and is reviewed for impairment at least annually at the reporting unit level. As of December&#160;31, 2018, the Company concluded that it operated as two reporting units and performed the 2018 goodwill impairment test using two reporting units. In 2019, the Company reorganized its reporting structure and changed the way the CODM views the Company&#x2019;s operations and allocates its resources. Accordingly, the Company operates as one reporting unit as of the goodwill impairment measurement date of December&#160;31, 2020. During the qualitative assessment of the Company&#x2019;s one reporting unit during the 2020 goodwill impairment testing, it was determined that it was not more likely than not that its fair value was less than its carrying amount. As such, a quantitative impairment assessment was not required as of December&#160;31, 2020. If an event occurs or circumstances change that would more likely than not reduce the fair value of its reporting unit below its carrying value, the Company will evaluate its goodwill for impairment between annual tests. There was no impairment to goodwill and therefore no impairment charge recorded for the year ended December&#160;31, 2019. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Intangible Assets &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Intangible assets with a definite life are amortized over their useful lives using the straight-line method and the amortization expense is recorded within cost of product revenue, research and development and selling, general and administrative expense in the consolidated statements of comprehensive income. Intangible assets and their related useful lives are reviewed at least annually to determine if any adverse conditions exist that would indicate the carrying value of these assets may not be recoverable. More frequent impairment assessments are conducted if certain conditions exist, including a change in the competitive landscape, any internal decisions to pursue new or different technology strategies, a loss of a significant customer, or a significant change in the marketplace, including changes in the prices paid for the Company&#x2019;s products or changes in the size of the market for the Company&#x2019;s products. If impairment indicators are present, the Company determines whether the underlying intangible asset is &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;recoverable through estimated future undiscounted cash flows. If the asset is not found to be recoverable, it is written down to the estimated fair value of the asset based on the sum of the future discounted cash flows expected to result from the use and disposition of the asset. If the estimate of an intangible asset&#x2019;s remaining useful life is changed, the remaining carrying amount of the intangible asset is amortized prospectively over the revised remaining useful life. The Company continues to believe that its definite-lived intangible assets are recoverable at December&#160;31, 2020. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Indefinite-lived intangible assets are reviewed for impairment at least annually. There has been no impairment of our intangible assets for the periods presented. &lt;/div&gt;&lt;/div&gt;</us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock>
    <us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Stock Based Compensation &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The Company measures stock-based compensation cost at the grant date based on the estimated fair value of the award and recognizes it as expense over the employee&#x2019;s requisite service period on a straight-line basis. The Company records the expense for share-based awards subject to performance-based milestone vesting over the remaining service period when management determines that achievement of the milestone is probable. Management evaluates whether the achievement of a performance-based milestone is probable as of the reporting date. The Company has no awards that are subject to market conditions. The Company recognizes stock-based compensation expense based upon options that are ultimately expected to vest, and accordingly, such compensation expense has been adjusted by an amount of estimated forfeitures. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The Company uses the Black-Scholes option pricing model to calculate the fair value of share-based awards on the grant date.&#160;The following assumptions are used in calculating the fair value of share-based awards: &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Expected term&lt;/div&gt;&lt;/div&gt; &#x2013; The expected term of options granted represents the period of time for which the options are expected to be outstanding. For purposes of estimating the expected term, the Company has aggregated all individual option awards into one group as the Company does not expect substantial differences in exercise behavior among its employees. &lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Expected volatility&lt;/div&gt;&lt;/div&gt; &#x2013; The expected volatility is a measure of the amount by which the Company&#x2019;s stock price is expected to fluctuate during the expected term of options granted. The Company determines the expected volatility based primarily upon the historical volatility of the Company&#x2019;s common stock over a period commensurate with the option&#x2019;s expected term. &lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Risk-free interest rate&lt;/div&gt;&lt;/div&gt; &#x2013; The risk-free interest rate is the implied yield available on U.S. Treasury &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;zero-coupon&lt;/div&gt; issues with a remaining term equal to the option&#x2019;s expected term on the grant date. &lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Expected dividend yield&lt;/div&gt;&lt;/div&gt; &#x2013; The Company has never declared or paid any cash dividends on any of its capital stock and does not expect to do so in the foreseeable future.&#160;Accordingly, the Company uses an expected dividend yield of zero to calculate the grant-date fair value of a stock option. &lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Estimated forfeiture rates&lt;/div&gt;&lt;/div&gt; &#x2013; The Company has applied, based on an analysis of its historical forfeitures, annual forfeiture rates of 8% for awards granted to &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;non-executive&lt;/div&gt; level employees, 3% for awards granted to executive level employees and 0% for awards granted to &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;non-employee&lt;/div&gt; members of the Board of Directors to all unvested stock options as of December&#160;31, 2020. The Company reevaluates this analysis periodically and adjusts these estimated forfeiture rates as necessary. Ultimately, the Company will only recognize an expense for those shares that vest. &lt;/div&gt;</us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy>
    <rgen:PercentageOfSharesSubjectToForfeiture
      contextRef="PAsOn12_31_2020_EmployeeStockOptionMemberusgaapAwardTypeAxis_NonExecutiveMembersrtTitleOfIndividualAxis"
      decimals="2"
      unitRef="Unit_pure">0.08</rgen:PercentageOfSharesSubjectToForfeiture>
    <rgen:PercentageOfSharesSubjectToForfeiture
      contextRef="PAsOn12_31_2020_EmployeeStockOptionMemberusgaapAwardTypeAxis_ExecutiveOfficerMembersrtTitleOfIndividualAxis"
      decimals="2"
      unitRef="Unit_pure">0.03</rgen:PercentageOfSharesSubjectToForfeiture>
    <rgen:PercentageOfSharesSubjectToForfeiture
      contextRef="PAsOn12_31_2020_NonEmployeeDirectorStockOptionMemberusgaapAwardTypeAxis"
      decimals="2"
      unitRef="Unit_pure">0</rgen:PercentageOfSharesSubjectToForfeiture>
    <us-gaap:AdvertisingCostsPolicyTextBlock contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Advertising Costs &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The Company expenses advertising costs as they are incurred. Advertising expense for the years ended December&#160;31, 2020, 2019 and 2018 was $0.3&#160;million, $0.1&#160;million and $0.2&#160;million, respectively. &lt;/div&gt;&lt;/div&gt;</us-gaap:AdvertisingCostsPolicyTextBlock>
    <us-gaap:AdvertisingExpense
      contextRef="P01_01_2020To12_31_2020"
      decimals="-5"
      unitRef="Unit_USD">300000</us-gaap:AdvertisingExpense>
    <us-gaap:AdvertisingExpense
      contextRef="P01_01_2019To12_31_2019"
      decimals="-5"
      unitRef="Unit_USD">100000</us-gaap:AdvertisingExpense>
    <us-gaap:AdvertisingExpense
      contextRef="P01_01_2018To12_31_2018"
      decimals="-5"
      unitRef="Unit_USD">200000</us-gaap:AdvertisingExpense>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Recent Accounting Standards Updates &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;We consider the applicability and impact of all Accounting Standards Updates on the Company&#x2019;s consolidated financial statements. Updates not listed below were assessed and determined to be either not applicable or are expected to have minimal impact on the Company&#x2019;s consolidated financial position or results of operations. Recently issued Accounting Standards Updates that we feel may be applicable to the Company are as follows: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Recently Issued Accounting Standard Updates &#x2013; Adopted During the Period &lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;On May&#160;21, 2020, the SEC announced that it would adopt amendments to the financial disclosure requirements for acquisitions and dispositions of businesses in Rules &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;3-05,&lt;/div&gt; &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;3-14,&lt;/div&gt; &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;8-04,&lt;/div&gt; &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;8-05,&lt;/div&gt; &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;8-06,&lt;/div&gt; and Article 11 of Regulation &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;S-X,&lt;/div&gt; all of which relate to financial statement disclosure requirements. In conjunction with the changes to amendments to these rules, the SEC also amended the significance tests in the &#x201c;significant subsidiary&#x201d; definition in Rule &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;1-02(w),&lt;/div&gt; Securities Act Rule 405, and Exchange Act &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Rule&#160;12b-2&lt;/div&gt; to improve their application and to assist registrants in making more meaningful determinations of whether a subsidiary or an acquired or disposed of business is significant. &lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Specific changes to the significance test include changes to the investment test component, which compares the registrant&#x2019;s and its other subsidiaries&#x2019; investment in and advances to the tested subsidiary to the registrant&#x2019;s aggregate worldwide market value if available, instead of the registrant&#x2019;s total assets on a consolidated basis under the unamended Rule. The amendments also changed the income test component by adding a revenue component to it. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The amendments are effective on January&#160;1, 2021. However, voluntary compliance with the final amendments was permitted in advance of the effective date. As a result of the 2020 acquisitions of EMT, NMS and ARTeSYN, the Company voluntarily adopted the amendments prior to their effective date and determined the acquired businesses are not significant subsidiaries and therefore no separate financial statements are required. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;In August 2018, the Financial Accounting Standards Board (&#x201c;FASB&#x201d;) issued Accounting Standards Update No. (&#x201c;ASU&#x201d;) &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2018-13,&lt;/div&gt; &lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;&#x201c;Fair Value Measurement (Topic 820): Disclosure Framework &#x2013; Changes to the Disclosure Requirements for Fair Value Measurement.&#x201d; &lt;/div&gt;&lt;/div&gt;ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2018-13&lt;/div&gt; includes amendments that aim to improve the effectiveness of fair value measurement disclosures. The amendments in this guidance modify the disclosure requirements on fair value measurements based on the concepts in FASB Concepts Statement, &lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;&#x201c;Conceptual Framework for Financial Reporting&#x2014;Chapter 8: Notes to Financial Statements&lt;/div&gt;&lt;/div&gt;,&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;&#x201d;&lt;/div&gt;&lt;/div&gt; including the consideration of costs and benefits. The Company adopted ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2018-13&lt;/div&gt; on January&#160;1, 2020. The adoption did not have a material impact on the Company&#x2019;s consolidated financial statements as of and for the year ended December&#160;31, 2020. &lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;In August 2018, the FASB issued ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2018-15,&lt;/div&gt; &lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;&#x201c;Intangibles &#x2013; Goodwill and Other &#x2013; &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Internal-Use&lt;/div&gt; Software (Subtopic &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;350-40):&lt;/div&gt; Customer&#x2019;s Accounting for Implementation Costs Incurred in a Cloud Computing Arrangement That Is a Service Contract.&#x201d; &lt;/div&gt;&lt;/div&gt;ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2018-15&lt;/div&gt; aligns the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;internal-use&lt;/div&gt; software (and hosting arrangements that include an &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;internal-use&lt;/div&gt; software license). The guidance also requires the entity to expense the capitalized implementation costs of a hosting arrangement that is a service contract &lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;over the term of the hosting arrangement, which includes reasonably certain renewals. The Company adopted ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2018-13&lt;/div&gt; on January&#160;1, 2020. The adoption did not have a material impact on the Company&#x2019;s consolidated financial statements as of and for the year ended December&#160;31, 2020. &lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;In June 2016, the FASB issued ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2016-13,&lt;/div&gt; &#x201c;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Financial Instruments-Credit Losses (Topic 326).&#x201d;&lt;/div&gt;&lt;/div&gt; ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2016-13&lt;/div&gt; significantly changes how entities will account for credit losses for most financial assets and certain other instruments that are not measured at fair value through net income. ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2016-13&lt;/div&gt; replaces the existing incurred loss model with an expected credit loss model that requires entities to estimate an expected lifetime credit loss on most financial assets and certain other instruments, including short-term trade receivables and contract assets, and expands disclosure requirements for credit quality of financial assets. The Company adopted ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2016-13&lt;/div&gt; on January&#160;1, 2020. The Company assessed all potential impacts that the adoption of this guidance has on its consolidated financial statements. Based on the composition of the Company&#x2019;s investment portfolio, accounts receivable, current market conditions and historical credit loss activity, the adoption of ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2016-13&lt;/div&gt; by the Company did not have a material impact on its consolidated financial position, results of operations or cash flows as of and for the year ended December&#160;31, 2020. The Company continues to monitor processes and controls for indications of an adjustment for future economic conditions at quarterly and annual reporting periods. See Note 6, &lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;&#x201c;Credit Losses,&#x201d; &lt;/div&gt;&lt;/div&gt;below for more information on the Company&#x2019;s adoption of ASC 326. &lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;In November 2018, the FASB issued ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2018-18,&lt;/div&gt; &lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;&#x201c;Collaborative Arrangements (Topic 808): Clarifying the Interaction between Topic 808 and Topic 606.&#x201d; &lt;/div&gt;&lt;/div&gt;ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2018-18&lt;/div&gt; clarifies the interaction between Topic 808, &lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;&#x201c;Collaborative Arrangements,&#x201d; &lt;/div&gt;&lt;/div&gt;and Topic 606, &lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;&#x201c;Revenue from Contracts with Customers,&#x201d; &lt;/div&gt;&lt;/div&gt;by making targeted improvements to GAAP for collaborative arrangements and providing guidance on whether certain transactions between collaborative arrangement participants should be accounted for with revenue under Topic 606. This includes improving comparability in the presentation of revenue for certain transactions between collaborative arrangement participants by allowing presentation of the units of account in collaborative arrangements that are within the scope of Topic 606 together with revenue accounted for under Topic 606. The Company adopted ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2018-13&lt;/div&gt; on January&#160;1, 2020. The adoption did not have a material impact on the Company&#x2019;s consolidated financial statements as of and for the year ended December&#160;31, 2020. &lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;In December 2019, the FASB issued ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2019-12,&lt;/div&gt; &#x201c;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Income Taxes (Topic 740) &#x2013; Simplifying the Accounting for Income Taxes.&#x201d; &lt;/div&gt;&lt;/div&gt;ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2019-12&lt;/div&gt; simplifies the accounting for income taxes by removing certain exceptions to the general principles in Topic 740, including, but not limited to, the exception to the incremental approach for intraperiod tax allocation when there is a loss from continuing operations and income or a gain from other items, the exceptions related to the recognition of a deferred tax liability related to an equity method investment and the exception to methodology for calculating income taxes in an interim period when a &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;year-to-date&lt;/div&gt;&lt;/div&gt; loss exceeds the anticipated loss for the year. The Company adopted ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2018-13&lt;/div&gt; on January&#160;1, 2020. The adoption did not have a material impact on the Company&#x2019;s consolidated financial statements as of and for the year ended December&#160;31, 2020. &lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Recently Issued Accounting Standard Updates &#x2013; Not Yet Adopted &lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;In August 2020, the FASB issued ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2020-06,&lt;/div&gt; &#x201c;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Debt&#x2014;Debt with Conversion and Other Options (Subtopic &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;470-20)&lt;/div&gt; and Derivatives and Hedging&#x2014;Contracts in Entity&lt;/div&gt;&lt;/div&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;&#x2019;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;s Own Equity (Subtopic &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;815-40).&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;&#x201d;&lt;/div&gt;&lt;/div&gt; ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2020-06&lt;/div&gt; simplifies the accounting for convertible debt instruments and convertible preferred stock by reducing the number of accounting models and the number of embedded conversion features that could be recognized separately from the primary contract. ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2020-06&lt;/div&gt; also enhances transparency and improves disclosures for convertible instruments and earnings per share guidance. ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2020-06&lt;/div&gt; is effective for annual reporting periods beginning after December&#160;15, 2021, including interim periods within those fiscal years. Early adoption is permitted, but no earlier than fiscal years beginning after December&#160;15, 2020. This update permits the use of either the modified retrospective or fully &lt;/div&gt; retrospective method of transition. The Company is currently evaluating the timing and impact of the adoption of ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2020-06&lt;/div&gt; on the Company&#x2019;s consolidated financial statements.</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:BusinessCombinationDisclosureTextBlock contextRef="P01_01_2020To12_31_2020">
&lt;table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="page-break-inside: avoid;"&gt;
&lt;td style="width: 4%; vertical-align: top;;text-align:left;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;3.&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: top;;text-align:left;"&gt; &lt;div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Acquisitions &lt;/div&gt;&lt;/div&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt; &lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style="clear: both; max-height: 0px; background: none;"/&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;ARTeSYN Biosolutions Holdings Ireland Limited &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;On October&#160;27, 2020, the Company entered into an Equity and Asset Purchase Agreement with ARTeSYN, a company organized under the laws of Ireland, Third Creek Holdings, LLC, a Nevada limited liability company, Alphinity, LLC, a Nevada limited liability company (&#x201c;Alphinity&#x201d;, and together with Third Creek Holdings, LLC the &#x201c;Sellers&#x201d;), and Michael Gagne, solely in his capacity as the representative of the Sellers, pursuant to which the Company acquired (i)&#160;all of the outstanding equity securities of ARTeSYN and (ii)&#160;certain assets from Alphinity related to the business of ARTeSYN (collectively, the &#x201c;ARTeSYN Acquisition&#x201d;) for approximately $200&#160;million, comprised of approximately $130&#160;million in cash to the Sellers and approximately $70&#160;million in Repligen common stock to Third Creek. The transaction closed on December&#160;3, 2020. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;ARTeSYN is headquartered in Waterford, Ireland and conducts its operations in Ireland, the United States and Estonia. Its suite of &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;single-use&lt;/div&gt; solutions has been created with the goal of enabling &#x201c;abundance in medicine&#x201d; by allowing 10x greater efficiency in biologics manufacturing. The ARTeSYN team has created a number of solutions targeting the &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;single-use&lt;/div&gt; space from &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;single-use&lt;/div&gt; valves with fully disposable valve liners, XO&lt;div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px"&gt;&#xae;&lt;/div&gt; skeletal supports, a hybrid small parts offering for &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;de-bottlenecking&lt;/div&gt; traditional facilities, and fully automated SU process systems that have quickly become leading solutions in the bioprocessing industry. In addition to its &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;single-use&lt;/div&gt; solutions, ARTeSYN also engages in the manufacture of large-scale systems to be used for biologics manufacturing. ARTeSYN has established downstream processing leadership with a suite of state of the art &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;single-use&lt;/div&gt; systems for chromatography, filtration, continuous manufacturing and media/buffer prep workflows. In addition, the Company has integrated unique flow path assemblies utilizing Engineered Molding Technology LLC&#x2019;s (&#x201c;EMT&#x201d;) silicone extrusion and molding technology, to deliver highly differentiated, low &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;hold-up&lt;/div&gt; volume systems that minimize product loss during processing. &lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Consideration Transferred &lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;The ARTeSYN Acquisition was accounted for as a purchase of a business under ASC 805, &lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;&#x201c;Business Combinations&#x201d;&lt;/div&gt;&lt;/div&gt;. The ARTeSYN Acquisition was funded through payment of $130.7&#160;million in cash, as well as issuance of 372,990 unregistered shares of the Company&#x2019;s common stock totaling $69.4&#160;million, contingent consideration of approximately $1.5&#160;million, and settlement of preexisting invoices with Repligen of approximately $2.3&#160;million, for a total purchase price of $204.0&#160;million. Under the acquisition method of accounting, the assets acquired and liabilities assumed of ARTeSYN were recorded as of the acquisition date, at their respective fair values, and consolidated with those of Repligen. The fair value of the net tangible assets acquired is estimated to be $7.9&#160;million, the fair value of the intangible assets acquired is estimated to be $67.4&#160;million, and the residual goodwill is estimated to be $128.7&#160;&lt;div style="display:inline;"&gt;million. The estimated consideration and preliminary purchase price information has been prepared using a preliminary valuation. The final purchase price allocation will be completed upon payment of final consideration for working capital and other adjustments. The final allocation may include changes to: (1)&#160;deferred revenue; (2)&#160;inventory; (3) deferred tax liabilities, net; (4)&#160;allocations to intangible assets such as tradenames, developed technology and customer relationships as well as goodwill; (5)&#160;final consideration paid related to working capital adjustments; and (6)&#160;other assets and liabilities. &lt;/div&gt; &lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The preparation of the valuation required the use of significant assumptions and estimates. Critical estimates included, but were not limited to, future expected cash flows, including projected revenues and &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;expenses, and the applicable discount rates. These estimates were based on assumptions that Repligen believes to be reasonable. However, actual results may differ from these estimates. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total consideration transferred is as follows (amounts in thousands): &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 81%; font-family: ARIAL;"/&gt;
&lt;td style="width: 7%; vertical-align: bottom; font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Cash consideration&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;130,713&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Equity consideration&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;69,422&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Contingent consideration&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,548&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Settlement of preexisting liabilities&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;2,310&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Fair value of net assets acquired&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;203,993&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Acquisition related costs are not included as a component of consideration transferred but are expensed in the periods in which the costs are incurred. The Company incurred $4.0&#160;million in transaction costs associated with the ARTeSYN acquisition in 2020. The transaction costs are included in selling, general and administrative expenses in the consolidated statements of comprehensive income. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The consideration transferred includes $1.5&#160;million &lt;/div&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;related to consideration that was deferred at the acquisition date, with payment to the Sellers contingent upon recognizing revenue on a large-scale system within 120 days of the acquisition date. This consideration is recorded at its estimated fair value as of the acquisition date, which includes the assumption of high probability of such revenue being recognized. During the measurement period, which may be up to one year from the acquisition date, we may record adjustments to the assets acquired and liabilities assumed with the corresponding offset to goodwill. Upon conclusion of the measurement period or final determination of the values of assets acquired or liabilities assumed, whichever comes first, any subsequent adjustments are recorded to our consolidated statements of comprehensive income. &lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt; &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Fair Value of Net Assets Acquired &lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The preliminary allocation of purchase price is based on the fair value of assets acquired and liabilities assumed as of the acquisition date, based on the preliminary valuation. As additional information becomes available, the Company may further revise its preliminary purchase price allocation during the remainder of the measurement period (which will not exceed 12 months from December&#160;3, 2020). Any such revision or changes may be material. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The components and estimated allocation of the purchase price consists of the following amounts (amounts in thousands): &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 81%; font-family: ARIAL;"/&gt;
&lt;td style="width: 7%; vertical-align: bottom; font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Cash and cash equivalents&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;2,982&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Accounts receivable&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;4,811&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Inventory&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;8,592&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Prepaid expenses and other current assets&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;5,561&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Property and equipment&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,836&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Operating lease right of use asset&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,611&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Other noncurrent assets&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;26&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Customer relationships&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;38,400&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Developed technology&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;27,060&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Trademark and tradename&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,630&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Non-competition&lt;/div&gt; agreements&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;300&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Goodwill&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;128,658&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Accounts payable&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(2,161&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Accrued liabilities&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(8,856&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Deferred revenue&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(3,583&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Deferred tax liabilities, net&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(1,240&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Notes payable&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(24&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Operating lease liability&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(417&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Operating lease liability, long-term&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(1,193&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Fair value of net assets acquired&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;203,993&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Acquired Goodwill &lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The goodwill of $128.7&#160;million represents future economic benefits expected to arise from synergies from combining operations and commercial organizations to increase market presence and the extension of existing customer relationships. Substantially all of the goodwill recorded is expected to be deductible for income tax purposes. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Intangible Assets &lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The following table sets forth the components of the identified intangible assets associated with the ARTeSYN Acquisition and their estimated useful lives: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 51%;"/&gt;
&lt;td style="width: 14%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 14%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Useful&#160;life&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Fair&#160;Value&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts&#160;in&#160;thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Customer relationships&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;17 years&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;38,400&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Developed technology&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;15 years&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;27,060&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Trademark and tradename&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;21 years&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,630&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Non-competition&lt;/div&gt; agreements&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;3 years&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;300&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;67,390&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The preliminary purchase price allocation is subject to adjustment as purchase accounting is finalized. The final purchase price allocation will be determined upon completion of final valuation analysis, and the fair value allocation of assets acquired and liabilities assumed could differ materially from the preliminary valuation analysis. The final allocation may include changes to: (1)&#160;deferred revenue; (2)&#160;inventory; (3) deferred tax liabilities, net; (4)&#160;allocations to intangible assets such as tradenames, developed technology and customer relationships as well as goodwill; (5)&#160;final consideration paid related to working capital adjustments; and (6)&#160;other assets and liabilities. &lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt; &lt;/div&gt; &lt;div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;  &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Non-Metallic&lt;/div&gt; Solutions, Inc. &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;On October&#160;15, 2020, the Company executed a Stock Purchase Agreement with &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Non-Metallic&lt;/div&gt; Solutions, Inc. (&#x201c;NMS&#x201d;), a Massachusetts corporation, and each of William Mallone&#xe9; and Derek Masser, the legal and beneficial owners of NMS, to purchase NMS, which transaction subsequently closed on October&#160;20, 2020 (the &#x201c;NMS Acquisition&#x201d;). &lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;NMS, headquartered in Auburn, Massachusetts, is a manufacturer of fabricated plastics, custom containers, and related assemblies and components used in the manufacturing of biologic drugs. The acquisition of NMS allows Repligen to expand its line of &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;single-use&lt;/div&gt; systems and associated integrated flow path assemblies, streamline the supply chain for current products, and gives the Company more flexibility to scale and expand &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;single-use&lt;/div&gt; and systems portfolios. &lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Consideration Transferred &lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;The NMS Acquisition was accounted for as a purchase of a business under ASC 805, &lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;&#x201c;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Business Combinations.&lt;/div&gt;&lt;/div&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;&#x201d;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt; &lt;/div&gt;&lt;/div&gt;Total consideration paid was $16.2&#160;million, which included $1.3&#160;million deposited into an escrow account against which the Company may make claims for indemnification. As disclosed in the Quarterly Report on Form &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;10-Q&lt;/div&gt; for the period ended June&#160;30, 2020, the Company voluntarily adopted the amendments to financial disclosure requirements around the significance tests in the &#x201c;significant subsidiaries&#x201d; definition in Rule &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;1-02(w),&lt;/div&gt; Securities Act Rule 405, and Exchange Act Rule &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;12b-2.&lt;/div&gt; As a result, the Company determined that NMS is not a significant subsidiary and therefore no separate financial statements are required. The fair value of the net tangible assets acquired is estimated to be approximately $0.9&#160;million, the fair value of the intangible assets acquired is estimated to be $8.5&#160;million, and the residual goodwill is estimated to be approximately $6.8&#160;million. Acquisition-related costs are not included as a component of consideration transferred but are expensed in the periods in which costs are incurred. The Company incurred $0.2&#160;million of acquisition-related costs associated with the NMS Acquisition in 2020. The transaction costs are included in selling, general and administrative expenses in the consolidated statements of comprehensive income. &lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Fair Value of Net Assets Acquired &lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The preliminary allocation of purchase price is based on the fair value of assets acquired and liabilities assumed as of the acquisition date, based on the preliminary valuation. As additional information becomes available, the Company may further revise its preliminary purchase price allocation during the remainder of the measurement period (which will not exceed 12 months from October&#160;20, 2020). &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The components and estimated allocation of the purchase price consist of the following amounts (amounts in thousands): &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 83%; font-family: ARIAL;"/&gt;
&lt;td style="width: 7%; vertical-align: bottom; font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Cash and cash equivalents&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,163&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Accounts receivable&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;415&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Inventory&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;334&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Prepaid expenses and other current assets&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;13&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Property and equipment&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;73&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Operating lease right of use asset&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;194&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Customer relationships&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;6,370&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Developed technology&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,810&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Trademark and tradename&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;190&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Non-competition&lt;/div&gt; agreements&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;90&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Goodwill&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;6,784&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Deferred tax assets&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;24&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Accounts payable&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(96&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Accrued liabilities&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(999&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Operating lease liability&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(136&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Operating lease liability, long-term&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(59&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Fair value of net assets acquired&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;16,170&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;  &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Acquired Goodwill &lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The goodwill of $6.8&#160;million represents future economic benefits expected to arise from anticipated synergies from the integration of NMS. These synergies include certain cost savings, operating efficiencies and other strategic benefits projected to be achieved as a result of the NMS Acquisition. Substantially all of the goodwill recorded is expected to be deductible for income tax purposes. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Intangible Assets &lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The following table sets forth the components of the identified intangible assets associated with the NMS Acquisition and their estimated useful lives: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 51%;"/&gt;
&lt;td style="width: 15%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td style="white-space: nowrap;"/&gt;
&lt;td/&gt;
&lt;td style="width: 15%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0); white-space: nowrap;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Useful&#160;life&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Fair&#160;Value&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts&#160;in&#160;thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Customer relationships&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;14 years&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;6,370&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Developed technology&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;12 years&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,810&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Trademark and tradename&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;15 years&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;190&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Non-competition&lt;/div&gt; agreements&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;3 years&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;90&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;8,460&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;  &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Engineered Molding Technology LLC &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;On July&#160;13, 2020, the Company completed the acquisition of 100% of the membership interests of EMT, a New York limited liability company, pursuant to a Membership Interest Purchase Agreement, dated June&#160;26, 2020, by and among the Company, EMT, and each of Michael Pandori and Todd Etesse, the legal and beneficial owners of EMT (such acquisition, the &#x201c;EMT Acquisition&#x201d;). &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;EMT, headquartered in Clifton Park, New York, is an innovator and manufacturer of &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;single-use&lt;/div&gt; silicone assemblies and components used in the manufacturing of biologic drugs. EMT&#x2019;s standard and custom molding as well as their over-molded connectors and silicone tubing products are key components in &lt;/div&gt;  &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;single-use&lt;/div&gt; filtration and chromatography systems. EMT&#x2019;s products will complement and expand Repligen&#x2019;s &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;single-use&lt;/div&gt; product offerings. &lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Consideration Transferred &lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;The EMT Acquisition was accounted for as a purchase of a business under ASC 805, &lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;&#x201c;Business Combinations&#x201d;. &lt;/div&gt;&lt;/div&gt;Total consideration paid was $28.5&#160;million, which included $2.2&#160;million deposited into an escrow account against which the Company may make claims for indemnification. Under the acquisition method of accounting, the net assets of EMT were recorded as of the acquisition date, at their respective fair values, and consolidated with those of Repligen. The fair value of the net tangible assets acquired is estimated to be approximately $1.5&#160;million, the fair value of the intangible assets acquired is estimated to be $14.4&#160;million, and the residual goodwill is estimated to be approximately $12.6&#160;million. The estimated consideration and preliminary purchase price information have been prepared using a preliminary valuation. The preparation of the valuation required the use of significant assumptions and estimates. Critical estimates included, but were not limited to, future expected cash flows, including projected revenues and expenses, and the applicable discount rates. These estimates were based on assumptions that Repligen believes to be reasonable. However, actual results may differ from these estimates. &lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Acquisition-related costs are not included as a component of consideration transferred but are expensed in the periods in which the costs are incurred. The Company incurred $1.2&#160;million of acquisition related costs associated with the EMT Acquisition in 2020. The transaction costs are included in selling, general and administrative expenses in the consolidated statements of comprehensive income. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Fair Value of Net Assets Acquired &lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The preliminary allocation of purchase price is based on the fair value of assets acquired and liabilities assumed as of the acquisition date, based on the preliminary valuation. As additional information becomes available, the Company may further revise its preliminary purchase price allocation during the remainder of the measurement period (which will not exceed 12 months from July&#160;13, 2020). Any such revisions or changes may be material. The components and allocation of the purchase price consist of the following amounts (amounts in thousands): &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 83%; font-family: ARIAL;"/&gt;
&lt;td style="width: 7%; vertical-align: bottom; font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Cash and cash equivalents&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;69&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Accounts receivable&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,057&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Inventory&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;449&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Prepaid expenses and other current assets&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;7&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Property and equipment&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;472&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Operating lease right of use assets&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,050&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Customer relationships&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;11,080&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Developed technology&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;2,910&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Trademark and tradename&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;320&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Non-compete&lt;/div&gt; agreements&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;50&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Goodwill&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;12,585&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Accounts payable&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(283&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Accrued liabilities&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(202&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Operating lease liability&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(211&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Operating lease liability, long-term&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(839&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Fair value of net assets acquired&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;28,514&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;  &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Acquired Goodwill &lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The goodwill of $12.6&#160;million represents future economic benefits expected to arise from anticipated synergies from the integration of EMT. These synergies include certain cost savings, operating efficiencies and other strategic benefits projected to be achieved as a result of the EMT Acquisition. Substantially all of the goodwill recorded is expected to be deductible for income tax purposes. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Intangible Assets &lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The following table sets forth the components of the identified intangible assets associated with the EMT Acquisition and their estimated useful lives: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 51%;"/&gt;
&lt;td style="width: 14%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 14%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Useful&#160;life&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Fair&#160;Value&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts&#160;in&#160;thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Customer relationships&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;14 years&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;11,080&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Developed technology&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;11 years&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;2,910&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Trademark and tradename&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;14 years&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;320&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Non-competition&lt;/div&gt; agreements&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;3 years&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;50&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;14,360&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;  &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Revenue, Net Income and Pro Forma Presentation &lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The Company has included the operating results of our 2020 acquisitions of ARTeSYN, NMS and EMT in its consolidated statements of comprehensive income since their respective acquisition dates. The Company does not consider these acquisitions to be material to its consolidated statements of comprehensive income and therefore has not included pro forma results. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;C Technologies &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;On May&#160;31, 2019, Repligen acquired C Technologies, pursuant to the terms of a Stock Purchase Agreement (the &#x201c;Agreement&#x201d;), by and among Repligen, C Technologies and Craig Harrison, an individual and sole stockholder of C Technologies (such acquisition, the &#x201c;C Technologies Acquisition&#x201d;). &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Acquisition-related costs are not included as a component of consideration transferred but are expensed in the periods in which the costs are incurred. The Company incurred $4.0&#160;million in transaction costs in 2019. The transaction costs are included in selling, general and administrative expenses in the consolidated statements of comprehensive income. In connection with the transaction, an additional $9.0&#160;million was paid to employees during the second quarter of 2020, based on their continued employment with the Company one year after the date of the close of the C Technologies Acquisition. The Company has recognized $3.7&#160;million of compensation expense associated with this amount due to employees in 2020 and has recognized $9.0&#160;million of compensation expense associated with this amount due since the C Technologies Acquisition. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Fair Value of Net Assets Acquired &lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The allocation of purchase price is based on the fair value of assets acquired and liabilities assumed as of the acquisition date, based on the preliminary valuation. The Company obtained this information during due diligence and through other sources. In the months after closing, the Company obtained additional information about these assets and liabilities as it learned more about C Technologies. The Company refined the estimates of fair value to more accurately allocate the purchase price. Only items identified as of the acquisition date were considered for subsequent adjustment. We made appropriate adjustments to the purchase price allocation during the measurement period, which was one year from &lt;/div&gt;&lt;/div&gt;  &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;the acquisition date. The components and allocation of the purchase price consists of the following amounts (amounts in thousands): &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 81%; font-family: ARIAL;"/&gt;
&lt;td style="width: 7%; vertical-align: bottom; font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Cash and cash equivalents&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;3,795&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Restricted cash&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;26,933&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Accounts receivable&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;3,044&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Inventory&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;3,783&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Prepaid expenses and other current assets&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;93&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Fixed assets&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;40&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Operating lease right of use asset&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;3,836&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Customer relationships&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;59,680&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Developed technology&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;28,920&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Trademark and tradename&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,570&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Non-competition&lt;/div&gt; agreements&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;660&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Goodwill&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;142,314&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Deferred taxes&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;895&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Accounts payable&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(436&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Accrued liabilities&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(2,767&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Accrued bonus&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(26,928&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Deferred revenue&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(1,709&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Operating lease liability&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(51&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Operating lease liability, long-term&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(3,785&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Fair value of net assets acquired&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;239,887&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;  &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Acquired Goodwill &lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;The goodwill of $142.3&#160;million represents future economic benefits expected to arise from synergies from combining operations and commercial organizations to increase market presence and the extension of existing customer relationships. Substantially all of the goodwill recorded is expected to be deductible for income tax purposes. Pursuant to the Company&#x2019;s business combination accounting policy included in Note 2, &lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;&#x201c;Summary of Significant Accounting Policies &#x2013; Business Combinations, Goodwill and Intangible Assets,&#x201d;&lt;/div&gt;&lt;/div&gt; the Company recorded goodwill adjustments for the effects on goodwill of changes to net assets acquired during the period that such change is identified, provided that any such change is within the measurement period (up to one year from the date of the acquisition). In March 2020, the Company recorded an adjustment to goodwill of $0.3&#160;million related to additional state income tax liabilities to be paid by the seller, which were incurred from the Company&#x2019;s finalized 338(h)(10) tax election. &lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Revenue, Net Income and Pro Forma Presentation &lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The Company recorded revenue from C Technologies of $16.4&#160;million from May&#160;31, 2019, the date of acquisition, to December&#160;31, 2019. The Company recorded a net loss from C Technologies&#x2019; results of operations of $7.4&#160;million from May&#160;31, 2019 to December&#160;31, 2019. The Company has included the operating results of C Technologies in its consolidated statements of comprehensive income since the May&#160;31, 2019 acquisition date. The following pro forma financial information presents the combined results of operations of Repligen and C Technologies as if the acquisition had occurred on January&#160;1, 2019 after giving effect to certain pro forma adjustments. The pro forma adjustments reflected herein include only those adjustments that are directly attributable to the C Technologies Acquisition, factually supportable and have a recurring impact. These pro forma adjustments include amortization expense on the acquired identifiable intangible assets, adjustments to stock-based compensation expense for equity compensation issued to C Technologies employees and the income tax effect of the adjustments made. In &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;  &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;addition, acquisition-related transaction costs and an accounting adjustment to record inventory at fair value were excluded from pro forma net income in 2019. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Prior to the C Technologies Acquisition, C Technologies did not generate monthly or quarterly financial statements that were prepared in accordance with GAAP. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The following pro forma financial information does not reflect any adjustments for anticipated expense savings resulting from the acquisition and is not necessarily indicative of the operating results that would have actually occurred had the transaction been consummated on January&#160;1, 2019 or of future results (amounts in thousands, except per share data): &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 66%;"/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2019&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2018&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total revenue&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;279,434&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;217,739&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Net income&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;23,394&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;21,195&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Earnings per share:&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Basic&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.48&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.44&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Diluted&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.48&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.43&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; </us-gaap:BusinessCombinationDisclosureTextBlock>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="P10_27_2020To10_27_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-6"
      unitRef="Unit_USD">200000000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="P10_27_2020To10_27_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-6"
      unitRef="Unit_USD">130000000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable
      contextRef="P10_27_2020To10_27_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-6"
      unitRef="Unit_USD">70000000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-5"
      unitRef="Unit_USD">130700000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued
      contextRef="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="0"
      unitRef="Unit_shares">372990</us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued>
    <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable
      contextRef="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-5"
      unitRef="Unit_USD">69400000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
    <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred
      contextRef="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-5"
      unitRef="Unit_USD">1500000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
    <rgen:BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices
      contextRef="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-5"
      unitRef="Unit_USD">2300000</rgen:BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-5"
      unitRef="Unit_USD">204000000.0</us-gaap:BusinessCombinationConsiderationTransferred1>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets
      contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-5"
      unitRef="Unit_USD">7900000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-5"
      unitRef="Unit_USD">67400000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue
      contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-5"
      unitRef="Unit_USD">128700000</us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue>
    <rgen:ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock contextRef="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total consideration transferred is as follows (amounts in thousands): &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 81%; font-family: ARIAL;"/&gt;
&lt;td style="width: 7%; vertical-align: bottom; font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Cash consideration&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;130,713&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Equity consideration&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;69,422&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Contingent consideration&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,548&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Settlement of preexisting liabilities&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;2,310&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Fair value of net assets acquired&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;203,993&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt; </rgen:ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock>
    <rgen:CashConsiderationExcludingRestrictedCash
      contextRef="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">130713000</rgen:CashConsiderationExcludingRestrictedCash>
    <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable
      contextRef="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">69422000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
    <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred
      contextRef="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">1548000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
    <rgen:BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices
      contextRef="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">2310000</rgen:BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">203993000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts
      contextRef="PAsOn12_31_2020_SellingGeneralAndAdministrativeExpensesMemberusgaapIncomeStatementLocationAxis"
      decimals="-5"
      unitRef="Unit_USD">4000000.0</us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts>
    <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred
      contextRef="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-5"
      unitRef="Unit_USD">1500000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
    <us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock contextRef="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The components and estimated allocation of the purchase price consists of the following amounts (amounts in thousands): &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 81%; font-family: ARIAL;"/&gt;
&lt;td style="width: 7%; vertical-align: bottom; font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Cash and cash equivalents&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;2,982&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Accounts receivable&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;4,811&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Inventory&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;8,592&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Prepaid expenses and other current assets&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;5,561&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Property and equipment&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,836&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Operating lease right of use asset&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,611&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Other noncurrent assets&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;26&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Customer relationships&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;38,400&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Developed technology&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;27,060&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Trademark and tradename&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,630&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Non-competition&lt;/div&gt; agreements&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;300&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Goodwill&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;128,658&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Accounts payable&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(2,161&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Accrued liabilities&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(8,856&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Deferred revenue&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(3,583&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Deferred tax liabilities, net&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(1,240&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Notes payable&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(24&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Operating lease liability&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(417&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Operating lease liability, long-term&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(1,193&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Fair value of net assets acquired&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;203,993&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt; </us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">2982000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">4811000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">8592000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets
      contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">5561000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">1836000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset
      contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">1611000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets
      contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">26000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">38400000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">27060000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis_TrademarksAndTradeNamesMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">1630000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis_NoncompeteAgreementsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">300000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:Goodwill
      contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">128658000</us-gaap:Goodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable
      contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">2161000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities
      contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">8856000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityCurrent
      contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">3583000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityCurrent>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilitiesCurrent
      contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">1240000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilitiesCurrent>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesNotesPayable
      contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">-24000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesNotesPayable>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent
      contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">-417000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent
      contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">-1193000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">203993000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue
      contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis_GoodwillMemberusgaapFairValueByAssetClassAxis"
      decimals="-5"
      unitRef="Unit_USD">128700000</us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue>
    <us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock contextRef="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The following table sets forth the components of the identified intangible assets associated with the ARTeSYN Acquisition and their estimated useful lives: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 51%;"/&gt;
&lt;td style="width: 14%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 14%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Useful&#160;life&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Fair&#160;Value&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts&#160;in&#160;thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Customer relationships&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;17 years&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;38,400&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Developed technology&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;15 years&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;27,060&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Trademark and tradename&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;21 years&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,630&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Non-competition&lt;/div&gt; agreements&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;3 years&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;300&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;67,390&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt; </us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife contextRef="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">P17Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">38400000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife contextRef="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">P15Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">27060000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife contextRef="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis_TradeNamesMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">P21Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis_TradeNamesMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">1630000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife contextRef="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis_NoncompeteAgreementsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">P3Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis_NoncompeteAgreementsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">300000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">67390000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="P01_01_2020To12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-5"
      unitRef="Unit_USD">16200000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <rgen:BusinessCombinationsCashDepositedInEscrowAccount
      contextRef="P01_01_2020To12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-5"
      unitRef="Unit_USD">1300000</rgen:BusinessCombinationsCashDepositedInEscrowAccount>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets
      contextRef="PAsOn12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-5"
      unitRef="Unit_USD">900000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="PAsOn12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-5"
      unitRef="Unit_USD">8500000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue
      contextRef="PAsOn12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-5"
      unitRef="Unit_USD">6800000</us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue>
    <us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts
      contextRef="PAsOn12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-5"
      unitRef="Unit_USD">200000</us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts>
    <us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock contextRef="P01_01_2020To12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The components and estimated allocation of the purchase price consist of the following amounts (amounts in thousands): &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 83%; font-family: ARIAL;"/&gt;
&lt;td style="width: 7%; vertical-align: bottom; font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Cash and cash equivalents&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,163&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Accounts receivable&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;415&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Inventory&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;334&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Prepaid expenses and other current assets&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;13&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Property and equipment&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;73&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Operating lease right of use asset&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;194&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Customer relationships&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;6,370&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Developed technology&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,810&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Trademark and tradename&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;190&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Non-competition&lt;/div&gt; agreements&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;90&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Goodwill&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;6,784&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Deferred tax assets&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;24&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Accounts payable&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(96&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Accrued liabilities&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(999&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Operating lease liability&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(136&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Operating lease liability, long-term&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(59&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Fair value of net assets acquired&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;16,170&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; </us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="PAsOn12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">1163000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="PAsOn12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">415000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="PAsOn12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">334000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets
      contextRef="PAsOn12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">13000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="PAsOn12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">73000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset
      contextRef="PAsOn12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">194000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="PAsOn12_31_2020_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">6370000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="PAsOn12_31_2020_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">1810000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="PAsOn12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis_TrademarksAndTradeNamesMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">190000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="PAsOn12_31_2020_NoncompeteAgreementsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">90000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:Goodwill
      contextRef="PAsOn12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">6784000</us-gaap:Goodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets
      contextRef="PAsOn12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">24000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable
      contextRef="PAsOn12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">96000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities
      contextRef="PAsOn12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">999000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent
      contextRef="PAsOn12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">-136000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent
      contextRef="PAsOn12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">-59000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="PAsOn12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">16170000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue
      contextRef="PAsOn12_31_2020_GoodwillMemberusgaapFairValueByAssetClassAxis_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-5"
      unitRef="Unit_USD">6800000</us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue>
    <us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock contextRef="P01_01_2020To12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The following table sets forth the components of the identified intangible assets associated with the NMS Acquisition and their estimated useful lives: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 51%;"/&gt;
&lt;td style="width: 15%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td style="white-space: nowrap;"/&gt;
&lt;td/&gt;
&lt;td style="width: 15%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0); white-space: nowrap;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Useful&#160;life&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Fair&#160;Value&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts&#160;in&#160;thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Customer relationships&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;14 years&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;6,370&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Developed technology&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;12 years&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,810&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Trademark and tradename&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;15 years&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;190&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Non-competition&lt;/div&gt; agreements&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;3 years&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;90&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;8,460&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; </us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife contextRef="P01_01_2020To12_31_2020_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis">P14Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="PAsOn12_31_2020_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">6370000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife contextRef="P01_01_2020To12_31_2020_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis">P12Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="PAsOn12_31_2020_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">1810000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife contextRef="P01_01_2020To12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis_TradeNamesMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">P15Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="PAsOn12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis_TradeNamesMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">190000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife contextRef="P01_01_2020To12_31_2020_NoncompeteAgreementsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis">P3Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="PAsOn12_31_2020_NoncompeteAgreementsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">90000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="PAsOn12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">8460000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired
      contextRef="PAsOn07_13_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis"
      decimals="2"
      unitRef="Unit_pure">1</us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="P01_01_2020To12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis"
      decimals="-5"
      unitRef="Unit_USD">28500000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <rgen:BusinessCombinationConsiderationIndemnificationEscrow
      contextRef="P01_01_2020To12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis"
      decimals="-5"
      unitRef="Unit_USD">2200000</rgen:BusinessCombinationConsiderationIndemnificationEscrow>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets
      contextRef="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis"
      decimals="-5"
      unitRef="Unit_USD">1500000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis"
      decimals="-5"
      unitRef="Unit_USD">14400000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:Goodwill
      contextRef="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis"
      decimals="-5"
      unitRef="Unit_USD">12600000</us-gaap:Goodwill>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts
      contextRef="P01_01_2020To12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis"
      decimals="-5"
      unitRef="Unit_USD">1200000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock contextRef="P01_01_2020To12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis">The components and allocation of the purchase price consist of the following amounts (amounts in thousands):
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 83%; font-family: ARIAL;"/&gt;
&lt;td style="width: 7%; vertical-align: bottom; font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Cash and cash equivalents&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;69&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Accounts receivable&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,057&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Inventory&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;449&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Prepaid expenses and other current assets&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;7&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Property and equipment&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;472&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Operating lease right of use assets&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,050&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Customer relationships&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;11,080&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Developed technology&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;2,910&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Trademark and tradename&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;320&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Non-compete&lt;/div&gt; agreements&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;50&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Goodwill&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;12,585&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Accounts payable&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(283&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Accrued liabilities&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(202&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Operating lease liability&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(211&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Operating lease liability, long-term&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(839&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Fair value of net assets acquired&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;28,514&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; </us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">69000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">1057000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">449000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets
      contextRef="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">7000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">472000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset
      contextRef="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">1050000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="PAsOn12_31_2020_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">11080000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="PAsOn12_31_2020_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">2910000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis_TrademarksAndTradeNamesMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">320000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis_NoncompeteAgreementsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">50000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:Goodwill
      contextRef="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">12585000</us-gaap:Goodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable
      contextRef="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">283000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities
      contextRef="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">202000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent
      contextRef="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">-211000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent
      contextRef="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">-839000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">28514000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue
      contextRef="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis_GoodwillMemberusgaapFairValueByAssetClassAxis"
      decimals="-5"
      unitRef="Unit_USD">12600000</us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue>
    <us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock contextRef="P01_01_2020To12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The following table sets forth the components of the identified intangible assets associated with the EMT Acquisition and their estimated useful lives: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 51%;"/&gt;
&lt;td style="width: 14%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 14%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Useful&#160;life&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Fair&#160;Value&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts&#160;in&#160;thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Customer relationships&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;14 years&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;11,080&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Developed technology&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;11 years&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;2,910&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Trademark and tradename&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;14 years&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;320&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Non-competition&lt;/div&gt; agreements&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;3 years&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;50&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;14,360&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; </us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife contextRef="P01_01_2020To12_31_2020_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis">P14Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="PAsOn12_31_2020_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">11080000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife contextRef="P01_01_2020To12_31_2020_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis">P11Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="PAsOn12_31_2020_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">2910000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife contextRef="P01_01_2020To12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis_TradeNamesMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">P14Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis_TradeNamesMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">320000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife contextRef="P01_01_2020To12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis_NoncompeteAgreementsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">P3Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis_NoncompeteAgreementsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">50000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="PAsOn12_31_2020_EngineeredMoldingTechnologyLlcMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">14360000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts
      contextRef="PAsOn12_31_2019"
      decimals="-5"
      unitRef="Unit_USD">4000000.0</us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts>
    <us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts
      contextRef="PAsOn12_31_2020_TrustForBenefitOfEmployeesMembersrtTitleOfIndividualAxis"
      decimals="-5"
      unitRef="Unit_USD">9000000.0</us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts>
    <us-gaap:CompensationExpenseExcludingCostOfGoodAndServiceSold
      contextRef="P01_01_2020To12_31_2020_TrustForBenefitOfEmployeesMembersrtTitleOfIndividualAxis"
      decimals="-5"
      unitRef="Unit_USD">3700000</us-gaap:CompensationExpenseExcludingCostOfGoodAndServiceSold>
    <us-gaap:CompensationExpenseExcludingCostOfGoodAndServiceSold
      contextRef="P01_01_2020To12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis_TrustForBenefitOfEmployeesMembersrtTitleOfIndividualAxis"
      decimals="-5"
      unitRef="Unit_USD">9000000.0</us-gaap:CompensationExpenseExcludingCostOfGoodAndServiceSold>
    <us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock contextRef="P01_01_2020To12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis">The components and allocation of the purchase price consists of the following amounts (amounts in thousands):
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 81%; font-family: ARIAL;"/&gt;
&lt;td style="width: 7%; vertical-align: bottom; font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Cash and cash equivalents&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;3,795&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Restricted cash&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;26,933&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Accounts receivable&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;3,044&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Inventory&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;3,783&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Prepaid expenses and other current assets&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;93&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Fixed assets&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;40&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Operating lease right of use asset&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;3,836&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Customer relationships&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;59,680&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Developed technology&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;28,920&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Trademark and tradename&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,570&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Non-competition&lt;/div&gt; agreements&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;660&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Goodwill&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;142,314&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Deferred taxes&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;895&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Accounts payable&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(436&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Accrued liabilities&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(2,767&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Accrued bonus&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(26,928&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Deferred revenue&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(1,709&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Operating lease liability&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(51&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Operating lease liability, long-term&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(3,785&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Fair value of net assets acquired&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;239,887&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; </us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">3795000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRestrictedCash
      contextRef="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">26933000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRestrictedCash>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">3044000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">3783000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets
      contextRef="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">93000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">40000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset
      contextRef="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">3836000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">59680000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">28920000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis_TrademarksAndTradeNamesMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">1570000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis_NoncompeteAgreementsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">660000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:Goodwill
      contextRef="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">142314000</us-gaap:Goodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets
      contextRef="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">895000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable
      contextRef="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">436000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities
      contextRef="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">2767000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedBonus
      contextRef="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">-26928000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedBonus>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityCurrent
      contextRef="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">1709000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityCurrent>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent
      contextRef="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">-51000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent>
    <rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent
      contextRef="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">-3785000</rgen:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">239887000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue
      contextRef="PAsOn12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis_GoodwillMemberusgaapFairValueByAssetClassAxis"
      decimals="-5"
      unitRef="Unit_USD">142300000</us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="P01_01_2020To12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis"
      decimals="-5"
      unitRef="Unit_USD">300000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual
      contextRef="P05_31_2019To12_31_2019_CTechnologiesMemberusgaapBusinessAcquisitionAxis"
      decimals="-5"
      unitRef="Unit_USD">16400000</us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss
      contextRef="P05_31_2019To12_31_2019_CTechnologiesMemberusgaapBusinessAcquisitionAxis"
      decimals="-5"
      unitRef="Unit_USD">7400000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
    <us-gaap:BusinessAcquisitionProFormaInformationTextBlock contextRef="P01_01_2020To12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The following pro forma financial information does not reflect any adjustments for anticipated expense savings resulting from the acquisition and is not necessarily indicative of the operating results that would have actually occurred had the transaction been consummated on January&#160;1, 2019 or of future results (amounts in thousands, except per share data): &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 66%;"/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2019&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2018&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total revenue&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;279,434&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;217,739&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Net income&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;23,394&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;21,195&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Earnings per share:&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Basic&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.48&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.44&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Diluted&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.48&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.43&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; </us-gaap:BusinessAcquisitionProFormaInformationTextBlock>
    <us-gaap:BusinessAcquisitionsProFormaRevenue
      contextRef="P01_01_2019To12_31_2019_CTechnologiesMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">279434000</us-gaap:BusinessAcquisitionsProFormaRevenue>
    <us-gaap:BusinessAcquisitionsProFormaRevenue
      contextRef="P01_01_2018To12_31_2018_CTechnologiesMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">217739000</us-gaap:BusinessAcquisitionsProFormaRevenue>
    <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss
      contextRef="P01_01_2019To12_31_2019_CTechnologiesMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">23394000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
    <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss
      contextRef="P01_01_2018To12_31_2018_CTechnologiesMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">21195000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
    <us-gaap:BusinessAcquisitionProFormaEarningsPerShareBasic
      contextRef="P01_01_2019To12_31_2019_CTechnologiesMemberusgaapBusinessAcquisitionAxis"
      decimals="2"
      unitRef="Unit_USD_per_Share">0.48</us-gaap:BusinessAcquisitionProFormaEarningsPerShareBasic>
    <us-gaap:BusinessAcquisitionProFormaEarningsPerShareBasic
      contextRef="P01_01_2018To12_31_2018_CTechnologiesMemberusgaapBusinessAcquisitionAxis"
      decimals="2"
      unitRef="Unit_USD_per_Share">0.44</us-gaap:BusinessAcquisitionProFormaEarningsPerShareBasic>
    <us-gaap:BusinessAcquisitionProFormaEarningsPerShareDiluted
      contextRef="P01_01_2019To12_31_2019_CTechnologiesMemberusgaapBusinessAcquisitionAxis"
      decimals="2"
      unitRef="Unit_USD_per_Share">0.48</us-gaap:BusinessAcquisitionProFormaEarningsPerShareDiluted>
    <us-gaap:BusinessAcquisitionProFormaEarningsPerShareDiluted
      contextRef="P01_01_2018To12_31_2018_CTechnologiesMemberusgaapBusinessAcquisitionAxis"
      decimals="2"
      unitRef="Unit_USD_per_Share">0.43</us-gaap:BusinessAcquisitionProFormaEarningsPerShareDiluted>
    <us-gaap:LesseeOperatingLeasesTextBlock contextRef="P01_01_2020To12_31_2020">
&lt;table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="page-break-inside: avoid;"&gt;
&lt;td style="width: 4%; vertical-align: top;;text-align:left;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;4.&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: top;;text-align:left;"&gt; &lt;div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Leases &lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style="clear: both; max-height: 0px; background: none;"/&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;The Company is a lessee under leases of manufacturing facilities, office spaces, machinery, certain office equipment and vehicles. A majority of the Company&#x2019;s leases are operating leases with remaining lease terms between one month and 10 years. Finance leases are immaterial to the Company&#x2019;s consolidated financial statements. The Company determines if an arrangement qualifies as a lease and what type of lease it is at inception. The Company elected the package of practical expedients permitted under the transition guidance within the new lease standard, which among other things, allowed it to continue to account for existing leases based on the historical lease classification. The Company also elected the practical expedients to combine lease and &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;non-lease&lt;/div&gt; components and to exclude right of use assets and lease liabilities for leases with an initial term of 12 months or less from the balance sheet. &lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Some of the lease agreements the Company enters into include Company options to either extend and/or early terminate the lease, the costs of which are included in the Company&#x2019;s operating lease liabilities to the extent that such options are reasonably certain of being exercised. Leases with renewal options allow the Company to extend the lease term typically between 1 and 5 years per option, some of its leases have multiple options to extend. When determining if a renewal option is reasonably certain of being exercised, the Company considers several economic factors, including but not limited to, the significance of leasehold improvements incurred on the property, whether the asset is difficult to replace, underlying contractual obligations, or specific characteristics unique to that particular lease that would make it reasonably certain that the Company would exercise such options. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;As of December&#160;31, 2020 and 2019, operating lease right of use assets were $25.2&#160;million and $25.7&#160;million, respectively and operating lease liabilities were $31.7&#160;million and $30.6&#160;million, respectively. The Company acquired EMT, NMS and ARTeSYN in 2020 and entered into a number of automobile leases among others. As a result, the operating right of use asset and operating lease liability balances increased by a total of $3.0&#160;million in 2020 on their commencement dates. On July&#160;7, 2020, the Company entered into a First Amendment to the current lease agreement associated with our Marlborough, Massachusetts facility, to expand the existing premises by 66,939 square feet and in December 2020, the Second Amendment to the current lease agreement was signed&lt;div style="display:inline;"&gt;,&lt;/div&gt; changing the commencement date of the expansion lease from April&#160;1, 2021 to January&#160;1, 2021. As a result, the operating right of use asset and operating lease liability balances increased by a total of &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;approximately $2.8&#160;million. Amounts related to financing leases were immaterial. The maturities of the Company&#x2019;s operating lease liabilities as of December&#160;31, 2020 are as follows (amounts in thousands): &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 68%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 82%; font-family: ARIAL;"/&gt;
&lt;td style="width: 8%; vertical-align: bottom; font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap; padding-bottom: 1pt;"&gt; &lt;div style="font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: table-cell; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;As of December&#160;31, 2020&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Amount&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2021&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;7,007&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2022&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;5,732&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2023&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;4,614&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2024&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;4,162&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2025&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;3,653&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2026 and thereafter&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;12,949&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total future minimum lease payments&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;38,117&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Less: amount of lease payment representing interest&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;6,438&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total operating lease liabilities&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;31,679&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total operating lease liabilities included on the Company&#x2019;s consolidated balance sheet are as follows (amounts in thousands): &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 70%;"/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2019&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Operating lease liability&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;5,254&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;3,557&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Operating lease liability, long-term&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;26,425&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;26,995&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Minimum operating lease payments&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;31,679&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;30,552&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;  &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Lease expense for these leases is recognized on a straight-line basis over the lease term, with variable lease payments recognized in the period those payments are incurred. For the year ended December&#160;31, 2020 and 2019, total lease cost is comprised of the following: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 8pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 74%;"/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;For&#160;the&#160;Years&#160;Ended&lt;br/&gt; December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap; padding-bottom: 1pt;"&gt; &lt;div style="font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: table-cell; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Lease Cost&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2019&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts in&lt;br/&gt; thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Operating lease cost&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;5,645&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;4,480&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Variable operating lease cost&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;2,033&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,480&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Lease cost&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;7,678&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;5,960&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The following information represents supplemental disclosure for the consolidated statements of cash flows related to operating leases (amounts in thousands): &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 8pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 72%;"/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;For the Years Ended&lt;br/&gt; December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2019&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Operating lease cost&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(5,647&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(4,004&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;  &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Most of the leases do not provide implicit interest rates and therefore the Company determines the discount rate based on its incremental borrowing rate. The incremental borrowing rate for the Company&#x2019;s leases is determined based on lease term and currency in which the lease payments are made. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The weighted average remaining lease term and the weighted average discount rate used to measure the Company&#x2019;s operating lease liabilities as of December&#160;31, 2020 were: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 68%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 89%; font-family: ARIAL;"/&gt;
&lt;td style="width: 5%; vertical-align: bottom; font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Weighted average remaining lease term (years)&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;7.19&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Weighted average discount rate&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;4.90&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; </us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="PAsOn12_31_2020"
      decimals="-5"
      unitRef="Unit_USD">25200000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="PAsOn12_31_2019"
      decimals="-5"
      unitRef="Unit_USD">25700000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseLiability
      contextRef="PAsOn12_31_2020"
      decimals="-5"
      unitRef="Unit_USD">31700000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiability
      contextRef="PAsOn12_31_2019"
      decimals="-5"
      unitRef="Unit_USD">30600000</us-gaap:OperatingLeaseLiability>
    <rgen:IncreaseDecreaseInOperatingLeaseLiabilities
      contextRef="P01_01_2020To12_31_2020"
      decimals="-5"
      unitRef="Unit_USD">3000000.0</rgen:IncreaseDecreaseInOperatingLeaseLiabilities>
    <us-gaap:AreaOfLand
      contextRef="PAsOn07_07_2020_MarlboroughMassachusettsMemberusgaapPropertySubjectToOrAvailableForOperatingLeaseAxis"
      decimals="0"
      unitRef="Unit_sqft">66939</us-gaap:AreaOfLand>
    <rgen:IncreaseDecreaseInOperatingLeaseLiabilities
      contextRef="P07_07_2020To12_31_2020_MarlboroughMassachusettsMemberusgaapPropertySubjectToOrAvailableForOperatingLeaseAxis"
      decimals="-5"
      unitRef="Unit_USD">2800000</rgen:IncreaseDecreaseInOperatingLeaseLiabilities>
    <rgen:IncreaseDecreaseInRightOfUseAssets
      contextRef="P07_07_2020To12_31_2020_MarlboroughMassachusettsMemberusgaapPropertySubjectToOrAvailableForOperatingLeaseAxis"
      decimals="-5"
      unitRef="Unit_USD">2800000</rgen:IncreaseDecreaseInRightOfUseAssets>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock contextRef="P01_01_2020To12_31_2020">The maturities of the Company&#x2019;s operating lease liabilities as of December&#160;31, 2020 are as follows (amounts in thousands):
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 68%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 82%; font-family: ARIAL;"/&gt;
&lt;td style="width: 8%; vertical-align: bottom; font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap; padding-bottom: 1pt;"&gt; &lt;div style="font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: table-cell; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;As of December&#160;31, 2020&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Amount&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2021&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;7,007&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2022&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;5,732&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2023&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;4,614&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2024&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;4,162&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2025&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;3,653&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2026 and thereafter&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;12,949&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total future minimum lease payments&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;38,117&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Less: amount of lease payment representing interest&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;6,438&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total operating lease liabilities&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;31,679&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; </us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">7007000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">5732000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">4614000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">4162000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">3653000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">12949000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">38117000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">6438000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">31679000</us-gaap:OperatingLeaseLiability>
    <rgen:AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total operating lease liabilities included on the Company&#x2019;s consolidated balance sheet are as follows (amounts in thousands): &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 70%;"/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2019&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Operating lease liability&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;5,254&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;3,557&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Operating lease liability, long-term&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;26,425&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;26,995&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Minimum operating lease payments&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;31,679&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;30,552&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; </rgen:AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">5254000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">3557000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">26425000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">26995000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiability
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">31679000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiability
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">30552000</us-gaap:OperatingLeaseLiability>
    <us-gaap:LeaseCostTableTextBlock contextRef="P01_01_2020To12_31_2020">For the year ended December&#160;31, 2020 and 2019, total lease cost is comprised of the following:
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 8pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 74%;"/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;For&#160;the&#160;Years&#160;Ended&lt;br/&gt; December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap; padding-bottom: 1pt;"&gt; &lt;div style="font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: table-cell; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Lease Cost&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2019&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts in&lt;br/&gt; thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Operating lease cost&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;5,645&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;4,480&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Variable operating lease cost&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;2,033&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,480&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Lease cost&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;7,678&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;5,960&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; </us-gaap:LeaseCostTableTextBlock>
    <us-gaap:OperatingLeaseCost
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">5645000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">4480000</us-gaap:OperatingLeaseCost>
    <rgen:VariableOperatingLeaseCost
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">2033000</rgen:VariableOperatingLeaseCost>
    <rgen:VariableOperatingLeaseCost
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">1480000</rgen:VariableOperatingLeaseCost>
    <us-gaap:LeaseCost
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">7678000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">5960000</us-gaap:LeaseCost>
    <rgen:ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The following information represents supplemental disclosure for the consolidated statements of cash flows related to operating leases (amounts in thousands): &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 8pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 72%;"/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;For the Years Ended&lt;br/&gt; December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2019&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Operating lease cost&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(5,647&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(4,004&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; </rgen:ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock>
    <us-gaap:OperatingLeasePayments
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">5647000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">4004000</us-gaap:OperatingLeasePayments>
    <rgen:ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The weighted average remaining lease term and the weighted average discount rate used to measure the Company&#x2019;s operating lease liabilities as of December&#160;31, 2020 were: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 68%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 89%; font-family: ARIAL;"/&gt;
&lt;td style="width: 5%; vertical-align: bottom; font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Weighted average remaining lease term (years)&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;7.19&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Weighted average discount rate&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;4.90&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; </rgen:ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1 contextRef="PAsOn12_31_2020">P7Y2M8D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="PAsOn12_31_2020"
      decimals="4"
      unitRef="Unit_pure">0.0490</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:RevenueFromContractWithCustomerTextBlock contextRef="P01_01_2020To12_31_2020">
&lt;table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="page-break-inside: avoid;"&gt;
&lt;td style="width: 4%; vertical-align: top;;text-align:left;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;5.&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: top;;text-align:left;"&gt;&lt;div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Revenue Recognition &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="clear: both; max-height: 0px; background: none;"/&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;The Company generates revenue from the sale of bioprocessing products, equipment devices, and related consumables used with these equipment devices to customers in the life science and biopharmaceutical industries. Under ASC 606, &lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;&#x201c;Revenue from Contracts with Customers,&#x201d; &lt;/div&gt;&lt;/div&gt;revenue is recognized when, or as, obligations under the terms of a contract are satisfied, which occurs when control of the promised products or services is transferred to customers. &lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Disaggregation of Revenue &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Revenue for the years ended December&#160;31, 2020, 2019 and 2018 was as follows (amounts in thousands, except percentages): &lt;/div&gt;&lt;/div&gt;&lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 8pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 61%;"/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;For the Years Ended December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2019&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2018&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="10" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts in thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Product revenue&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;366,136&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;270,097&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;193,891&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Royalty and other income&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;124&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;148&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;141&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total revenue&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;366,260&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;270,245&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;194,032&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="clear: both; max-height: 0px; background: none;"/&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;When disaggregating revenue, the Company considered all of the economic factors that may affect its revenues. Because all of its revenues are from bioprocessing customers, there are no differences in the nature, timing and uncertainty of the Company&#x2019;s revenues and cash flows from any of its product lines. However, given that the Company&#x2019;s revenues are generated in different geographic regions, factors such as regulatory and geopolitical factors within those regions could impact the nature, timing and uncertainty of the Company&#x2019;s revenues and cash flows. In addition, a significant portion of the Company&#x2019;s revenues are generated from two customers; therefore, economic factors specific to these two customers could impact the nature, timing and uncertainty of the Company&#x2019;s revenues and cash flows. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;Disaggregated revenue from contracts with customers by geographic region can be found in Note 2., &lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;&#x201c;Summary of Significant Accounting Policies &#x2013; Segment Reporting,&#x201d;&lt;/div&gt;&lt;/div&gt; above. &lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Revenue from significant customers that represent 10% or more of the Company&#x2019;s total revenue is as follows (amounts in thousands): &lt;/div&gt;&lt;/div&gt;&lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 8pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 64%;"/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;For the Years Ended December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2019&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2018&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;MilliporeSigma&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;39,511&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;36,190&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;29,843&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Cytiva (formerly GE Healthcare)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;N/A&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;31,441&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;29,616&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="clear: both; max-height: 0px; background: none;"/&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Filtration Products &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;The Company&#x2019;s filtration products generate revenue through the sale of KrosFlo&lt;div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px"&gt;&#xae;&lt;/div&gt; hollow fiber TFF systems, TangenX&lt;div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px"&gt;&#xae;&lt;/div&gt; flat sheet cassettes, Spectrum&lt;div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px"&gt;&#xae;&lt;/div&gt; hollow fiber filters, membranes and modules, XCell ATF&lt;div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px"&gt;&#xae;&lt;/div&gt; systems and related consumables. Supporting our systems, we also sell ProConnex&lt;div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px"&gt;&#xae;&lt;/div&gt; &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;single-use&lt;/div&gt; flow path assemblies and custom silicone-based, &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;single-use&lt;/div&gt; flow path assemblies and components from EMT, NMS and ARTeSYN, three acquisitions completed in 2020. &lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The Company&#x2019;s KrosFlo systems are used in the filtration, isolation, purification and concentration of biologics and diagnostic products. TFF is a rapid and efficient method for separation and purification of biomolecules that is widely used in laboratory, process development and process scale applications in biopharmaceutical manufacturing. Sales of large-scale systems generally include components and &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;consumables as well as training and installation services at the request of the customer. Because the initial sale of components and consumables is necessary for the operation of the system, such items are combined with the systems as a single performance obligation. Training and installation services do not significantly modify or customize these systems and therefore represent a distinct performance obligation. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The Company&#x2019;s TangenX flat sheet cassettes (SIUS&lt;div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px"&gt;&#xae;&lt;/div&gt;, SIUS Gamma&lt;div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px"&gt;&#xae;&lt;/div&gt; and PRO) are not highly interdependent on one another and are therefore considered distinct products that represent separate performance obligations. Product revenue from the sale of TangenX flat sheet cassettes is generally recognized at a point in time upon transfer of control of the customer. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;The Company&#x2019;s other filtration product offerings are not highly interdependent of one another and are therefore considered distinct products that represent separate performance obligations. Revenue on these products is generally recognized at a point in time upon transfer of control to the customer. The Company invoices the customer for the installation and training services in an amount that directly corresponds with the value to the customer of the Company&#x2019;s performance to date; therefore, revenue recognized is based on the amount billable to the customer in accordance with the practical expedient under ASC &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;606-10-55-18.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;The Company also markets the XCell ATF system, a technologically advanced filtration device used in upstream processes to continuously remove cellular metabolic waste products during the course of a fermentation run, freeing healthy cells to continue producing the biologic drug of interest. XCell ATF systems typically include a filtration system and consumables (i.e., tubing sets, metal stands) as well as training and installation services at the request of the customer. The filtration system and consumables are considered distinct products and therefore represent separate performance obligations. First time purchasers of the systems typically purchase a controller that is shipped with the tubing set(s) and metal stand(s). The controller is not considered distinct as it is a proprietary product that is highly interdependent with the filtration system; therefore, the controller is combined with the filtration system and accounted for as a single performance obligation. The training and installation services do not significantly modify or customize the XCell ATF system and therefore represent a distinct performance obligation. XCell ATF system product revenue related to the filtration system (including the controller if applicable) and consumables is generally recognized at a point in time upon transfer of control to the customer. XCell ATF system service revenue related to training and installation services is generally recognized over time, as the customer simultaneously receives and consumes the benefits as the Company performs. The Company invoices the customer for the installation and training services in an amount that directly corresponds with the value to the customer of the Company&#x2019;s performance to date; therefore, revenue recognized is based on the amount billable to the customer in accordance with the practical expedient under ASC &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;606-10-55-18.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;On July&#160;13, 2020, the Company completed the EMT Acquisition and added EMT&#x2019;s silicone-based, &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;single-use&lt;/div&gt; components and manifolds to its filtration franchise. These products are key components in &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;single-use&lt;/div&gt; filtration and chromatography systems and will help expand its line of &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;single-use&lt;/div&gt; ProConnex flow paths, streamline its supply chain for ATF and provide more flexibility as the Company scales and expands its &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;single-use&lt;/div&gt; and systems portfolios. &lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;On October&#160;20, 2020, the Company completed the NMS Acquisition and added their fabricated plastics, custom containers and related assemblies and components to its filtration franchise. These products will complement and expand Repligen&#x2019;s &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;single-use&lt;/div&gt; product offerings. &lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;On December&#160;3, 2020, the Company completed the ARTeSYN Acquisition and added its suite of &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;single-use&lt;/div&gt; solutions with the goal of enabling &#x201c;abundance of medicine&#x201d; by allowing ten times greater efficiency in biologics manufacturing. &lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Chromatography Products &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;The Company&#x2019;s chromatography products include a number of products used in the downstream purification and quality control of biological drugs. The majority of chromatography revenue relates to the OPUS&lt;div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px"&gt;&#xae;&lt;/div&gt; &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;pre-packed&lt;/div&gt; chromatography column line. OPUS columns are designed to be disposable following a production campaign. Each OPUS column is delivered &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;pre-packaged&lt;/div&gt; with the customer&#x2019;s choice of chromatography resin, which is either provided by the Company for the customer or customer supplied. In either scenario, the OPUS column and resin are not interdependent of one another and are therefore considered distinct products that represent separate performance obligations. Chromatography product revenue is generally recognized at a point in time upon transfer of control to the customer. &lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Process Analytics Products &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;The Process Analytics franchise generates revenue primarily through the sale of the SoloVPE and FlowVPE Slope Spectroscopy systems, consumables and service. These products complement and support the Company&#x2019;s existing Filtration, Chromatography and Proteins franchises as they allow &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;end-users&lt;/div&gt; to make &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;in-line&lt;/div&gt; protein concentration measurements in filtration, chromatography and fill-finish applications, designed to allow for real-time process monitoring. &lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Protein Products &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The Company&#x2019;s Protein franchise generates revenue through the sale of Protein A affinity ligands and growth factors. Protein A ligands are an essential component of Protein A chromatography resins (media) used in the purification of virtually all mAb-based drugs on the market or in development. The Company manufactures multiple forms of Protein A ligands under long-term supply agreements with major life sciences companies, who in turn sell their Protein A chromatography media to end users (biopharmaceutical manufacturers). The Company also manufactures growth factors for sale under long-term supply agreements with certain life sciences companies as well as for direct sales to its customers. Each protein product is considered distinct and therefore represents a separate performance obligation. Protein product revenue is generally recognized at a point in time upon transfer of control to the customer. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Other Products &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The Company&#x2019;s other products include operating room products sold to hospitals. Other product revenue is generally recognized at a point in time upon transfer of control to the customer. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Transaction Price Allocated to Future Performance Obligations &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;Remaining performance obligations represent the transaction price of contracts for which work has not been performed or has been partially performed. The Company&#x2019;s future performance obligations relate primarily to the installation and training of certain of its systems sold to customers. These performance obligations are completed within one year of receipt of a purchase order from its customers. Accordingly, the Company has elected to not disclose the value of these unsatisfied performance obligations as provided under ASC &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;606-10-50-14.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Contract Balances from Contracts with Customers &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The following table provides information about receivables and deferred revenue from contracts with customers as of December&#160;31, 2020 (amounts in thousands): &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 76%;"/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2019&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Balances from contracts with customers only:&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Accounts receivable&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;71,257&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;43,068&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Deferred revenue (included in accrued liabilities in the consolidated balance sheets)&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;15,318&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;5,005&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Revenue recognized during years presented relating to:&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The beginning deferred revenue balance&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;3,361&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;833&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Changes in pricing related to products or services satisfied in previous periods&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;  &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The timing of revenue recognition, billings and cash collections results in the accounts receivable and deferred revenue balances on the Company&#x2019;s consolidated balance sheets. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;A contract asset is created when the Company satisfies a performance obligation by transferring a promised good to the customer. Contract assets may represent conditional or unconditional rights to consideration. The right is conditional, and recorded as a contract asset if the Company must first satisfy another performance obligation in the contract before it is entitled to payment from the customer. Contract assets are transferred to billed receivables once the right becomes unconditional. If the Company has the unconditional right to receive consideration from the customer, the contract asset is accounted for as a billed receivable and presented separately from other contract assets. A right is unconditional if nothing other than the passage of time is required before payment of that consideration is due. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;When consideration is received, or such consideration is unconditionally due, from a customer prior to transferring goods or services to the customer under the terms of a contract, a contract liability is recorded. Contract liabilities are recognized as revenue after control of the products or services is transferred to the customer and all revenue recognition criteria have been met. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Costs to Obtain or Fulfill a Customer Contract &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The Company&#x2019;s sales commission structure is based on achieving revenue targets. The commissions are driven by revenue derived from customer purchase orders which are short term in nature. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;Applying the practical expedient in paragraph &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;340-40-25-4,&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; the Company recognizes the incremental costs of obtaining contracts as an expense when incurred if the amortization period of the assets that the Company otherwise would have recognized is one year or less. These costs are included in selling, general, and administrative expenses in our consolidated statement of comprehensive income. When shipping and handling costs are incurred after a customer obtains control of the products, the Company accounts for these as costs to fulfill the promise and not as a separate performance obligation. &lt;/div&gt; </us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:DisaggregationOfRevenueTableTextBlock contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Revenue for the years ended December&#160;31, 2020, 2019 and 2018 was as follows (amounts in thousands, except percentages): &lt;/div&gt;&lt;/div&gt;&lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 8pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 61%;"/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;For the Years Ended December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2019&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2018&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="10" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts in thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Product revenue&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;366,136&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;270,097&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;193,891&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Royalty and other income&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;124&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;148&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;141&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total revenue&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;366,260&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;270,245&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;194,032&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P01_01_2020To12_31_2020_ProductMembersrtProductOrServiceAxis"
      decimals="-3"
      unitRef="Unit_USD">366136000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P01_01_2019To12_31_2019_ProductMembersrtProductOrServiceAxis"
      decimals="-3"
      unitRef="Unit_USD">270097000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P01_01_2018To12_31_2018_ProductMembersrtProductOrServiceAxis"
      decimals="-3"
      unitRef="Unit_USD">193891000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P01_01_2020To12_31_2020_RoyaltyMembersrtProductOrServiceAxis"
      decimals="-3"
      unitRef="Unit_USD">124000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P01_01_2019To12_31_2019_RoyaltyMembersrtProductOrServiceAxis"
      decimals="-3"
      unitRef="Unit_USD">148000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P01_01_2018To12_31_2018_RoyaltyMembersrtProductOrServiceAxis"
      decimals="-3"
      unitRef="Unit_USD">141000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">366260000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">270245000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">194032000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <rgen:ScheduleOfRevenueByMajorCustomersTableTextBlock contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Revenue from significant customers that represent 10% or more of the Company&#x2019;s total revenue is as follows (amounts in thousands): &lt;/div&gt;&lt;/div&gt;&lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 8pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 64%;"/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;For the Years Ended December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2019&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2018&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;MilliporeSigma&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;39,511&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;36,190&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;29,843&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Cytiva (formerly GE Healthcare)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;N/A&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;31,441&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;29,616&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</rgen:ScheduleOfRevenueByMajorCustomersTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P01_01_2020To12_31_2020_MilliporeSigmaMembersrtMajorCustomersAxis"
      decimals="-3"
      unitRef="Unit_USD">39511000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P01_01_2019To12_31_2019_MilliporeSigmaMembersrtMajorCustomersAxis"
      decimals="-3"
      unitRef="Unit_USD">36190000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P01_01_2018To12_31_2018_MilliporeSigmaMembersrtMajorCustomersAxis"
      decimals="-3"
      unitRef="Unit_USD">29843000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P01_01_2019To12_31_2019_CytivaMembersrtMajorCustomersAxis"
      decimals="-3"
      unitRef="Unit_USD">31441000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P01_01_2018To12_31_2018_CytivaMembersrtMajorCustomersAxis"
      decimals="-3"
      unitRef="Unit_USD">29616000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The following table provides information about receivables and deferred revenue from contracts with customers as of December&#160;31, 2020 (amounts in thousands): &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 76%;"/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2019&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Balances from contracts with customers only:&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Accounts receivable&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;71,257&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;43,068&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Deferred revenue (included in accrued liabilities in the consolidated balance sheets)&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;15,318&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;5,005&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Revenue recognized during years presented relating to:&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The beginning deferred revenue balance&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;3,361&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;833&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Changes in pricing related to products or services satisfied in previous periods&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; </us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">71257000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">43068000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:DeferredRevenue
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">15318000</us-gaap:DeferredRevenue>
    <us-gaap:DeferredRevenue
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">5005000</us-gaap:DeferredRevenue>
    <us-gaap:ContractWithCustomerLiability
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">3361000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">833000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:CreditLossFinancialInstrumentTextBlock contextRef="P01_01_2020To12_31_2020">
&lt;table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="page-break-inside: avoid;"&gt;
&lt;td style="width: 4%; vertical-align: top;;text-align:left;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;6.&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: top;;text-align:left;"&gt; &lt;div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Credit Losses &lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style="clear: both; max-height: 0px; background: none;"/&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;Effective January&#160;1, 2020, the Company adopted ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2016-13,&lt;/div&gt; &lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;&#x201c;Financial Instruments &#x2013; Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments,&#x201d;&lt;/div&gt;&lt;/div&gt; prospectively. ASU &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2016-13&lt;/div&gt; replaces the incurred loss impairment model with an expected credit loss impairment model for financial instruments, including trade receivables. The guidance requires entities to consider forward-looking information to estimate expected credit losses, resulting in earlier recognition of losses for receivables that are current or not yet due. Upon adoption, changes in the allowance were not material for the transition period starting January&#160;1, 2020 through December&#160;31, 2020. &lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The Company is exposed to credit losses primarily through sales of products and services. The Company&#x2019;s expected loss allowance methodology for accounts receivable is developed using historical collection experience, current and future economic and market conditions and a review of the current status of customers&#x2019; trade accounts receivable. Customers are pooled based on sharing specific risk factors, including geographic location. Due to the short-term nature of such receivables, the estimated accounts receivable that may not be collected is based on aging of the accounts receivable balances. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Customers are assessed for credit worthiness upfront through a credit review, which includes assessment based on the Company&#x2019;s analysis of their financial statements when a credit rating is not available. The Company evaluates contract terms and conditions, country and political risk, and may require prepayment to mitigate risk of loss. Specific allowance amounts are established to record the appropriate provision for customers that have a higher probability of default. The Company monitors changes to the receivables balance on a timely basis, and balances are written off as they are determined to be uncollectable after all collection efforts have been exhausted. Estimates of potential credit losses are used to determine the allowance. It is based on assessment of anticipated payment and all other historical, current and future information that is reasonably available. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The accounts receivable balance on the Company&#x2019;s consolidated balance sheet as of December&#160;31, 2020 was $71.3&#160;million, net of $0.8&#160;million of allowances. The following table provides a roll-forward of the allowance for credit losses in 2020 that is deducted from the amortized cost basis of accounts receivable to present the net amount expected to be collected (amounts in thousands): &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 91%;"/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Balance at January&#160;1, 2020&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;(525&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Current period change for expected credit losses&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;(133&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Balance at March&#160;31, 2020&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;(658&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Current period change for write-offs&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;37&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Current period change for expected credit losses&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;83&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Balance at June&#160;30, 2020&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;(538&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Current period change for expected credit losses&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;(83&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Balance at September&#160;30, 2020&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;(621&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Current period change for write-offs&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;65&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Current period change for expected credit losses&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;(206&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Balance at December&#160;31, 2020&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;(762&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; </us-gaap:CreditLossFinancialInstrumentTextBlock>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="PAsOn12_31_2020"
      decimals="-5"
      unitRef="Unit_USD">71300000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="PAsOn12_31_2020"
      decimals="-5"
      unitRef="Unit_USD">800000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock contextRef="P01_01_2020To12_31_2020">The following table provides a roll-forward of the allowance for credit losses in 2020 that is deducted from the amortized cost basis of accounts receivable to present the net amount expected to be collected (amounts in thousands):
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 91%;"/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Balance at January&#160;1, 2020&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;(525&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Current period change for expected credit losses&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;(133&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Balance at March&#160;31, 2020&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;(658&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Current period change for write-offs&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;37&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Current period change for expected credit losses&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;83&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Balance at June&#160;30, 2020&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;(538&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Current period change for expected credit losses&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;(83&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Balance at September&#160;30, 2020&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;(621&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Current period change for write-offs&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;65&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Current period change for expected credit losses&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;(206&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Balance at December&#160;31, 2020&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;(762&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; </us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">525000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="P01_01_2020To03_31_2020"
      decimals="-3"
      unitRef="Unit_USD">-133000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="PAsOn03_31_2020"
      decimals="-3"
      unitRef="Unit_USD">658000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs
      contextRef="P04_01_2020To06_30_2020"
      decimals="-3"
      unitRef="Unit_USD">37000</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="P04_01_2020To06_30_2020"
      decimals="-3"
      unitRef="Unit_USD">83000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="PAsOn06_30_2020"
      decimals="-3"
      unitRef="Unit_USD">538000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="P07_01_2020To09_30_2020"
      decimals="-3"
      unitRef="Unit_USD">-83000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="PAsOn09_30_2020"
      decimals="-3"
      unitRef="Unit_USD">621000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs
      contextRef="P10_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">65000</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="P10_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">-206000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">762000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock contextRef="P01_01_2020To12_31_2020">
&lt;table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="page-break-inside: avoid;"&gt;
&lt;td style="width: 4%; vertical-align: top;;text-align:left;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;7.&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: top;;text-align:left;"&gt; &lt;div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Goodwill and Intangible Assets &lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style="clear: both; max-height: 0px; background: none;"/&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Goodwill &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Goodwill represents the difference between the purchase price and the estimated fair value of identifiable assets acquired and liabilities assumed. Goodwill acquired in a business combination and determined to have an indefinite useful life is not amortized, but instead is tested for impairment at least annually in accordance with ASC 350. The following table represents the changes in the carrying value of goodwill for the years ended December&#160;31, 2020 and 2019 (amounts in thousands): &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 86%; font-family: ARIAL;"/&gt;
&lt;td style="width: 5%; vertical-align: bottom; font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Balance as of December&#160;31, 2018&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;326,735&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Acquisition of C Technologies&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;142,021&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Cumulative translation adjustment&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(343&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Balance as of December&#160;31, 2019&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;468,413&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Measurement period adjustment - C Technologies&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;293&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Acquisition of EMT&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;12,585&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Acquisition of NMS&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;6,784&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Acquisition of ARTeSYN&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;128,658&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Cumulative translation adjustment&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,572&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Balance as of December&#160;31, 2020&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;618,305&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;  &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;During each of the fourth quarters of 2020, 2019 and 2018, the Company completed its annual impairment assessments and concluded that goodwill was not impaired in any of those years. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Intangible Assets &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Intangible assets with a definitive life are amortized over their useful lives using the straight-line method, and the amortization expense is recorded within cost of product revenue and selling, general and administrative expense in the Company&#x2019;s consolidated statements of comprehensive income. Intangible assets and their related useful lives are reviewed at least annually to determine if any adverse conditions exist that would indicate the carrying value of these assets may not be recoverable. More frequent impairment assessments are conducted if certain conditions exist, including a change in the competitive landscape, any internal decisions to pursue new or different technology strategies, a loss of a significant customer, or a significant change in the marketplace, including changes in the prices paid for the Company&#x2019;s products or changes in the size of the market for the Company&#x2019;s products. If impairment indicators are present, the Company determines whether the underlying intangible asset is recoverable through estimated future undiscounted cash flows. If the asset is not found to be recoverable, it is written down to the estimated fair value of the asset based on the sum of the future discounted cash flows expected to result from the use and disposition of the asset. If the estimate of an intangible asset&#x2019;s remaining useful life is changed, the remaining carrying amount of the intangible asset is amortized prospectively over the revised remaining useful life. The Company continues to believe that its definite-lived intangible assets are recoverable at December&#160;31, 2020. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Indefinite-lived intangible assets are tested for impairment at least annually. There has been no impairment of our intangible assets for the periods presented. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Intangible assets, net consisted of the following at December&#160;31, 2020: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 45%;"/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="14" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;December&#160;31, 2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Gross&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Carrying&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Value&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Accumulated&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Amortization&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Net&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Carrying&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Value&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Weighted&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Average&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Useful&#160;Life&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(in years)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="10" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts in thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Finite-lived intangible assets:&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Technology - developed&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;114,217&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(14,444&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;99,773&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;17&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Patents&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;240&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(240&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;8&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Customer relationships&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;217,790&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(37,333&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;180,457&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;16&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Trademarks&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;5,893&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(541&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;5,352&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;20&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Other intangibles&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;2,142&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(1,324&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;818&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;3&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total finite-lived intangible assets&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;340,282&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(53,882&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;286,400&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;16&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Indefinite-lived intangible asset:&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Trademarks&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;700&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;700&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total intangible assets&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;340,982&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(53,882&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;287,100&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;   &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Intangible assets consisted of the following at December&#160;31, 2019: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 45%;"/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="14" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;December&#160;31, 2019&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Gross&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Carrying&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Value&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Accumulated&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Amortization&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Net&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Carrying&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Value&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Weighted&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Average&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Useful&#160;Life&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(in years)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="10" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts in thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Finite-lived intangible assets:&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Technology - developed&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;82,169&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(9,669&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;72,500&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;19&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Patents&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;240&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(240&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;8&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Customer relationships&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;160,825&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(25,642&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;135,183&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;15&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Trademarks&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;3,752&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(333&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;3,419&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;20&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Other intangibles&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,697&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(947&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;750&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;3&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total finite-lived intangible assets&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;248,683&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(36,831&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;211,852&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;16&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Indefinite-lived intangible asset:&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Trademarks&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;700&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;700&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total intangible assets&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;249,383&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(36,831&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;212,552&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;  &lt;div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Amortization expense for finite-lived intangible assets was $16.1&#160;million, $13.6&#160;million and $10.6&#160;million for the years ended December&#160;31, 2020, 2019 and 2018, respectively. As of December&#160;31, 2020, the Company expects to record the following amortization expense (amounts in thousands): &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 80%; font-family: ARIAL;"/&gt;
&lt;td style="width: 9%; vertical-align: bottom; font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap; padding-bottom: 1pt;"&gt; &lt;div style="font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: table-cell; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;For the Years Ended December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Estimated&lt;br/&gt; Amortization&lt;br/&gt; Expense&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2021&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;20,767&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2022&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;20,765&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2023&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;20,648&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2024&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;20,080&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2025&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;19,813&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2026 and thereafter&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;184,327&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;286,400&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; </us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfGoodwillTextBlock contextRef="P01_01_2020To12_31_2020">The following table represents the changes in the carrying value of goodwill for the years ended December&#160;31, 2020 and 2019 (amounts in thousands):
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 86%; font-family: ARIAL;"/&gt;
&lt;td style="width: 5%; vertical-align: bottom; font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Balance as of December&#160;31, 2018&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;326,735&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Acquisition of C Technologies&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;142,021&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Cumulative translation adjustment&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(343&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Balance as of December&#160;31, 2019&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;468,413&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Measurement period adjustment - C Technologies&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;293&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Acquisition of EMT&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;12,585&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Acquisition of NMS&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;6,784&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Acquisition of ARTeSYN&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;128,658&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Cumulative translation adjustment&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,572&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Balance as of December&#160;31, 2020&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;618,305&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; </us-gaap:ScheduleOfGoodwillTextBlock>
    <us-gaap:Goodwill
      contextRef="PAsOn12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">326735000</us-gaap:Goodwill>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="P01_01_2019To12_31_2019_CTechnologiesMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">142021000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">343000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:Goodwill
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">468413000</us-gaap:Goodwill>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="P01_01_2020To12_31_2020_SpectrumIncMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">293000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="P01_01_2020To12_31_2020_CTechnologiesMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">12585000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="P01_01_2020To12_31_2020_NonMetallicSolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">6784000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis"
      decimals="-3"
      unitRef="Unit_USD">128658000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">-1572000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:Goodwill
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">618305000</us-gaap:Goodwill>
    <rgen:ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Intangible assets, net consisted of the following at December&#160;31, 2020: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 45%;"/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="14" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;December&#160;31, 2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Gross&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Carrying&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Value&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Accumulated&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Amortization&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Net&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Carrying&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Value&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Weighted&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Average&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Useful&#160;Life&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(in years)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="10" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts in thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Finite-lived intangible assets:&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Technology - developed&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;114,217&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(14,444&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;99,773&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;17&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Patents&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;240&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(240&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;8&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Customer relationships&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;217,790&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(37,333&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;180,457&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;16&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Trademarks&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;5,893&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(541&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;5,352&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;20&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Other intangibles&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;2,142&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(1,324&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;818&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;3&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total finite-lived intangible assets&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;340,282&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(53,882&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;286,400&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;16&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Indefinite-lived intangible asset:&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Trademarks&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;700&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;700&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total intangible assets&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;340,982&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(53,882&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;287,100&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;  &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Intangible assets consisted of the following at December&#160;31, 2019: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 45%;"/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="14" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;December&#160;31, 2019&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Gross&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Carrying&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Value&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Accumulated&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Amortization&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Net&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Carrying&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Value&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Weighted&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Average&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Useful&#160;Life&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(in years)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="10" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts in thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Finite-lived intangible assets:&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Technology - developed&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;82,169&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(9,669&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;72,500&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;19&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Patents&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;240&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(240&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;8&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Customer relationships&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;160,825&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(25,642&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;135,183&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;15&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Trademarks&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;3,752&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(333&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;3,419&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;20&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Other intangibles&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,697&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(947&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;750&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;3&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total finite-lived intangible assets&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;248,683&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(36,831&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;211,852&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;16&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Indefinite-lived intangible asset:&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Trademarks&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;700&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;700&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total intangible assets&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;249,383&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(36,831&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;212,552&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; </rgen:ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="PAsOn12_31_2020_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">114217000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="PAsOn12_31_2020_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">14444000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="PAsOn12_31_2020_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">99773000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="P01_01_2020To12_31_2020_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">P17Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="PAsOn12_31_2020_PatentsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">240000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="PAsOn12_31_2020_PatentsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">240000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="P01_01_2020To12_31_2020_PatentsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">P8Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="PAsOn12_31_2020_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">217790000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="PAsOn12_31_2020_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">37333000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="PAsOn12_31_2020_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">180457000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="P01_01_2020To12_31_2020_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">P16Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="PAsOn12_31_2020_TrademarksMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">5893000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="PAsOn12_31_2020_TrademarksMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">541000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="PAsOn12_31_2020_TrademarksMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">5352000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="P01_01_2020To12_31_2020_TrademarksMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">P20Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="PAsOn12_31_2020_OtherIntangibleAssetsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">2142000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="PAsOn12_31_2020_OtherIntangibleAssetsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">1324000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="PAsOn12_31_2020_OtherIntangibleAssetsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">818000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="P01_01_2020To12_31_2020_OtherIntangibleAssetsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">P3Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">340282000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">53882000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">286400000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="P01_01_2020To12_31_2020">P16Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="PAsOn12_31_2020_TrademarksMemberusgaapIndefiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">700000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <rgen:IndefiniteLivedIntangibleAssetsNet
      contextRef="PAsOn12_31_2020_TrademarksMemberusgaapIndefiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">700000</rgen:IndefiniteLivedIntangibleAssetsNet>
    <us-gaap:IntangibleAssetsGrossExcludingGoodwill
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">340982000</us-gaap:IntangibleAssetsGrossExcludingGoodwill>
    <rgen:IndefiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">-53882000</rgen:IndefiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">287100000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="PAsOn12_31_2019_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">82169000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="PAsOn12_31_2019_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">9669000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="PAsOn12_31_2019_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">72500000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="P01_01_2019To12_31_2019_DevelopedTechnologyRightsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">P19Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="PAsOn12_31_2019_PatentsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">240000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="PAsOn12_31_2019_PatentsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">240000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="P01_01_2019To12_31_2019_PatentsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">P8Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="PAsOn12_31_2019_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">160825000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="PAsOn12_31_2019_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">25642000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="PAsOn12_31_2019_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">135183000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="P01_01_2019To12_31_2019_CustomerRelationshipsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">P15Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="PAsOn12_31_2019_TrademarksMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">3752000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="PAsOn12_31_2019_TrademarksMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">333000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="PAsOn12_31_2019_TrademarksMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">3419000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="P01_01_2019To12_31_2019_TrademarksMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">P20Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="PAsOn12_31_2019_OtherIntangibleAssetsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">1697000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="PAsOn12_31_2019_OtherIntangibleAssetsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">947000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="PAsOn12_31_2019_OtherIntangibleAssetsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">750000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="P01_01_2019To12_31_2019_OtherIntangibleAssetsMemberusgaapFiniteLivedIntangibleAssetsByMajorClassAxis">P3Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">248683000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">36831000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">211852000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="P01_01_2019To12_31_2019">P16Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="PAsOn12_31_2019_TrademarksMemberusgaapIndefiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">700000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <rgen:IndefiniteLivedIntangibleAssetsNet
      contextRef="PAsOn12_31_2019_TrademarksMemberusgaapIndefiniteLivedIntangibleAssetsByMajorClassAxis"
      decimals="-3"
      unitRef="Unit_USD">700000</rgen:IndefiniteLivedIntangibleAssetsNet>
    <us-gaap:IntangibleAssetsGrossExcludingGoodwill
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">249383000</us-gaap:IntangibleAssetsGrossExcludingGoodwill>
    <rgen:IndefiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">-36831000</rgen:IndefiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">212552000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Amortization expense for finite-lived intangible assets was $16.1&#160;million, $13.6&#160;million and $10.6&#160;million for the years ended December&#160;31, 2020, 2019 and 2018, respectively. As of December&#160;31, 2020, the Company expects to record the following amortization expense (amounts in thousands): &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 80%; font-family: ARIAL;"/&gt;
&lt;td style="width: 9%; vertical-align: bottom; font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap; padding-bottom: 1pt;"&gt; &lt;div style="font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: table-cell; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;For the Years Ended December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Estimated&lt;br/&gt; Amortization&lt;br/&gt; Expense&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2021&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;20,767&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2022&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;20,765&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2023&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;20,648&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2024&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;20,080&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2025&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;19,813&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2026 and thereafter&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;184,327&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;286,400&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; </us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="P01_01_2020To12_31_2020"
      decimals="-5"
      unitRef="Unit_USD">16100000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="P01_01_2019To12_31_2019"
      decimals="-5"
      unitRef="Unit_USD">13600000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="P01_01_2018To12_31_2018"
      decimals="-5"
      unitRef="Unit_USD">10600000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">20767000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">20765000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">20648000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">20080000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">19813000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">184327000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">286400000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:SupplementalBalanceSheetDisclosuresTextBlock contextRef="P01_01_2020To12_31_2020">
&lt;table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="page-break-inside: avoid;"&gt;
&lt;td style="width: 4%; vertical-align: top;;text-align:left;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;8.&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: top;;text-align:left;"&gt; &lt;div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Consolidated Balance Sheet Detail &lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style="clear: both; max-height: 0px; background: none;"/&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Inventories, net &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Inventories, net consists of the following: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 70%;"/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2019&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts&#160;in&#160;thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Raw materials&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;48,746&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;29,328&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Work-in-process&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;8,084&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;8,360&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Finished products&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;38,195&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;17,144&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total inventories, net&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;95,025&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;54,832&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;  &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Prepaid Expenses and Other Current Assets &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Prepaid expenses and other current assets consist of the following: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 72%;"/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2019&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts&#160;in&#160;thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Equipment maintenance and services&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;4,601&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,662&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Prepaid income taxes&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;2,649&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;2,719&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Prepaid insurance&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,936&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;80&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Other&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;9,490&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,456&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total prepaid expenses and other current assets&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;18,676&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;5,917&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;  &lt;div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Property, Plant and Equipment &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Property, plant and equipment consist of the following: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 68%;"/&gt;
&lt;td style="width: 7%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 7%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2019&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts in thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Land&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,023&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,023&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Buildings&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,007&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;764&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Leasehold improvements&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;31,331&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;23,905&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Equipment&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;43,072&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;36,257&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Furniture, fixtures and office equipment&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;8,714&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;6,312&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Computer hardware and software&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;15,397&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;8,810&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Construction in progress&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;14,927&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;6,707&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Other&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;455&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;56&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total property, plant and equipment&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;115,926&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;83,834&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Less - Accumulated depreciation&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(49,056&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;(35,379&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total property, plant and equipment, net&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;66,870&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;48,455&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;  &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Depreciation expense totaled $10.9&#160;million, $7.3&#160;million and $5.2&#160;million in the fiscal years ended December&#160;31, 2020, 2019 and 2018, respectively. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Accrued Liabilities &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Accrued liabilities consist of the following: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 70%;"/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2019&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts&#160;in&#160;thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Employee compensation&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;20,288&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;19,850&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Income taxes payable&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,423&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;3,874&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Royalty and license fees&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;466&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;123&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Warranties&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,576&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,500&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Professional fees&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,425&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,081&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Deferred revenue&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;15,318&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;5,005&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Other&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;12,589&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,898&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total accrued liabilities&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;53,085&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;33,331&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; </us-gaap:SupplementalBalanceSheetDisclosuresTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Inventories, net consists of the following: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 70%;"/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2019&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts&#160;in&#160;thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Raw materials&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;48,746&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;29,328&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Work-in-process&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;8,084&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;8,360&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Finished products&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;38,195&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;17,144&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total inventories, net&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;95,025&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;54,832&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; </us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">48746000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">29328000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">8084000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">8360000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">38195000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">17144000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryNet
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">95025000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">54832000</us-gaap:InventoryNet>
    <us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Prepaid expenses and other current assets consist of the following: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 72%;"/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2019&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts&#160;in&#160;thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Equipment maintenance and services&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;4,601&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,662&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Prepaid income taxes&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;2,649&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;2,719&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Prepaid insurance&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,936&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;80&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Other&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;9,490&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,456&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total prepaid expenses and other current assets&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;18,676&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;5,917&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; </us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock>
    <rgen:PrepaidServicesAndProfessionalFees
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">4601000</rgen:PrepaidServicesAndProfessionalFees>
    <rgen:PrepaidServicesAndProfessionalFees
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">1662000</rgen:PrepaidServicesAndProfessionalFees>
    <us-gaap:PrepaidTaxes
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">2649000</us-gaap:PrepaidTaxes>
    <us-gaap:PrepaidTaxes
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">2719000</us-gaap:PrepaidTaxes>
    <us-gaap:PrepaidInsurance
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">1936000</us-gaap:PrepaidInsurance>
    <us-gaap:PrepaidInsurance
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">80000</us-gaap:PrepaidInsurance>
    <us-gaap:OtherAssetsCurrent
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">9490000</us-gaap:OtherAssetsCurrent>
    <us-gaap:OtherAssetsCurrent
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">1456000</us-gaap:OtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">18676000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">5917000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentTextBlock contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Property, plant and equipment consist of the following: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 68%;"/&gt;
&lt;td style="width: 7%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 7%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2019&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts in thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Land&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,023&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,023&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Buildings&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,007&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;764&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Leasehold improvements&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;31,331&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;23,905&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Equipment&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;43,072&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;36,257&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Furniture, fixtures and office equipment&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;8,714&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;6,312&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Computer hardware and software&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;15,397&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;8,810&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Construction in progress&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;14,927&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;6,707&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Other&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;455&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;56&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total property, plant and equipment&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;115,926&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;83,834&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Less - Accumulated depreciation&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(49,056&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;(35,379&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total property, plant and equipment, net&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;66,870&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;48,455&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; </us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:Land
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">1023000</us-gaap:Land>
    <us-gaap:Land
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">1023000</us-gaap:Land>
    <us-gaap:BuildingsAndImprovementsGross
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">1007000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:BuildingsAndImprovementsGross
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">764000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:LeaseholdImprovementsGross
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">31331000</us-gaap:LeaseholdImprovementsGross>
    <us-gaap:LeaseholdImprovementsGross
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">23905000</us-gaap:LeaseholdImprovementsGross>
    <us-gaap:MachineryAndEquipmentGross
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">43072000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:MachineryAndEquipmentGross
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">36257000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:FurnitureAndFixturesGross
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">8714000</us-gaap:FurnitureAndFixturesGross>
    <us-gaap:FurnitureAndFixturesGross
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">6312000</us-gaap:FurnitureAndFixturesGross>
    <us-gaap:CapitalizedComputerSoftwareGross
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">15397000</us-gaap:CapitalizedComputerSoftwareGross>
    <us-gaap:CapitalizedComputerSoftwareGross
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">8810000</us-gaap:CapitalizedComputerSoftwareGross>
    <us-gaap:ConstructionInProgressGross
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">14927000</us-gaap:ConstructionInProgressGross>
    <us-gaap:ConstructionInProgressGross
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">6707000</us-gaap:ConstructionInProgressGross>
    <us-gaap:PropertyPlantAndEquipmentOther
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">455000</us-gaap:PropertyPlantAndEquipmentOther>
    <us-gaap:PropertyPlantAndEquipmentOther
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">56000</us-gaap:PropertyPlantAndEquipmentOther>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">115926000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">83834000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">49056000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">35379000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">66870000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">48455000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Depreciation
      contextRef="P01_01_2020To12_31_2020"
      decimals="-5"
      unitRef="Unit_USD">10900000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="P01_01_2019To12_31_2019"
      decimals="-5"
      unitRef="Unit_USD">7300000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="P01_01_2018To12_31_2018"
      decimals="-5"
      unitRef="Unit_USD">5200000</us-gaap:Depreciation>
    <us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Accrued liabilities consist of the following: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 70%;"/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2019&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts&#160;in&#160;thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Employee compensation&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;20,288&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;19,850&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Income taxes payable&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,423&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;3,874&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Royalty and license fees&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;466&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;123&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Warranties&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,576&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,500&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Professional fees&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,425&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,081&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Deferred revenue&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;15,318&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;5,005&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Other&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;12,589&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,898&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total accrued liabilities&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;53,085&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;33,331&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; </us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">20288000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">19850000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:AccruedIncomeTaxesCurrent
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">1423000</us-gaap:AccruedIncomeTaxesCurrent>
    <us-gaap:AccruedIncomeTaxesCurrent
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">3874000</us-gaap:AccruedIncomeTaxesCurrent>
    <us-gaap:AccruedRoyaltiesCurrent
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">466000</us-gaap:AccruedRoyaltiesCurrent>
    <us-gaap:AccruedRoyaltiesCurrent
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">123000</us-gaap:AccruedRoyaltiesCurrent>
    <us-gaap:ProductWarrantyAccrualClassifiedCurrent
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">1576000</us-gaap:ProductWarrantyAccrualClassifiedCurrent>
    <us-gaap:ProductWarrantyAccrualClassifiedCurrent
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">1500000</us-gaap:ProductWarrantyAccrualClassifiedCurrent>
    <us-gaap:AccruedProfessionalFeesCurrent
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">1425000</us-gaap:AccruedProfessionalFeesCurrent>
    <us-gaap:AccruedProfessionalFeesCurrent
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">1081000</us-gaap:AccruedProfessionalFeesCurrent>
    <us-gaap:DeferredRevenueCurrent
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">15318000</us-gaap:DeferredRevenueCurrent>
    <us-gaap:DeferredRevenueCurrent
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">5005000</us-gaap:DeferredRevenueCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">12589000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">1898000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">53085000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">33331000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:IncomeTaxDisclosureTextBlock contextRef="P01_01_2020To12_31_2020">&lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt; text-indent: 0px;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="page-break-inside: avoid;"&gt;
&lt;td style="width: 4%; vertical-align: top;;text-align:left;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;9.&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: top;;text-align:left;"&gt; &lt;div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Income Taxes &lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The components of income before income taxes are as follows: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 8pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 70%;"/&gt;
&lt;td style="width: 3%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 3%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 3%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;For&#160;the&#160;Years&#160;Ended&#160;December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&#160;&#160;&#160;2020&#160;&#160;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&#160;&#160;&#160;2019&#160;&#160;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&#160;&#160;&#160;2018&#160;&#160;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="10" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts in thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Domestic&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;27,545&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(5,432&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(73&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Foreign&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;31,672&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;31,583&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;21,509&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Income before income taxes&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;59,217&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;26,151&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;21,436&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The components of the income tax provision are as follows: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 69%;"/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;For&#160;the&#160;Years&#160;Ended&#160;December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&#160;&#160;&#160;2020&#160;&#160;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&#160;&#160;&#160;2019&#160;&#160;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&#160;&#160;&#160;2018&#160;&#160;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="10" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts in thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Components of the income tax (benefit) provision:&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Current&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;5,193&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;8,290&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;4,354&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Deferred&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(5,902&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(5,287&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;465&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Equity&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,737&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(709&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;4,740&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;4,819&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Jurisdictional components of the income tax (benefit) provision:&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Federal&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(4,741&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(965&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(393&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;State&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(3,011&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(1,764&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;718&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Foreign&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;7,043&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;7,469&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;4,494&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(709&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;4,740&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;4,819&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;During 2020, the Company generated $4.0&#160;million in federal net operating losses and $1.1&#160;million in state net operating losses. At December&#160;31, 2020, the &lt;/div&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;Company had federal net operating loss carryforwards of &lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;$2.9&#160;million and state net operating loss carryforwards of $3.5&#160;million. The federal net operating loss carryforwards do not expire while the state net operating loss carryforwards will expire&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;at various dates through December 2040.&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;At December&#160;31, 2020, the Company had federal business tax credits carryforwards of $6.2&#160;million and state business tax credits carryforwards of $3.2&#160;million available to reduce future domestic income taxes. The business tax credit carryforwards will expire at various dates through December 2040. The net operating loss and business tax credit carryforwards are subject to review and possible adjustment by the Internal Revenue Service and may be limited in the event of certain changes in the ownership interest of significant stockholders. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The components of deferred income taxes are as follows:&lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 68%;"/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2019&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts in thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Deferred tax assets:&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Temporary timing differences:&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Stock-based compensation expense&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;3,320&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;2,922&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Operating leases&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;7,257&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;7,295&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Accrued bonus&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;25&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,379&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Other&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;5,749&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;4,994&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 7em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total temporary timing differences&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;16,351&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;16,590&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Net operating loss carryforwards&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,539&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;221&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Tax business credits carryforwards&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;5,553&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;924&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total deferred tax assets&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;23,443&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;17,735&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Less: valuation allowance&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(727&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(6&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 7em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Net deferred tax assets&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;22,716&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;17,729&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Deferred tax liabilities:&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Goodwill&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(1,487&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(1,288&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Fixed assets&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(4,233&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(1,650&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Acquired intangible assets&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(27,152&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(24,605&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Operating lease right of use assets&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(5,744&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(6,144&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Conversion option on convertible notes&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(8,651&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(11,066&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 7em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total deferred tax liabilities&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(47,267&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(44,753&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total net deferred tax liabilities&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(24,551&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(27,024&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The net change in the total valuation allowance for the year ended December&#160;31, 20&lt;div style="display:inline;"&gt;20&lt;/div&gt;&#160;and 201&lt;div style="display:inline;"&gt;9&lt;/div&gt;&#160;was an increase of $0.7&#160;million and a decrease of $0.1&#160;million, respectively. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The reconciliation of the federal statutory rate to the effective income tax rate for the years ended December&#160;31, 2020, 2019 and 2018 is as follows: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 56%;"/&gt;
&lt;td style="width: 2%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 2%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 2%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 2%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 2%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 2%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="22" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;For the Years Ended December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2019&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2018&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Amount&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Amount&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Amount&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="22" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts in thousands, except percentages)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Income before income taxes&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;59,217&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;26,151&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;21,436&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Expected tax at statutory rate&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;12,436&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;21.0&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;5,492&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;21.0&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;4,502&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;21.0&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Adjustments due to:&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Difference between U.S. and foreign tax&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;618&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1.0&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;436&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1.7&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;345&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1.6&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;State income and franchise tax&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;133&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.2&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(179&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(0.7&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;91&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.4&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Business tax credits&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(4,660&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(7.9&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(2,746&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;(10.5&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(1,760&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(8.2&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Permanent differences:&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Stock-based compensation expense&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(9,243&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;(15.6&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(1,877&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(7.2&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(1,213&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(5.7&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;U.S. taxation of foreign earnings&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;51&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.1&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;2,227&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;8.5&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;2,190&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;10.2&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Executive compensation&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,401&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;2.4&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;841&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;3.2&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;367&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1.7&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Other&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;896&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1.5&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;92&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.4&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;97&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.5&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Change in U.S. federal tax rates&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(2,192&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(3.7&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.0&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.0&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Change in U.S. state tax rates&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(708&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(1.2&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.0&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;748&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;3.5&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Change in Netherlands tax rate&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;250&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.4&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(193&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(0.7&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(388&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(1.8&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Transition tax&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.0&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.0&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(1,338&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(6.2&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Uncertain tax provisions&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(168&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(0.3&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,069&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;4.1&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,021&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;4.8&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Change in valuation allowance&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(12&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(0.0&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(125&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(0.5&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;125&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.6&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Return to provision adjustments&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(89&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(0.2&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(79&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(0.3&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;33&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.2&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Other&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;578&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1.0&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(218&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(0.8&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(1&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(0.1&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Income tax provision&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(709&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(1.2&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;4,740&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;18.1&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;4,819&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;22.5&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The Company&#x2019;s tax returns are subject to examination by federal, state and foreign tax authorities. The Company&#x2019;s two major tax jurisdictions are subject to examination for the following periods: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 72%; font-family: ARIAL;"/&gt;
&lt;td style="width: 13%; vertical-align: bottom; font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid; white-space: nowrap;;text-align:center;"&gt;&lt;div style="text-align: center; font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 1pt; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Jurisdiction&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Fiscal&#160;Years&#160;Subject&lt;br/&gt; to Examination&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;United States - federal and state&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2017-2020&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Sweden&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;2013-2020&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The following is a tabular reconciliation of the total amounts of unrecognized tax benefits: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 64%;"/&gt;
&lt;td style="width: 11%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 11%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;For&#160;the&#160;Years&#160;Ended&#160;December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&#160;&#160;&#160;2020&#160;&#160;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&#160;&#160;&#160;2019&#160;&#160;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts in thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Balance of gross unrecognized tax benefits, beginning of period&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;3,422&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;2,852&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Gross amounts of increases in unrecognized tax benefits as a result of tax positions taken in the current period&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;154&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;602&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Gross amounts of decreases in unrecognized tax benefits as a result of tax positions taken in the prior period&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(337&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(16&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Gross amounts of decrease due to release&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(39&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(16&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Balance of gross unrecognized tax benefits, end of period&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;3,200&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;3,422&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Included in the balance of unrecognized tax benefits as of December&#160;31, 2020 are $3.1&#160;million of tax benefits that, if recognized, would affect the effective tax rate. The Company classifies interest and penalties related to income taxes as components of its income tax provision. The amount of interest and penalties recorded in the accompanying consolidated statements of comprehensive income was approximately $17,000, $5,000 and $1,000 for the years ended December&#160;31, 2020, 2019 and 2018, respectively. The amount of interest and penalties recorded in the accompanying consolidated balance sheets was approximately $58,000 and $41,000 as of December&#160;31, 2020 and 2019, respectively. The Company does not anticipate the amount of unrecognized tax benefits to change over the next twelve months. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;On March&#160;27, 2020, President Trump signed the $2.2 trillion bipartisan Coronavirus Aid, Relief, and Economic Security (&#x201c;CARES&#x201d;) Act. The CARES Act, the third congressional bill to address &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;COVID-19,&lt;/div&gt; provides for loans and other benefits to businesses, expanded unemployment insurance, direct payments to those with middle-income and below wages, new appropriations funding for healthcare and other priorities, and tax changes, including deferrals of employer payroll tax liabilities, coupled with an employee retention tax credit and rollbacks of TCJA limitations on net operating losses (&#x201c;NOLs&#x201d;) and the Section&#160;163(j) business interest limitation and a TCJA technical correction on qualified improvement property. The Company evaluated the provisions of the CARES Act and no provision had a material effect on the Company&#x2019;s financial position or results of operations at December&#160;31, 2020 and for the year then ended. &lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;The Company is subject to a territorial tax system under the Tax Cuts and Jobs Act (&#x201c;TCJA&#x201d;) enacted in December 2017 (the &#x201c;2017 Tax Act&#x201d;), in which the Company is required to provide for tax on Global Intangible &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Low-Taxed&lt;/div&gt; Income (&#x201c;GILTI&#x201d;) earned by certain foreign subsidiaries. The Company has adopted an accounting policy to provide for the tax expense related to GILTI in the year the tax is incurred as a period expense. &lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The Company also considered the impact of the newly issued tax regulations in recording its income tax accounts for the year ending December&#160;31, 2020 which reduced the foreign earnings subject to taxation under the GILTI provisions for the year ended December&#160;31, 2018 and prospectively. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;As of December&#160;31, 2020, the Company has accumulated undistributed earnings generated by its foreign subsidiaries of approximately $113.1&#160;million. Because $58.0&#160;million of such earnings have previously been subject to the &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;one-time&lt;/div&gt; transition tax on foreign earnings required by the 2017 Tax Act, any additional taxes due with respect to such earnings or the excess of the amount for financial reporting over the tax basis of the Company&#x2019;s foreign investments would generally be limited to foreign and state&lt;/div&gt; &lt;div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;taxes. At December&#160;31, 2020, the Company has not provided for taxes on outside basis differences of its foreign subsidiaries, as the Company has the ability and intent to indefinitely reinvest the undistributed earnings of its foreign subsidiaries, and there are no needs for such earnings in the United States that would contradict its plan to indefinitely reinvest. &lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;ASU 2016-16, &lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;&#x201c;Intra-Entity Transfers of Assets Other Than Inventory,&#x201d;&lt;/div&gt;&lt;/div&gt; requires the income tax consequences of intra-entity transfers of assets other than inventory to be recognized when the intra-entity transfer occurs rather than deferring recognition of income tax consequences until the transfer was made with an outside party. The Company adopted the provisions of this ASU in the first quarter of 2018. The adoption resulted in a decrease of $5.7 million&#160;to other assets, a decrease of $5.0 million&#160;to deferred tax liabilities and a decrease of&#160;$0.7 million&#160;to accumulated deficit at January&#160;1, 2018.&lt;/div&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The components of income before income taxes are as follows: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 8pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 70%;"/&gt;
&lt;td style="width: 3%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 3%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 3%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;For&#160;the&#160;Years&#160;Ended&#160;December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&#160;&#160;&#160;2020&#160;&#160;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&#160;&#160;&#160;2019&#160;&#160;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&#160;&#160;&#160;2018&#160;&#160;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="10" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts in thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Domestic&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;27,545&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(5,432&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(73&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Foreign&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;31,672&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;31,583&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;21,509&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Income before income taxes&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;59,217&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;26,151&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;21,436&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; </us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">27545000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">-5432000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">-73000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">31672000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">31583000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">21509000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">59217000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">26151000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">21436000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The components of the income tax provision are as follows: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 69%;"/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;For&#160;the&#160;Years&#160;Ended&#160;December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&#160;&#160;&#160;2020&#160;&#160;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&#160;&#160;&#160;2019&#160;&#160;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&#160;&#160;&#160;2018&#160;&#160;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="10" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts in thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Components of the income tax (benefit) provision:&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Current&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;5,193&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;8,290&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;4,354&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Deferred&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(5,902&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(5,287&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;465&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Equity&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,737&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(709&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;4,740&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;4,819&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Jurisdictional components of the income tax (benefit) provision:&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Federal&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(4,741&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(965&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(393&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;State&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(3,011&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(1,764&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;718&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Foreign&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;7,043&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;7,469&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;4,494&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(709&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;4,740&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;4,819&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt; </us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">5193000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">8290000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">4354000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <rgen:ProvisionForDeferredIncomeTaxExpenseBenefit
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">-5902000</rgen:ProvisionForDeferredIncomeTaxExpenseBenefit>
    <rgen:ProvisionForDeferredIncomeTaxExpenseBenefit
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">-5287000</rgen:ProvisionForDeferredIncomeTaxExpenseBenefit>
    <rgen:ProvisionForDeferredIncomeTaxExpenseBenefit
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">465000</rgen:ProvisionForDeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">1737000</us-gaap:IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">-709000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">4740000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">4819000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">-4741000</us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations>
    <us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">-965000</us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations>
    <us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">-393000</us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations>
    <us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperations
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">-3011000</us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperations>
    <us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperations
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">-1764000</us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperations>
    <us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperations
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">718000</us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperations>
    <us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperations
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">7043000</us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperations>
    <us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperations
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">7469000</us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperations>
    <us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperations
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">4494000</us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperations>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">-709000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">4740000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">4819000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:OperatingLossCarryforwards
      contextRef="PAsOn12_31_2020"
      decimals="-5"
      unitRef="Unit_USD">4000000.0</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="PAsOn12_31_2020_StateAndLocalJurisdictionMemberusgaapIncomeTaxAuthorityAxis"
      decimals="-5"
      unitRef="Unit_USD">1100000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="PAsOn12_31_2020_FederalAndStateMemberusgaapIncomeTaxAuthorityAxis"
      decimals="-5"
      unitRef="Unit_USD">2900000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:TaxCreditCarryforwardAmount
      contextRef="PAsOn12_31_2020_DomesticCountryMemberusgaapIncomeTaxAuthorityAxis"
      decimals="-5"
      unitRef="Unit_USD">3500000</us-gaap:TaxCreditCarryforwardAmount>
    <us-gaap:OtherInformationPertainingToIncomeTaxes contextRef="P01_01_2020To12_31_2020_LatestTaxYearMemberusgaapTaxPeriodAxis">at various dates through December 2040.</us-gaap:OtherInformationPertainingToIncomeTaxes>
    <us-gaap:TaxCreditCarryforwardAmount
      contextRef="PAsOn12_31_2020_DomesticCountryMemberusgaapIncomeTaxAuthorityAxis_TaxYear2040MemberusgaapTaxPeriodAxis"
      decimals="-5"
      unitRef="Unit_USD">6200000</us-gaap:TaxCreditCarryforwardAmount>
    <us-gaap:TaxCreditCarryforwardAmount
      contextRef="PAsOn12_31_2020_StateAndLocalJurisdictionMemberusgaapIncomeTaxAuthorityAxis_TaxYear2040MemberusgaapTaxPeriodAxis"
      decimals="-5"
      unitRef="Unit_USD">3200000</us-gaap:TaxCreditCarryforwardAmount>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The components of deferred income taxes are as follows:&lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 68%;"/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2019&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts in thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Deferred tax assets:&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Temporary timing differences:&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Stock-based compensation expense&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;3,320&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;2,922&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Operating leases&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;7,257&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;7,295&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Accrued bonus&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;25&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,379&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Other&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;5,749&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;4,994&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 7em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total temporary timing differences&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;16,351&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;16,590&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Net operating loss carryforwards&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,539&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;221&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Tax business credits carryforwards&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;5,553&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;924&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total deferred tax assets&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;23,443&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;17,735&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Less: valuation allowance&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(727&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(6&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 7em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Net deferred tax assets&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;22,716&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;17,729&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Deferred tax liabilities:&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Goodwill&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(1,487&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(1,288&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Fixed assets&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(4,233&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(1,650&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Acquired intangible assets&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(27,152&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(24,605&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Operating lease right of use assets&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(5,744&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(6,144&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Conversion option on convertible notes&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(8,651&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(11,066&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 7em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total deferred tax liabilities&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(47,267&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(44,753&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total net deferred tax liabilities&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(24,551&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(27,024&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt; </us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">3320000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">2922000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <rgen:DeferredTaxAssetsOperatingLeases
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">7257000</rgen:DeferredTaxAssetsOperatingLeases>
    <rgen:DeferredTaxAssetsOperatingLeases
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">7295000</rgen:DeferredTaxAssetsOperatingLeases>
    <rgen:DeferredTaxAssetsAccruedBonus
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">25000</rgen:DeferredTaxAssetsAccruedBonus>
    <rgen:DeferredTaxAssetsAccruedBonus
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">1379000</rgen:DeferredTaxAssetsAccruedBonus>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseOther
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">5749000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseOther>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseOther
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">4994000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseOther>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpense
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">16351000</us-gaap:DeferredTaxAssetsTaxDeferredExpense>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpense
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">16590000</us-gaap:DeferredTaxAssetsTaxDeferredExpense>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">1539000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">221000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwards
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">5553000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwards>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwards
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">924000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwards>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">23443000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">17735000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">727000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">6000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">22716000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">17729000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">1487000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">1288000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill>
    <rgen:DeferredIncomeTaxLiabilitiesFixedAssets
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">-4233000</rgen:DeferredIncomeTaxLiabilitiesFixedAssets>
    <rgen:DeferredIncomeTaxLiabilitiesFixedAssets
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">-1650000</rgen:DeferredIncomeTaxLiabilitiesFixedAssets>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">27152000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">24605000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets>
    <rgen:DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">-5744000</rgen:DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets>
    <rgen:DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">-6144000</rgen:DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets>
    <rgen:DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">8651000</rgen:DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes>
    <rgen:DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">11066000</rgen:DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">47267000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">44753000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredTaxLiabilities
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">24551000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:DeferredTaxLiabilities
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">27024000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount
      contextRef="P01_01_2020To12_31_2020"
      decimals="-5"
      unitRef="Unit_USD">-700000</us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount>
    <us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount
      contextRef="P01_01_2019To12_31_2019"
      decimals="-5"
      unitRef="Unit_USD">100000</us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The reconciliation of the federal statutory rate to the effective income tax rate for the years ended December&#160;31, 2020, 2019 and 2018 is as follows: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 56%;"/&gt;
&lt;td style="width: 2%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 2%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 2%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 2%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 2%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 2%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="22" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;For the Years Ended December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2019&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2018&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Amount&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Amount&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Amount&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="22" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts in thousands, except percentages)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Income before income taxes&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;59,217&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;26,151&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;21,436&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Expected tax at statutory rate&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;12,436&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;21.0&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;5,492&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;21.0&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;4,502&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;21.0&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Adjustments due to:&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Difference between U.S. and foreign tax&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;618&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1.0&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;436&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1.7&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;345&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1.6&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;State income and franchise tax&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;133&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.2&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(179&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(0.7&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;91&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.4&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Business tax credits&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(4,660&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(7.9&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(2,746&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;(10.5&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(1,760&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(8.2&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Permanent differences:&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Stock-based compensation expense&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(9,243&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;(15.6&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(1,877&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(7.2&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(1,213&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(5.7&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;U.S. taxation of foreign earnings&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;51&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.1&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;2,227&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;8.5&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;2,190&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;10.2&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Executive compensation&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,401&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;2.4&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;841&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;3.2&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;367&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1.7&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Other&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;896&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1.5&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;92&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.4&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;97&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.5&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Change in U.S. federal tax rates&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(2,192&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(3.7&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.0&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.0&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Change in U.S. state tax rates&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(708&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(1.2&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.0&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;748&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;3.5&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Change in Netherlands tax rate&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;250&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.4&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(193&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(0.7&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(388&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(1.8&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Transition tax&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.0&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.0&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(1,338&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(6.2&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Uncertain tax provisions&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(168&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(0.3&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,069&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;4.1&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,021&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;4.8&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Change in valuation allowance&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(12&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(0.0&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(125&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(0.5&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;125&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.6&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Return to provision adjustments&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(89&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(0.2&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(79&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(0.3&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;33&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.2&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Other&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;578&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1.0&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(218&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(0.8&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(1&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(0.1&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Income tax provision&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(709&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(1.2&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;4,740&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;18.1&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;4,819&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;22.5&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;%&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt; </us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">59217000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">26151000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">21436000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">12436000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="P01_01_2020To12_31_2020"
      decimals="INF"
      unitRef="Unit_pure">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">5492000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="P01_01_2019To12_31_2019"
      decimals="INF"
      unitRef="Unit_pure">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">4502000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="P01_01_2018To12_31_2018"
      decimals="INF"
      unitRef="Unit_pure">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">618000</us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="P01_01_2020To12_31_2020"
      decimals="3"
      unitRef="Unit_pure">0.010</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">436000</us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="P01_01_2019To12_31_2019"
      decimals="3"
      unitRef="Unit_pure">0.017</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">345000</us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="P01_01_2018To12_31_2018"
      decimals="3"
      unitRef="Unit_pure">0.016</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">133000</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="P01_01_2020To12_31_2020"
      decimals="3"
      unitRef="Unit_pure">0.002</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">-179000</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="P01_01_2019To12_31_2019"
      decimals="3"
      unitRef="Unit_pure">-0.007</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">91000</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="P01_01_2018To12_31_2018"
      decimals="3"
      unitRef="Unit_pure">0.004</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxReconciliationTaxCredits
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">4660000</us-gaap:IncomeTaxReconciliationTaxCredits>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits
      contextRef="P01_01_2020To12_31_2020"
      decimals="3"
      unitRef="Unit_pure">0.079</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits>
    <us-gaap:IncomeTaxReconciliationTaxCredits
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">2746000</us-gaap:IncomeTaxReconciliationTaxCredits>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits
      contextRef="P01_01_2019To12_31_2019"
      decimals="3"
      unitRef="Unit_pure">0.105</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits>
    <us-gaap:IncomeTaxReconciliationTaxCredits
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">1760000</us-gaap:IncomeTaxReconciliationTaxCredits>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits
      contextRef="P01_01_2018To12_31_2018"
      decimals="3"
      unitRef="Unit_pure">0.082</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">-9243000</us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="P01_01_2020To12_31_2020"
      decimals="3"
      unitRef="Unit_pure">-0.156</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">-1877000</us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="P01_01_2019To12_31_2019"
      decimals="3"
      unitRef="Unit_pure">-0.072</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">-1213000</us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="P01_01_2018To12_31_2018"
      decimals="3"
      unitRef="Unit_pure">-0.057</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:IncomeTaxReconciliationRepatriationOfForeignEarnings
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">51000</us-gaap:IncomeTaxReconciliationRepatriationOfForeignEarnings>
    <us-gaap:EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings
      contextRef="P01_01_2020To12_31_2020"
      decimals="3"
      unitRef="Unit_pure">0.001</us-gaap:EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings>
    <us-gaap:IncomeTaxReconciliationRepatriationOfForeignEarnings
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">2227000</us-gaap:IncomeTaxReconciliationRepatriationOfForeignEarnings>
    <us-gaap:EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings
      contextRef="P01_01_2019To12_31_2019"
      decimals="3"
      unitRef="Unit_pure">0.085</us-gaap:EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings>
    <us-gaap:IncomeTaxReconciliationRepatriationOfForeignEarnings
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">2190000</us-gaap:IncomeTaxReconciliationRepatriationOfForeignEarnings>
    <us-gaap:EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings
      contextRef="P01_01_2018To12_31_2018"
      decimals="3"
      unitRef="Unit_pure">0.102</us-gaap:EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings>
    <rgen:IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">1401000</rgen:IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation>
    <rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation
      contextRef="P01_01_2020To12_31_2020"
      decimals="3"
      unitRef="Unit_pure">0.024</rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation>
    <rgen:IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">841000</rgen:IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation>
    <rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation
      contextRef="P01_01_2019To12_31_2019"
      decimals="3"
      unitRef="Unit_pure">0.032</rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation>
    <rgen:IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">367000</rgen:IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation>
    <rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation
      contextRef="P01_01_2018To12_31_2018"
      decimals="3"
      unitRef="Unit_pure">0.017</rgen:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpenseOther
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">896000</us-gaap:IncomeTaxReconciliationNondeductibleExpenseOther>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther
      contextRef="P01_01_2020To12_31_2020"
      decimals="3"
      unitRef="Unit_pure">0.015</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpenseOther
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">92000</us-gaap:IncomeTaxReconciliationNondeductibleExpenseOther>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther
      contextRef="P01_01_2019To12_31_2019"
      decimals="3"
      unitRef="Unit_pure">0.004</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpenseOther
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">97000</us-gaap:IncomeTaxReconciliationNondeductibleExpenseOther>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther
      contextRef="P01_01_2018To12_31_2018"
      decimals="3"
      unitRef="Unit_pure">0.005</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther>
    <us-gaap:IncomeTaxReconciliationChangeInEnactedTaxRate
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">-2192000</us-gaap:IncomeTaxReconciliationChangeInEnactedTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate
      contextRef="P01_01_2020To12_31_2020"
      decimals="3"
      unitRef="Unit_pure">-0.037</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate
      contextRef="P01_01_2019To12_31_2019"
      decimals="3"
      unitRef="Unit_pure">0.000</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate
      contextRef="P01_01_2018To12_31_2018"
      decimals="3"
      unitRef="Unit_pure">0.000</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate>
    <rgen:IncomeTaxReconciliationChangeInStateTaxRate
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">-708000</rgen:IncomeTaxReconciliationChangeInStateTaxRate>
    <rgen:EffectiveIncomeTaxRateReconciliationChangeInStateTaxRate
      contextRef="P01_01_2020To12_31_2020"
      decimals="3"
      unitRef="Unit_pure">-0.012</rgen:EffectiveIncomeTaxRateReconciliationChangeInStateTaxRate>
    <rgen:EffectiveIncomeTaxRateReconciliationChangeInStateTaxRate
      contextRef="P01_01_2019To12_31_2019"
      decimals="3"
      unitRef="Unit_pure">0.000</rgen:EffectiveIncomeTaxRateReconciliationChangeInStateTaxRate>
    <rgen:IncomeTaxReconciliationChangeInStateTaxRate
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">748000</rgen:IncomeTaxReconciliationChangeInStateTaxRate>
    <rgen:EffectiveIncomeTaxRateReconciliationChangeInStateTaxRate
      contextRef="P01_01_2018To12_31_2018"
      decimals="3"
      unitRef="Unit_pure">0.035</rgen:EffectiveIncomeTaxRateReconciliationChangeInStateTaxRate>
    <rgen:IncomeTaxReconciliationChangeInForeignTaxRateAmount
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">250000</rgen:IncomeTaxReconciliationChangeInForeignTaxRateAmount>
    <rgen:EffectiveIncomeTaxRateReconciliationChangeInForeignTaxRateAmount
      contextRef="P01_01_2020To12_31_2020"
      decimals="3"
      unitRef="Unit_pure">0.004</rgen:EffectiveIncomeTaxRateReconciliationChangeInForeignTaxRateAmount>
    <rgen:IncomeTaxReconciliationChangeInForeignTaxRateAmount
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">-193000</rgen:IncomeTaxReconciliationChangeInForeignTaxRateAmount>
    <rgen:EffectiveIncomeTaxRateReconciliationChangeInForeignTaxRateAmount
      contextRef="P01_01_2019To12_31_2019"
      decimals="3"
      unitRef="Unit_pure">-0.007</rgen:EffectiveIncomeTaxRateReconciliationChangeInForeignTaxRateAmount>
    <rgen:IncomeTaxReconciliationChangeInForeignTaxRateAmount
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">-388000</rgen:IncomeTaxReconciliationChangeInForeignTaxRateAmount>
    <rgen:EffectiveIncomeTaxRateReconciliationChangeInForeignTaxRateAmount
      contextRef="P01_01_2018To12_31_2018"
      decimals="3"
      unitRef="Unit_pure">-0.018</rgen:EffectiveIncomeTaxRateReconciliationChangeInForeignTaxRateAmount>
    <rgen:EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTax
      contextRef="P01_01_2020To12_31_2020"
      decimals="3"
      unitRef="Unit_pure">0.000</rgen:EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTax>
    <rgen:EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTax
      contextRef="P01_01_2019To12_31_2019"
      decimals="3"
      unitRef="Unit_pure">0.000</rgen:EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTax>
    <rgen:TransitionTaxForAccumulatedForeignEarningsProvisionalIncomeTaxExpense
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">-1338000</rgen:TransitionTaxForAccumulatedForeignEarningsProvisionalIncomeTaxExpense>
    <rgen:EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTax
      contextRef="P01_01_2018To12_31_2018"
      decimals="3"
      unitRef="Unit_pure">-0.062</rgen:EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTax>
    <us-gaap:IncomeTaxReconciliationTaxContingencies
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">-168000</us-gaap:IncomeTaxReconciliationTaxContingencies>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies
      contextRef="P01_01_2020To12_31_2020"
      decimals="3"
      unitRef="Unit_pure">-0.003</us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies>
    <us-gaap:IncomeTaxReconciliationTaxContingencies
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">1069000</us-gaap:IncomeTaxReconciliationTaxContingencies>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies
      contextRef="P01_01_2019To12_31_2019"
      decimals="3"
      unitRef="Unit_pure">0.041</us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies>
    <us-gaap:IncomeTaxReconciliationTaxContingencies
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">1021000</us-gaap:IncomeTaxReconciliationTaxContingencies>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies
      contextRef="P01_01_2018To12_31_2018"
      decimals="3"
      unitRef="Unit_pure">0.048</us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies>
    <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">-12000</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="P01_01_2020To12_31_2020"
      decimals="3"
      unitRef="Unit_pure">0.000</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">-125000</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="P01_01_2019To12_31_2019"
      decimals="3"
      unitRef="Unit_pure">-0.005</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">125000</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="P01_01_2018To12_31_2018"
      decimals="3"
      unitRef="Unit_pure">0.006</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <rgen:IncomeTaxReconciliationReturnToProvisionAdjustments
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">-89000</rgen:IncomeTaxReconciliationReturnToProvisionAdjustments>
    <rgen:EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments
      contextRef="P01_01_2020To12_31_2020"
      decimals="3"
      unitRef="Unit_pure">-0.002</rgen:EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments>
    <rgen:IncomeTaxReconciliationReturnToProvisionAdjustments
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">-79000</rgen:IncomeTaxReconciliationReturnToProvisionAdjustments>
    <rgen:EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments
      contextRef="P01_01_2019To12_31_2019"
      decimals="3"
      unitRef="Unit_pure">-0.003</rgen:EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments>
    <rgen:IncomeTaxReconciliationReturnToProvisionAdjustments
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">33000</rgen:IncomeTaxReconciliationReturnToProvisionAdjustments>
    <rgen:EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments
      contextRef="P01_01_2018To12_31_2018"
      decimals="3"
      unitRef="Unit_pure">0.002</rgen:EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments>
    <us-gaap:IncomeTaxReconciliationOtherReconcilingItems
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">578000</us-gaap:IncomeTaxReconciliationOtherReconcilingItems>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="P01_01_2020To12_31_2020"
      decimals="3"
      unitRef="Unit_pure">0.010</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:IncomeTaxReconciliationOtherReconcilingItems
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">-218000</us-gaap:IncomeTaxReconciliationOtherReconcilingItems>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="P01_01_2019To12_31_2019"
      decimals="3"
      unitRef="Unit_pure">-0.008</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:IncomeTaxReconciliationOtherReconcilingItems
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">-1000</us-gaap:IncomeTaxReconciliationOtherReconcilingItems>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="P01_01_2018To12_31_2018"
      decimals="3"
      unitRef="Unit_pure">-0.001</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">-709000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="P01_01_2020To12_31_2020"
      decimals="3"
      unitRef="Unit_pure">-0.012</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">4740000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="P01_01_2019To12_31_2019"
      decimals="3"
      unitRef="Unit_pure">0.181</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">4819000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="P01_01_2018To12_31_2018"
      decimals="3"
      unitRef="Unit_pure">0.225</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:SummaryOfIncomeTaxExaminationsTextBlock contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The Company&#x2019;s tax returns are subject to examination by federal, state and foreign tax authorities. The Company&#x2019;s two major tax jurisdictions are subject to examination for the following periods: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 72%; font-family: ARIAL;"/&gt;
&lt;td style="width: 13%; vertical-align: bottom; font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt;
&lt;td style="font-family: ARIAL;"/&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid; white-space: nowrap;;text-align:center;"&gt;&lt;div style="text-align: center; font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 1pt; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Jurisdiction&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Fiscal&#160;Years&#160;Subject&lt;br/&gt; to Examination&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;United States - federal and state&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;2017-2020&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Sweden&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;2013-2020&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt; </us-gaap:SummaryOfIncomeTaxExaminationsTextBlock>
    <us-gaap:OpenTaxYear contextRef="P01_01_2020To12_31_2020_EarliestTaxYearMemberusgaapTaxPeriodAxis_USsrtStatementGeographicalAxis">2017</us-gaap:OpenTaxYear>
    <us-gaap:OpenTaxYear contextRef="P01_01_2020To12_31_2020_LatestTaxYearMemberusgaapTaxPeriodAxis_USsrtStatementGeographicalAxis">2020</us-gaap:OpenTaxYear>
    <us-gaap:OpenTaxYear contextRef="P01_01_2020To12_31_2020_EarliestTaxYearMemberusgaapTaxPeriodAxis_SEsrtStatementGeographicalAxis">2013</us-gaap:OpenTaxYear>
    <us-gaap:OpenTaxYear contextRef="P01_01_2020To12_31_2020_LatestTaxYearMemberusgaapTaxPeriodAxis_SEsrtStatementGeographicalAxis">2020</us-gaap:OpenTaxYear>
    <us-gaap:SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The following is a tabular reconciliation of the total amounts of unrecognized tax benefits: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 64%;"/&gt;
&lt;td style="width: 11%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 11%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;For&#160;the&#160;Years&#160;Ended&#160;December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&#160;&#160;&#160;2020&#160;&#160;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&#160;&#160;&#160;&#160;2019&#160;&#160;&#160;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts in thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Balance of gross unrecognized tax benefits, beginning of period&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;3,422&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;2,852&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Gross amounts of increases in unrecognized tax benefits as a result of tax positions taken in the current period&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;154&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;602&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Gross amounts of decreases in unrecognized tax benefits as a result of tax positions taken in the prior period&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(337&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(16&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Gross amounts of decrease due to release&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(39&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(16&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Balance of gross unrecognized tax benefits, end of period&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;3,200&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;3,422&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt; </us-gaap:SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">3422000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="PAsOn12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">2852000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">154000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">602000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">337000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">16000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions>
    <rgen:UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">39000</rgen:UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease>
    <rgen:UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">16000</rgen:UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">3200000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">3422000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate
      contextRef="PAsOn12_31_2020"
      decimals="-5"
      unitRef="Unit_USD">3100000</us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">17000000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">5000000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">1000000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">58000000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
      contextRef="PAsOn12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">41000000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued>
    <rgen:CoronavirusAidReliefAndEconomicSecurityFundValue
      contextRef="PAsOn03_27_2020"
      decimals="-11"
      unitRef="Unit_USD">2200000000000</rgen:CoronavirusAidReliefAndEconomicSecurityFundValue>
    <us-gaap:UndistributedEarningsOfForeignSubsidiaries
      contextRef="PAsOn12_31_2020"
      decimals="-5"
      unitRef="Unit_USD">113100000</us-gaap:UndistributedEarningsOfForeignSubsidiaries>
    <rgen:ForeignEarningsSubjectToOneTimeTransitionTax
      contextRef="P01_01_2020To12_31_2020"
      decimals="-5"
      unitRef="Unit_USD">58000000.0</rgen:ForeignEarningsSubjectToOneTimeTransitionTax>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="PAsOn01_01_2018_AccountingStandardsUpdate201606MemberusgaapAdjustmentsForNewAccountingPronouncementsAxis_OtherAssetsMemberusgaapBalanceSheetLocationAxis"
      decimals="-5"
      unitRef="Unit_USD">5700000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="PAsOn01_01_2018_AccountingStandardsUpdate201606MemberusgaapAdjustmentsForNewAccountingPronouncementsAxis_DeferredTaxLiablitiesMemberusgaapBalanceSheetLocationAxis"
      decimals="-5"
      unitRef="Unit_USD">5000000.0</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="PAsOn01_01_2018_AccountingStandardsUpdate201606MemberusgaapAdjustmentsForNewAccountingPronouncementsAxis_AccumulatedDeficitMemberusgaapBalanceSheetLocationAxis"
      decimals="-5"
      unitRef="Unit_USD">700000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock contextRef="P01_01_2020To12_31_2020">
&lt;table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="page-break-inside: avoid;"&gt;
&lt;td style="width: 5%; vertical-align: top;;text-align:left;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;10.&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: top;;text-align:left;"&gt;&lt;div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Stockholders&#x2019; Equity &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt; &lt;div style="clear: both; max-height: 0px; background: none;"/&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Public Offerings of Common Stock &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;On December&#160;8, 2020, the Company completed a public offering in which 1,725,000 shares of its common stock, including the underwriters&#x2019; exercise in full of an option to purchase an additional 225,000 shares, were sold to the public at a price of $181.00 per share (the &#x201c;December Stock Offering&#x201d;). The net proceeds of the December Stock Offering, after deducting underwriting discounts and commissions and other estimated offering expenses payable by the Company, were approximately $297.8&#160;million. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;On July&#160;19, 2019, the Company completed a public offering in which 1,587,000 shares of its common stock, including the underwriters&#x2019; exercise in full of an option to purchase an additional 207,000 shares, were sold to the public at a price of $87.00 per share (the &#x201c;July Stock Offering&#x201d;). The net proceeds of the Stock Offering, after deducting underwriting discounts and commissions and other estimated offering expenses payable by the Company, were approximately $131.1&#160;million. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;On May&#160;3, 2019, the Company completed a public offering in which 3,144,531 shares of its common stock, including the underwriters&#x2019; full exercise of an option to purchase up to an additional 410,156 shares, were sold to the public at a price of $64.00 per share. The total proceeds received by the Company from this offering, net of underwriting discounts and commissions and other estimated offering expenses payable by the Company, totaled approximately $189.6&#160;million. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Stock Option and Incentive Plans &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;At the Company&#x2019;s 2018 Annual Meeting of Stockholders held on May&#160;16, 2018, the Company&#x2019;s shareholders approved the 2018 Stock Option and Incentive Plan (the &#x201c;2018 Plan&#x201d;). Under the 2018 Plan the number of shares of the Company&#x2019;s common stock that are reserved and available for issuance shall be 2,778,000 plus the number of shares of common stock available for issuance under the Company&#x2019;s Amended and Restated 2012 Stock Option and Incentive Plan (the &#x201c;2012 Plan&#x201d;). The shares of common stock underlying any awards under the 2018 Plan, 2012 Plan and the Second Amended and Restated 2001 Repligen Corporation Stock Plan (the &#x201c;2001 Plan,&#x201d; and together with the 2018 Plan and 2012 Plan, the &#x201c;Plans&#x201d;) that are forfeited, canceled or otherwise terminated (other than by exercise) shall be added back to the shares of stock available for issuance under the 2018 Plan. At December&#160;31, 2020, 2,306,943 shares were available for future grants under the 2018 Plan. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Stock-Based Compensation &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The Company recorded stock-based compensation expense of $17.0&#160;million, $12.8&#160;million and $10.2&#160;million for the years ended December&#160;31, 2020, 2019 and 2018, respectively, for share-based awards granted under the Plans. The following table presents stock-based compensation expense in the Company&#x2019;s consolidated statements of comprehensive income: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 84%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 61%;"/&gt;
&lt;td style="width: 5%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 5%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 5%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;For the Years Ended December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2019&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2018&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="10" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts in thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Cost of product revenue&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,929&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,368&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,019&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Research and development&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,534&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,373&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;917&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Selling, general and administrative&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;13,544&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;10,106&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;8,256&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total stock-based compensation&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;17,007&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;12,847&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;10,192&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;The 2018 Plan allows for the granting of incentive and nonqualified options to purchase shares of common stock, restricted stock and other equity awards. Except for the grant to the Company&#x2019;s Chief Executive Officer (&#x201c;CEO&#x201d;) in 2018 mentioned below, employee grants under the Plans generally vest over a three- to five-year period, with &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;20%-33%&lt;/div&gt; vesting on the first anniversary of the date of grant and the remainder vesting in equal yearly installments thereafter. Nonqualified options issued to &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;non-employee&lt;/div&gt; directors and consultants under the Plans generally vest over one year. In the first quarter of 2018, to create a longer-term retention incentive, the Company&#x2019;s Compensation Committee granted long-term incentive compensation awards to its CEO which consisted of both stock options and restricted stock units that are subject to time-based vesting over nine years. Options granted under the Plans have a maximum term of ten years from the date of grant and generally, the exercise price of the stock options equals the fair market value of the Company&#x2019;s common stock on the date of grant. At December&#160;31, 2020, options to purchase 696,711 shares and 665,540 stock units were outstanding under the Plans. &lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The Company uses the Black-Scholes option pricing model to calculate the fair value of stock option awards on the grant date, and the Company uses the value of the common stock as of the grant date to value RSUs. The Company measures stock-based compensation costs at the grant date based on the estimated fair value of the award. The Company recognizes expense on awards with service-based vesting over the employee&#x2019;s requisite service period on a straight-line basis. The Company has issued performance stock units to certain employees which are tied to the achievement of certain Company financial goal metrics and the passage of time. Finally, during 2020, the Company implemented a program that issued performance stock units to certain employees set to vest upon the achievement of individual goals and the passage of time. The Company recognizes expense on performance-based awards over the vesting period based on the probability that the performance metrics will be achieved. The Company recognizes stock-based compensation expense for options that are ultimately expected to vest, and accordingly, such compensation expense has been adjusted for estimated forfeitures. &lt;/div&gt;&#160;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The fair value of share-based awards granted during the years ended December&#160;31, 2020, 2019 and 2018 were calculated using the following estimated assumptions: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 40%;"/&gt;
&lt;td style="width: 2%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td style="width: 2%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td style="width: 2%; vertical-align: bottom;"/&gt;
&lt;td/&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="5" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;For the Years Ended December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2019&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2018&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Expected term (in&#160;years)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;5.5-6.5&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;5.5-6.5&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;5.5-7.5&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Expected volatility (range)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:center;"&gt;45.14&#160;&#x2013;&#160;50.87%&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:center;"&gt;45.14&#160;&#x2013;&#160;50.87%&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:center;"&gt;45.14&#160;&#x2013;&#160;50.87%&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Risk-free interest rate&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:center;"&gt;0.34&#160;&#x2013;&#160;1.15%&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:center;"&gt;1.55 &#x2013; 2.56%&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:center;"&gt;2.63 &#x2013; 2.96%&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Expected dividend yield&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:center;"&gt;0%&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:center;"&gt;0%&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:center;"&gt;0%&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Information regarding option activity for the year ended December&#160;31, 2020 under the Plans is summarized below: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 47%;"/&gt;
&lt;td style="width: 5%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 5%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 5%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 5%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Shares&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Weighted&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;average&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;exercise&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;price&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Weighted-&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Average&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Remaining&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Contractual&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Term&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(in Years)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Aggregate&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Intrinsic&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Value&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(in&#160;Thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Options outstanding at December&#160;31, 2019&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;957,559&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;30.81&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Granted&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;79,698&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;115.81&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Exercised&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;(340,546&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;23.95&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Forfeited/expired/cancelled&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Options outstanding at December&#160;31, 2020&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;696,711&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;43.88&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;6.90&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;102,958&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Options exercisable at December&#160;31, 2020&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;311,988&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;31.75&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;5.91&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;49,879&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Vested and expected to vest at December&#160;31, 2020&lt;div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px"&gt;(1)&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;667,220&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;6.86&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;99,096&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style="clear: both; max-height: 0px; background: none;"/&gt; &lt;div style="width: 11%; line-height: 8pt; margin-top: 0pt; margin-bottom: 2pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="page-break-inside: avoid;"&gt;
&lt;td style="width: 4%; vertical-align: top;;text-align:left;"&gt;(1)&lt;/td&gt;
&lt;td style="vertical-align: top;;text-align:left;"&gt; &lt;div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"&gt;Represents the number of vested options as of December&#160;31, 2020 plus the number of unvested options expected to vest as of December&#160;31, 2020 based on the unvested outstanding options at December&#160;31, 2020 adjusted for estimated forfeiture rates of 8% for awards granted to &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;non-executive&lt;/div&gt; level employees and 3% for awards granted to executive level employees. &lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;  &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;The aggregate intrinsic value in the table above represents the total &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;pre-tax&lt;/div&gt; intrinsic value (the difference between the closing price of the common stock on December&#160;31, 2020, the last business day of 2020, of $191.63 per share and the exercise price of each &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;in-the-money&lt;/div&gt;&lt;/div&gt; option) that would have been received by the option holders had all option holders exercised their options on December&#160;31, 2020. The aggregate intrinsic value of stock options exercised during the years ended December&#160;31, 2020, 2019 and 2018 was $36.6&#160;million, $5.5&#160;million and $5.3&#160;million, respectively. &lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The weighted average grant date fair value of options granted during the years ended December&#160;31, 2020, 2019 and 2018 was $53.06, $31.27 and $18.90, respectively. The total fair value of stock options that vested during the years ended December&#160;31, 2020, 2019 and 2018 was $2.8&#160;million, $3.1&#160;million and $2.3&#160;million, respectively. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The fair value of stock units is calculated using the closing price of the Company&#x2019;s common stock on the date of grant. Information regarding stock unit activity, which includes activity for restricted stock units and performance stock units, for the year ended December&#160;31, 2020 under the Plans is summarized below: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 84%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 51%;"/&gt;
&lt;td style="width: 7%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 7%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 7%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Shares&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Weighted-&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Average&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Remaining&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Contractual&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Term&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(in Years)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Aggregate&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Intrinsic&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Value&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(in&#160;Thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Unvested at December&#160;31, 2019&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;734,984&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Awarded&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;207,788&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Vested&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;(244,648&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Forfeited/expired/cancelled&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(32,584&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Unvested at December&#160;31, 2020&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;665,540&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;3.32&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;127,904&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Vested and expected to vest at December&#160;31, 2020&lt;div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px"&gt;(1)&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;650,047&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;3.01&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;124,568&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style="clear: both; max-height: 0px; background: none;"/&gt; &lt;div style="width: 11%; line-height: 8pt; margin-top: 0pt; margin-bottom: 2pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="page-break-inside: avoid;"&gt;
&lt;td style="width: 4%; vertical-align: top;;text-align:left;"&gt;(1)&lt;/td&gt;
&lt;td style="vertical-align: top;;text-align:left;"&gt; &lt;div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"&gt;Represents the number of vested stock units as of December&#160;31, 2020 plus the number of unvested stock units expected to vest as of December&#160;31, 2020 based on the unvested outstanding stock units at December&#160;31, 2020 adjusted for estimated forfeiture rates of 8% for awards granted to &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;non-executive&lt;/div&gt; level employees and 3% for awards granted to executive level employees. &lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;  &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;The aggregate intrinsic value in the table above represents the total &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;pre-tax&lt;/div&gt; intrinsic value (equal to the closing price of the common stock on December&#160;31, 2020, the last business day of 2020, of $191.63 per share, as stock units do not have an exercise price) that would have been received by the stock unit holders had all holders exercised on December&#160;31, 2020. The aggregate intrinsic value of stock units vested during the years ended December&#160;31, 2020, 2019 and 2018 was $28.3&#160;million, $17.5&#160;million and $6.2&#160;million, respectively. &lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The weighted average grant date fair value of stock units granted during the years ended December&#160;31, 2020, 2019 and 2018 was $109.69, $49.68 and $30.30, respectively. The total fair value of stock units that vested during the years ended December&#160;31, 2020, 2019 and 2018 was $10.8&#160;million, $8.5&#160;million and $4.6&#160;million, respectively. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;As of December&#160;31, 2020, there was $46.7&#160;million of total unrecognized compensation cost related to unvested share-based awards.&#160;This cost is expected to be recognized over a weighted average remaining requisite service period of 3.55 years. The Company expects 1,853,028 unvested options and stock units to vest over the next five years. &lt;/div&gt;&lt;/div&gt; </us-gaap:StockholdersEquityNoteDisclosureTextBlock>
    <us-gaap:CommonStockSharesIssued
      contextRef="PAsOn12_08_2020"
      decimals="INF"
      unitRef="Unit_shares">1725000</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="P12_08_2020To12_08_2020_CommonStockMemberusgaapStatementEquityComponentsAxis_UnderwriterMembersrtTitleOfIndividualAxis"
      decimals="INF"
      unitRef="Unit_shares">225000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <rgen:CommonStockIssuePricePerShare
      contextRef="PAsOn12_08_2020"
      decimals="2"
      unitRef="Unit_USD_per_Share">181.00</rgen:CommonStockIssuePricePerShare>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="P12_08_2020To12_08_2020"
      decimals="-5"
      unitRef="Unit_USD">297800000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:CommonStockSharesIssued
      contextRef="PAsOn07_19_2019"
      decimals="INF"
      unitRef="Unit_shares">1587000</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="P07_19_2019To07_19_2019_CommonStockMemberusgaapStatementEquityComponentsAxis_UnderwriterMembersrtTitleOfIndividualAxis"
      decimals="INF"
      unitRef="Unit_shares">207000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <rgen:CommonStockIssuePricePerShare
      contextRef="PAsOn07_19_2019"
      decimals="2"
      unitRef="Unit_USD_per_Share">87.00</rgen:CommonStockIssuePricePerShare>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="P07_19_2019To07_19_2019"
      decimals="-5"
      unitRef="Unit_USD">131100000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:CommonStockSharesIssued
      contextRef="PAsOn05_03_2019"
      decimals="INF"
      unitRef="Unit_shares">3144531</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="P05_03_2019To05_03_2019_CommonStockMemberusgaapStatementEquityComponentsAxis_UnderwriterMembersrtTitleOfIndividualAxis"
      decimals="INF"
      unitRef="Unit_shares">410156</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <rgen:CommonStockIssuePricePerShare
      contextRef="PAsOn05_03_2019"
      decimals="2"
      unitRef="Unit_USD_per_Share">64.00</rgen:CommonStockIssuePricePerShare>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="P05_03_2019To05_03_2019"
      decimals="-5"
      unitRef="Unit_USD">189600000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="PAsOn12_31_2018_StockOptionAndIncentivePlanMemberusgaapPlanNameAxis"
      decimals="INF"
      unitRef="Unit_shares">2778000</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="PAsOn12_31_2020_StockOptionAndIncentivePlanMemberusgaapPlanNameAxis"
      decimals="INF"
      unitRef="Unit_shares">2306943</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:ShareBasedCompensation
      contextRef="P01_01_2020To12_31_2020"
      decimals="-5"
      unitRef="Unit_USD">17000000.0</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="P01_01_2019To12_31_2019"
      decimals="-5"
      unitRef="Unit_USD">12800000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="P01_01_2018To12_31_2018"
      decimals="-5"
      unitRef="Unit_USD">10200000</us-gaap:ShareBasedCompensation>
    <us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock contextRef="P01_01_2020To12_31_2020">The following table presents stock-based compensation expense in the Company&#x2019;s consolidated statements of comprehensive income:
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 84%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 61%;"/&gt;
&lt;td style="width: 5%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 5%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 5%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;For the Years Ended December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2019&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2018&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="10" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts in thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Cost of product revenue&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,929&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,368&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,019&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Research and development&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,534&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;1,373&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;917&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Selling, general and administrative&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;13,544&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;10,106&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;8,256&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total stock-based compensation&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;17,007&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;12,847&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;10,192&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt; </us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock>
    <us-gaap:ShareBasedCompensation
      contextRef="P01_01_2020To12_31_2020_CostOfSalesMemberusgaapIncomeStatementLocationAxis"
      decimals="-3"
      unitRef="Unit_USD">1929000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="P01_01_2019To12_31_2019_CostOfSalesMemberusgaapIncomeStatementLocationAxis"
      decimals="-3"
      unitRef="Unit_USD">1368000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="P01_01_2018To12_31_2018_CostOfSalesMemberusgaapIncomeStatementLocationAxis"
      decimals="-3"
      unitRef="Unit_USD">1019000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="P01_01_2020To12_31_2020_ResearchAndDevelopmentExpenseMemberusgaapIncomeStatementLocationAxis"
      decimals="-3"
      unitRef="Unit_USD">1534000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="P01_01_2019To12_31_2019_ResearchAndDevelopmentExpenseMemberusgaapIncomeStatementLocationAxis"
      decimals="-3"
      unitRef="Unit_USD">1373000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="P01_01_2018To12_31_2018_ResearchAndDevelopmentExpenseMemberusgaapIncomeStatementLocationAxis"
      decimals="-3"
      unitRef="Unit_USD">917000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="P01_01_2020To12_31_2020_SellingGeneralAndAdministrativeExpensesMemberusgaapIncomeStatementLocationAxis"
      decimals="-3"
      unitRef="Unit_USD">13544000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="P01_01_2019To12_31_2019_SellingGeneralAndAdministrativeExpensesMemberusgaapIncomeStatementLocationAxis"
      decimals="-3"
      unitRef="Unit_USD">10106000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="P01_01_2018To12_31_2018_SellingGeneralAndAdministrativeExpensesMemberusgaapIncomeStatementLocationAxis"
      decimals="-3"
      unitRef="Unit_USD">8256000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="P01_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">17007000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="P01_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">12847000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="P01_01_2018To12_31_2018"
      decimals="-3"
      unitRef="Unit_USD">10192000</us-gaap:ShareBasedCompensation>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="P01_01_2020To12_31_2020_EmployeeStockOptionMemberusgaapAwardTypeAxis_MinimumMembersrtRangeAxis_ShareBasedCompensationAwardTrancheOneMemberusgaapVestingAxis"
      decimals="INF"
      unitRef="Unit_pure">0.20</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="P01_01_2020To12_31_2020_EmployeeStockOptionMemberusgaapAwardTypeAxis_MaximumMembersrtRangeAxis_ShareBasedCompensationAwardTrancheTwoMemberusgaapVestingAxis"
      decimals="INF"
      unitRef="Unit_pure">0.33</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="PAsOn12_31_2020_OptionToPurchaseCommonStockMemberusgaapAwardTypeAxis"
      decimals="INF"
      unitRef="Unit_shares">696711</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="PAsOn12_31_2020_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis"
      decimals="INF"
      unitRef="Unit_shares">665540</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The fair value of share-based awards granted during the years ended December&#160;31, 2020, 2019 and 2018 were calculated using the following estimated assumptions: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 40%;"/&gt;
&lt;td style="width: 2%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td style="width: 2%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td style="width: 2%; vertical-align: bottom;"/&gt;
&lt;td/&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="5" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;For the Years Ended December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2019&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2018&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Expected term (in&#160;years)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;5.5-6.5&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;5.5-6.5&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;5.5-7.5&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Expected volatility (range)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:center;"&gt;45.14&#160;&#x2013;&#160;50.87%&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:center;"&gt;45.14&#160;&#x2013;&#160;50.87%&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:center;"&gt;45.14&#160;&#x2013;&#160;50.87%&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Risk-free interest rate&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:center;"&gt;0.34&#160;&#x2013;&#160;1.15%&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:center;"&gt;1.55 &#x2013; 2.56%&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:center;"&gt;2.63 &#x2013; 2.96%&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt;&lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Expected dividend yield&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:center;"&gt;0%&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:center;"&gt;0%&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:center;"&gt;0%&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt; </us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="P01_01_2020To12_31_2020_MinimumMembersrtRangeAxis">P5Y6M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="P01_01_2020To12_31_2020_MaximumMembersrtRangeAxis">P6Y6M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="P01_01_2019To12_31_2019_MinimumMembersrtRangeAxis">P5Y6M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="P01_01_2019To12_31_2019_MaximumMembersrtRangeAxis">P6Y6M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="P01_01_2018To12_31_2018_MinimumMembersrtRangeAxis">P5Y6M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="P01_01_2018To12_31_2018_MaximumMembersrtRangeAxis">P7Y6M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum
      contextRef="P01_01_2020To12_31_2020"
      decimals="4"
      unitRef="Unit_pure">0.4514</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum
      contextRef="P01_01_2020To12_31_2020"
      decimals="4"
      unitRef="Unit_pure">0.5087</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum
      contextRef="P01_01_2019To12_31_2019"
      decimals="4"
      unitRef="Unit_pure">0.4514</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum
      contextRef="P01_01_2019To12_31_2019"
      decimals="4"
      unitRef="Unit_pure">0.5087</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum
      contextRef="P01_01_2018To12_31_2018"
      decimals="4"
      unitRef="Unit_pure">0.4514</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum
      contextRef="P01_01_2018To12_31_2018"
      decimals="4"
      unitRef="Unit_pure">0.5087</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum
      contextRef="P01_01_2020To12_31_2020"
      decimals="4"
      unitRef="Unit_pure">0.0034</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum
      contextRef="P01_01_2020To12_31_2020"
      decimals="4"
      unitRef="Unit_pure">0.0115</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum
      contextRef="P01_01_2019To12_31_2019"
      decimals="4"
      unitRef="Unit_pure">0.0155</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum
      contextRef="P01_01_2019To12_31_2019"
      decimals="4"
      unitRef="Unit_pure">0.0256</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum
      contextRef="P01_01_2018To12_31_2018"
      decimals="4"
      unitRef="Unit_pure">0.0263</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum
      contextRef="P01_01_2018To12_31_2018"
      decimals="4"
      unitRef="Unit_pure">0.0296</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="P01_01_2020To12_31_2020"
      decimals="2"
      unitRef="Unit_pure">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="P01_01_2019To12_31_2019"
      decimals="2"
      unitRef="Unit_pure">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="P01_01_2018To12_31_2018"
      decimals="2"
      unitRef="Unit_pure">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Information regarding option activity for the year ended December&#160;31, 2020 under the Plans is summarized below: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 47%;"/&gt;
&lt;td style="width: 5%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 5%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 5%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 5%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Shares&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Weighted&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;average&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;exercise&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;price&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Weighted-&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Average&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Remaining&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Contractual&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Term&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(in Years)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Aggregate&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Intrinsic&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Value&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(in&#160;Thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Options outstanding at December&#160;31, 2019&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;957,559&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;30.81&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Granted&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;79,698&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;115.81&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Exercised&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;(340,546&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;23.95&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Forfeited/expired/cancelled&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Options outstanding at December&#160;31, 2020&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;696,711&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;43.88&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;6.90&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;102,958&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Options exercisable at December&#160;31, 2020&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;311,988&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;31.75&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;5.91&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;49,879&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Vested and expected to vest at December&#160;31, 2020&lt;div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px"&gt;(1)&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;667,220&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;6.86&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;99,096&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style="clear: both; max-height: 0px; background: none;"/&gt; &lt;div style="width: 11%; line-height: 8pt; margin-top: 0pt; margin-bottom: 2pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="page-break-inside: avoid;"&gt;
&lt;td style="width: 4%; vertical-align: top;;text-align:left;"&gt;(1)&lt;/td&gt;
&lt;td style="vertical-align: top;;text-align:left;"&gt; &lt;div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"&gt;Represents the number of vested options as of December&#160;31, 2020 plus the number of unvested options expected to vest as of December&#160;31, 2020 based on the unvested outstanding options at December&#160;31, 2020 adjusted for estimated forfeiture rates of 8% for awards granted to &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;non-executive&lt;/div&gt; level employees and 3% for awards granted to executive level employees. &lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; </us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="PAsOn12_31_2019"
      decimals="INF"
      unitRef="Unit_shares">957559</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="PAsOn12_31_2019"
      decimals="2"
      unitRef="Unit_USD_per_Share">30.81</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="P01_01_2020To12_31_2020"
      decimals="INF"
      unitRef="Unit_shares">79698</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="P01_01_2020To12_31_2020"
      decimals="2"
      unitRef="Unit_USD_per_Share">115.81</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="P01_01_2020To12_31_2020"
      decimals="INF"
      unitRef="Unit_shares">340546</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="P01_01_2020To12_31_2020"
      decimals="2"
      unitRef="Unit_USD_per_Share">23.95</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="PAsOn12_31_2020"
      decimals="INF"
      unitRef="Unit_shares">696711</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="PAsOn12_31_2020"
      decimals="2"
      unitRef="Unit_USD_per_Share">43.88</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2 contextRef="P01_01_2020To12_31_2020">P6Y10M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">102958000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="PAsOn12_31_2020"
      decimals="INF"
      unitRef="Unit_shares">311988</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="PAsOn12_31_2020"
      decimals="INF"
      unitRef="Unit_USD_per_Share">31.75</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1 contextRef="P01_01_2020To12_31_2020">P5Y10M28D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">49879000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber
      contextRef="PAsOn12_31_2020"
      decimals="INF"
      id="Fact_18475833"
      unitRef="Unit_shares">667220</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1 contextRef="P01_01_2020To12_31_2020" id="Fact_18475834">P6Y10M9D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue
      contextRef="PAsOn12_31_2020"
      decimals="-3"
      id="Fact_18475835"
      unitRef="Unit_USD">99096000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue>
    <rgen:PercentageOfSharesSubjectToForfeiture
      contextRef="PAsOn12_31_2020_EmployeeStockOptionMemberusgaapAwardTypeAxis_NonExecutiveMembersrtTitleOfIndividualAxis"
      decimals="2"
      unitRef="Unit_pure">0.08</rgen:PercentageOfSharesSubjectToForfeiture>
    <rgen:PercentageOfSharesSubjectToForfeiture
      contextRef="PAsOn12_31_2020_NonExecutiveMembersrtTitleOfIndividualAxis"
      decimals="2"
      unitRef="Unit_pure">0.08</rgen:PercentageOfSharesSubjectToForfeiture>
    <rgen:PercentageOfSharesSubjectToForfeiture
      contextRef="PAsOn12_31_2020_EmployeeStockOptionMemberusgaapAwardTypeAxis_ExecutiveOfficerMembersrtTitleOfIndividualAxis"
      decimals="2"
      unitRef="Unit_pure">0.03</rgen:PercentageOfSharesSubjectToForfeiture>
    <rgen:PercentageOfSharesSubjectToForfeiture
      contextRef="PAsOn12_31_2020_ExecutiveOfficerMembersrtTitleOfIndividualAxis"
      decimals="2"
      unitRef="Unit_pure">0.03</rgen:PercentageOfSharesSubjectToForfeiture>
    <us-gaap:SharePrice
      contextRef="PAsOn12_31_2020_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis"
      decimals="INF"
      unitRef="Unit_USD_per_Share">191.63</us-gaap:SharePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="P01_01_2020To12_31_2020"
      decimals="-5"
      unitRef="Unit_USD">36600000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="P01_01_2019To12_31_2019"
      decimals="-5"
      unitRef="Unit_USD">5500000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="P01_01_2018To12_31_2018"
      decimals="-5"
      unitRef="Unit_USD">5300000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="P01_01_2020To12_31_2020"
      decimals="2"
      unitRef="Unit_USD_per_Share">53.06</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="P01_01_2019To12_31_2019"
      decimals="2"
      unitRef="Unit_USD_per_Share">31.27</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="P01_01_2018To12_31_2018"
      decimals="2"
      unitRef="Unit_USD_per_Share">18.90</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1
      contextRef="P01_01_2020To12_31_2020"
      decimals="-5"
      unitRef="Unit_USD">2800000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1
      contextRef="P01_01_2019To12_31_2019"
      decimals="-5"
      unitRef="Unit_USD">3100000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1
      contextRef="P01_01_2018To12_31_2018"
      decimals="-5"
      unitRef="Unit_USD">2300000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1>
    <us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The fair value of stock units is calculated using the closing price of the Company&#x2019;s common stock on the date of grant. Information regarding stock unit activity, which includes activity for restricted stock units and performance stock units, for the year ended December&#160;31, 2020 under the Plans is summarized below: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 84%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 51%;"/&gt;
&lt;td style="width: 7%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 7%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 7%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Shares&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Weighted-&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Average&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Remaining&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Contractual&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Term&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(in Years)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Aggregate&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Intrinsic&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Value&lt;/div&gt;&lt;/div&gt;&lt;br/&gt; &lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(in&#160;Thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Unvested at December&#160;31, 2019&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;734,984&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Awarded&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;207,788&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Vested&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;(244,648&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Forfeited/expired/cancelled&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(32,584&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Unvested at December&#160;31, 2020&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;665,540&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;3.32&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;127,904&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Vested and expected to vest at December&#160;31, 2020&lt;div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px"&gt;(1)&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;650,047&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;3.01&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;124,568&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style="clear: both; max-height: 0px; background: none;"/&gt; &lt;div style="width: 11%; line-height: 8pt; margin-top: 0pt; margin-bottom: 2pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="page-break-inside: avoid;"&gt;
&lt;td style="width: 4%; vertical-align: top;;text-align:left;"&gt;(1)&lt;/td&gt;
&lt;td style="vertical-align: top;;text-align:left;"&gt; &lt;div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"&gt;Represents the number of vested stock units as of December&#160;31, 2020 plus the number of unvested stock units expected to vest as of December&#160;31, 2020 based on the unvested outstanding stock units at December&#160;31, 2020 adjusted for estimated forfeiture rates of 8% for awards granted to &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;non-executive&lt;/div&gt; level employees and 3% for awards granted to executive level employees. &lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; </us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="PAsOn12_31_2019_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis"
      decimals="INF"
      unitRef="Unit_shares">734984</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="P01_01_2020To12_31_2020_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis"
      decimals="INF"
      unitRef="Unit_shares">207788</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="P01_01_2020To12_31_2020_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis"
      decimals="INF"
      unitRef="Unit_shares">244648</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="P01_01_2020To12_31_2020_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis"
      decimals="INF"
      unitRef="Unit_shares">32584</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="PAsOn12_31_2020_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis"
      decimals="INF"
      unitRef="Unit_shares">665540</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms contextRef="P01_01_2020To12_31_2020_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis">P3Y3M25D</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding
      contextRef="PAsOn12_31_2020_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis"
      decimals="-3"
      unitRef="Unit_USD">127904000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding>
    <rgen:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber
      contextRef="P01_01_2020To12_31_2020_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis"
      decimals="INF"
      unitRef="Unit_shares">650047</rgen:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber>
    <rgen:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm contextRef="P01_01_2020To12_31_2020_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis">P3Y3D</rgen:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm>
    <rgen:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue
      contextRef="PAsOn12_31_2020_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis"
      decimals="-3"
      unitRef="Unit_USD">124568000</rgen:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue>
    <rgen:PercentageOfSharesSubjectToForfeiture
      contextRef="PAsOn12_31_2020_NonExecutiveMembersrtTitleOfIndividualAxis"
      decimals="2"
      unitRef="Unit_pure">0.08</rgen:PercentageOfSharesSubjectToForfeiture>
    <rgen:PercentageOfSharesSubjectToForfeiture
      contextRef="PAsOn12_31_2020_ExecutiveOfficerMembersrtTitleOfIndividualAxis"
      decimals="2"
      unitRef="Unit_pure">0.03</rgen:PercentageOfSharesSubjectToForfeiture>
    <us-gaap:SharePrice
      contextRef="PAsOn12_31_2020_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis"
      decimals="INF"
      unitRef="Unit_USD_per_Share">191.63</us-gaap:SharePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested
      contextRef="P01_01_2020To12_31_2020_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis"
      decimals="-5"
      unitRef="Unit_USD">28300000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested
      contextRef="P01_01_2019To12_31_2019_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis"
      decimals="-5"
      unitRef="Unit_USD">17500000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested
      contextRef="P01_01_2018To12_31_2018_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis"
      decimals="-5"
      unitRef="Unit_USD">6200000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="P01_01_2020To12_31_2020_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis"
      decimals="2"
      unitRef="Unit_USD_per_Share">109.69</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="P01_01_2019To12_31_2019_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis"
      decimals="2"
      unitRef="Unit_USD_per_Share">49.68</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="P01_01_2018To12_31_2018_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis"
      decimals="2"
      unitRef="Unit_USD_per_Share">30.30</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="P01_01_2020To12_31_2020_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis"
      decimals="-5"
      unitRef="Unit_USD">10800000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="P01_01_2019To12_31_2019_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis"
      decimals="-5"
      unitRef="Unit_USD">8500000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="P01_01_2018To12_31_2018_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis"
      decimals="-5"
      unitRef="Unit_USD">4600000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="PAsOn12_31_2020"
      decimals="-5"
      unitRef="Unit_USD">46700000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1 contextRef="P01_01_2020To12_31_2020">P3Y6M18D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <rgen:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares
      contextRef="PAsOn12_31_2020"
      decimals="0"
      unitRef="Unit_shares">1853028</rgen:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock contextRef="P01_01_2020To12_31_2020">
&lt;table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="page-break-inside: avoid;"&gt;
&lt;td style="width: 5%; vertical-align: top;;text-align:left;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;11.&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: top;;text-align:left;"&gt; &lt;div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Commitments and Contingencies &lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style="clear: both; max-height: 0px; background: none;"/&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Licensing and Research Agreements &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The Company licenses certain technologies that are, or may be, incorporated into its technology under several agreements and also has entered into several clinical research agreements that require the Company to fund certain research projects. Generally, the license agreements require the Company to pay annual maintenance fees and royalties on product sales once a product has been established using the technologies. Research and development expenses associated with license agreements were immaterial amounts for the years ended December&#160;31, 2020, 2019 and 2018. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;In September 2018, the Company entered into a collaboration agreement with Sartorius Stedim Biotech (&#x201c;SSB&#x201d;), a leading international supplier for the biopharmaceutical industry, to integrate our XCell ATF &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;cell retention control technology into Sartorius&#x2019;s BIOSTAT&lt;div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px"&gt;&#xae;&lt;/div&gt; STR large-scale, &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;single-use&lt;/div&gt; bioreactors to create novel perfusion-enabled bioreactors. As a result of this collaboration, &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;end-users&lt;/div&gt; will stand to benefit from a single control system for 50L to 2,000L bioreactors used in perfusion cell culture applications. The single interface is designed to control cell growth, fluid management and cell retention in continuous and intensified bioprocessing and, ultimately, simplify the development and manufacture of biotechnological drugs under current good manufacturing practices. &lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;In June 2018, the Company secured an agreement with Navigo for the exclusive &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;co-development&lt;/div&gt; of multiple affinity ligands for which Repligen holds commercialization rights. The Company is manufacturing and has agreed to supply the first of these ligands, &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;NGL-Impact&lt;/div&gt;&lt;div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px"&gt;&#x2122;&lt;/div&gt;&lt;div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px"&gt; &lt;/div&gt;A, exclusively to Purolite Life Sciences (&#x201c;Purolite&#x201d;), who will pair the Company&#x2019;s high-performance ligand with Purolite&#x2019;s agarose jetting base bead technology used in their Jetted A50 Protein A resin product. We also signed a long-term supply agreement with Purolite for &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;NGL-Impact&lt;/div&gt; A and other potential additional affinity ligands that may advance from the Company&#x2019;s Navigo collaboration. The Navigo and Purolite agreements are supportive of the Company&#x2019;s strategy to secure and reinforce the Company&#x2019;s proteins business. The Company made payments to Navigo of $0.9&#160;million and $1.0&#160;million in the years ended December&#160;31, 2020 and 2019, respectively, in connection with this program, which are recorded to research and development expenses in the Company&#x2019;s consolidated statements of comprehensive income. &lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Purchase Orders, Supply Agreements and Other Contractual Obligations &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;In the normal course of business, the Company has entered into purchase orders and other agreements with manufacturers, distributors and others. Outstanding obligations at December&#160;31, 2020 of $55.3&#160;million are expected to be completed within one year. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Legal Proceedings &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;From time to time, in the normal course of its operations, the Company is subject to litigation matters and claims relating to employee relations, business practices and patent infringement. Litigation can be expensive and disruptive to normal business operations. Moreover, the results of complex legal proceedings are difficult to predict and the Company&#x2019;s view of these matters may change in the future as the litigation and events related thereto unfold. The Company expenses legal fees as incurred. The Company records a provision for contingent losses when it is both probable that a liability has been incurred and the amount of the loss can be reasonably estimated. An unfavorable outcome to any legal matter, if material, could have an adverse effect on the Company&#x2019;s operations or its financial results. &lt;/div&gt;&lt;/div&gt; </us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <rgen:CapacityOfBioreactors
      contextRef="P01_01_2020To12_31_2020_MinimumMembersrtRangeAxis"
      decimals="0"
      unitRef="Unit_l">50</rgen:CapacityOfBioreactors>
    <rgen:CapacityOfBioreactors
      contextRef="P01_01_2020To12_31_2020_MaximumMembersrtRangeAxis"
      decimals="0"
      unitRef="Unit_l">2000</rgen:CapacityOfBioreactors>
    <us-gaap:LongTermPurchaseCommitmentAmount
      contextRef="P01_01_2020To12_31_2020_NGLImpactAMembersrtProductOrServiceAxis_ResearchAndDevelopmentArrangementMemberusgaapLongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis"
      decimals="-5"
      unitRef="Unit_USD">900000</us-gaap:LongTermPurchaseCommitmentAmount>
    <us-gaap:LongTermPurchaseCommitmentAmount
      contextRef="P01_01_2019To12_31_2019_NGLImpactAMembersrtProductOrServiceAxis_ResearchAndDevelopmentArrangementMemberusgaapLongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis"
      decimals="-5"
      unitRef="Unit_USD">1000000.0</us-gaap:LongTermPurchaseCommitmentAmount>
    <us-gaap:LongTermDebtTextBlock contextRef="P01_01_2020To12_31_2020">
&lt;table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="page-break-inside: avoid;"&gt;
&lt;td style="width: 5%; vertical-align: top;;text-align:left;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;12.&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: top;;text-align:left;"&gt; &lt;div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Convertible Senior Notes &lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The carrying value of the Company&#x2019;s convertible senior notes is as follows: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 66%;"/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2019&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts in thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;0.375% convertible senior notes due 2024:&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="text-decoration: underline; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Convertible senior notes, current portion:&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Principal amount&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;287,500&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Unamortized debt discount&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(38,317&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Unamortized debt issuance costs&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(5,446&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total convertible senior notes, current portion&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;243,737&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="text-decoration: underline; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Convertible senior notes:&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Principal amount&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;287,500&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Unamortized debt discount&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(47,921&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Unamortized debt issuance costs&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(6,812&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total convertible senior notes&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;243,737&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;232,767&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;  &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;0.375% Convertible Senior Notes due 2024 &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;On July&#160;19, 2019, the Company issued $287.5&#160;million aggregate principal amount of 0.375% Convertible Senior Notes due 2024 (&#x201c;2019 Notes&#x201d;), which includes the underwriters&#x2019; exercise in full of an option to purchase an additional $37.5&#160;million aggregate principal amount of 2019 Notes (the &#x201c;Notes Offering&#x201d;). The net proceeds of the Notes Offering, after deducting underwriting discounts and commissions and other related offering expenses payable by the Company, were approximately $278.5&#160;million. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The 2019 Notes are senior, unsecured obligations of the Company, and bear interest at a rate of 0.375% per year. Interest is payable semi-annually in arrears on January 15 and July 15 of each year, beginning on January 15, 2020.&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;The 2019 Notes will mature on&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;July 15, 2024, unless earlier repurchased or converted in accordance with their terms. The initial conversion rate for the 2019 Notes is 8.6749 shares of the Company&#x2019;s common stock per $1,000 principal amount of 2019 Notes (which is equivalent to an initial conversion price of approximately $115.28 per share). Prior to the close of business on the business day immediately preceding April&#160;15, 2024, the 2019 Notes will be convertible at the option of the holders of 2019 Notes only upon the satisfaction of specified conditions and during certain periods. Thereafter until the close of business on the second scheduled trading day immediately preceding the maturity date, the 2019 Notes will be convertible at the options of the holders of 2019 Notes at any time regardless of these conditions. Conversion of the 2019 Notes will be settled in cash, shares of the Company&#x2019;s common stock or a combination thereof, at the Company&#x2019;s election. The 2019 Notes are not redeemable by the Company prior to maturity. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Holders of 2019 Notes may require the Company to repurchase their 2019 Notes upon the occurrence of a fundamental change prior to maturity at a repurchase price equal to 100% of the principal amount thereof, plus accrued and unpaid interest to, but excluding, the date of repurchase. In connection with certain corporate events, the Company will, under certain circumstances, increase the conversion rate for holders of 2019 Notes who elect to convert their 2019 Notes in connection with such corporate events. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;During the fourth quarter of 2020, the closing price of the Company&#x2019;s common stock exceeded 130% of the conversion price of the 2019 Notes for more than 20 trading days of the last 30 consecutive trading &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;days of the quarter. As a result, the 2019 Notes are convertible at the option of the holders of the 2019 Notes during the first quarter of 2021, the quarter immediately following the quarter when the conditions are met, as stated in the terms of the 2019 Notes. Expecting to continue meeting these terms, the Company reclassified the carrying value of the 2019 Notes from long-term liabilities to current liabilities on the Company&#x2019;s balance sheet as of December 31, 2020. As of the date of this filing, the Company received requests to convert $3,000 aggregate principal amount of 2019 Notes which we intend to pay or deliver, as the case may be, the settlement amount to be determined &#x2013; paying the amount in excess of the aggregate principal portion of the converted notes in shares of our common stock. These conversions will be settled during the first quarter of 2021. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The Company accounts for the 2019 Notes as separate liability and equity components. The Company determined the carrying amount of the liability component as the present value of its cash flows using a discount rate of 4.5% based on comparative convertible transactions for similar companies. The proceeds allocated to the debt conversion feature were $52.1&#160;million. This amount was calculated by deducting the carrying value of the liability component from the principal amount of the 2019 Notes as a whole. The difference represents a debt discount that is amortized to interest expense on the Company&#x2019;s consolidated statements of comprehensive income over the term of the 2019 Notes using the effective interest rate method. The Company will assess the equity classification of the cash conversion feature quarterly, and it is not remeasured as long as it continues to meet the conditions for equity classification. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The Company allocates transaction costs related to the issuance of the 2019 Notes to the liability and equity components using the same proportions as the initial carrying value of the 2019 Notes. Transaction costs related to the liability component were $7.4&#160;million and are being amortized to interest expense using the effective interest method over the term of the 2019 Notes. Transaction costs attributable to the equity component were $1.6&#160;million and are netted with the equity component of the 2019 Notes in stockholders&#x2019; equity of the Company&#x2019;s consolidated balance sheet at December&#160;31, 2020. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Interest expense recognized on the 2019 Notes in 2020 was $1.1&#160;million, $9.6&#160;million and $1.4&#160;million for the contractual coupon interest, the accretion of the debt discount and the amortization of the debt issuance costs, respectively. The effective interest rate on the 2019 Notes is 5.1%, which included the interest on the 2019 Notes, amortization of the debt discount and debt issuance costs. As of December&#160;31, 2020, the carrying value of the 2019 Notes was $243.7&#160;million and the fair value of the principal was $501.0&#160;million.&#160;The fair value of the 2019 Notes was determined based on the most recent trade activity of the 2019 Notes as of December&#160;31, 2020. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The 2019 Notes agreement contains customary terms and events of default. If an event of default (other than certain events of bankruptcy, insolvency or reorganization involving the Company) occurs and is continuing, the holders of at least 25% in aggregate principal amount of the outstanding 2019 Notes may declare 100% of the principal of, and any accrued and unpaid interest on, all of the 2019 Notes to be due and payable. Upon the occurrence of certain events of bankruptcy, insolvency or reorganization involving the Company, 100% of the principal of and accrued and unpaid interest, if any, on all of the 2019 Notes will become due and payable automatically. Notwithstanding the foregoing, the 2019 Notes provide that, to the extent the Company elects and for up to 270 days, the sole remedy for an event of default relating to certain failures by the Company to comply with certain reporting covenants consist exclusively of the right to receive additional interest on the 2019 Notes. The Company is not aware of any events of default, current events or market conditions that would allow holders to call or convert the 2019 Notes as of December&#160;31, 2020. &lt;/div&gt;&lt;/div&gt;  &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-style:italic;display:inline;"&gt;Conversion of the 2.125% Convertible Senior Notes due 2021 &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The Company utilized a portion of the proceeds from the issuance of the 2019 Notes to settle its outstanding 2.125% Convertible Senior Notes due 2021 (the &#x201c;2016 Notes&#x201d;) during the third quarter of 2019. On July&#160;16, 2019, the Company entered into separate privately negotiated agreements with certain holders of the 2016 Notes to exchange an aggregate of $92.0&#160;million principal aggregate amount of the 2016 Notes for shares of the Company&#x2019;s common stock, together with cash, in private placement transactions (the &#x201c;Note Exchanges&#x201d;). On July&#160;19, 2019 and July&#160;22, 2019, the Company used approximately $92.3&#160;million (including $0.3&#160;million of accrued interest) and 1,850,155 shares of its common stock valued at $161.0&#160;million to settle the Note Exchanges for total consideration of $253.3&#160;million, of which $163.6&#160;million was allocated to reacquiring the equity component of the 2016 Notes. The Company allocated the consideration transferred to the liability and equity components using the same proportions as the initial carrying value of the 2016 Notes. The transaction resulted in a loss on extinguishment of debt of $4.6&#160;million in the Company&#x2019;s consolidated statements of comprehensive income in 2019. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;On July&#160;19, 2019, the Company issued a Notice of Redemption in respect of the 2016 Notes, which provided that, on September&#160;23, 2019, the Company would redeem all 2016 Notes that had not been converted, repurchased or exchanged prior to such date at a redemption price in cash equal to 100% of the principal amount thereof plus accrued and unpaid interest. On September&#160;23, 2019, the Company used $23.0&#160;million and 466,045 shares of its common stock valued at $37.8&#160;million to settle the remaining 2016 Notes for a total of $60.8&#160;million, of which $38.3&#160;million was allocated to reacquiring the equity component of the 2016 Notes. This transaction resulted in a loss on extinguishment of debt of $1.1&#160;million recorded on the Company&#x2019;s consolidated statements of comprehensive income. The total loss in 2019 of $5.7&#160;million represents the difference between the fair value of the liability component of the 2016 Notes and its related carrying value immediately before the exchange. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Interest expense recognized on the 2016 Notes in 2019 prior to conversion was $1.3&#160;million, $2.4&#160;million and $0.4&#160;million for the contractual coupon interest, the accretion of the debt discount and the amortization of the debt issuance costs, respectively. The effective interest rate on the 2016 Notes was 6.6%, which included the interest on the 2016 Notes, amortization of the debt discount and debt issuance costs. &lt;/div&gt;&lt;/div&gt; </us-gaap:LongTermDebtTextBlock>
    <us-gaap:ConvertibleDebtTableTextBlock contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The carrying value of the Company&#x2019;s convertible senior notes is as follows: &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 66%;"/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 6%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;December&#160;31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;2019&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="6" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts in thousands)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;0.375% convertible senior notes due 2024:&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="text-decoration: underline; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Convertible senior notes, current portion:&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Principal amount&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;287,500&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Unamortized debt discount&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(38,317&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Unamortized debt issuance costs&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(5,446&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total convertible senior notes, current portion&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;243,737&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="text-decoration: underline; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Convertible senior notes:&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Principal amount&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;287,500&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Unamortized debt discount&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(47,921&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Unamortized debt issuance costs&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;;text-align:right;"&gt;&#x2014;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(6,812&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Total convertible senior notes&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;243,737&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;232,767&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; </us-gaap:ConvertibleDebtTableTextBlock>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="PAsOn12_31_2020_ZeropointthreesevenfivepercentageconvertibleseniornotesduetwentytwentyfourmemberMemberusgaapDebtInstrumentAxis"
      decimals="-3"
      unitRef="Unit_USD">287500000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentUnamortizedDiscount
      contextRef="PAsOn12_31_2020_ZeropointthreesevenfivepercentageconvertibleseniornotesduetwentytwentyfourmemberMemberusgaapDebtInstrumentAxis"
      decimals="-3"
      unitRef="Unit_USD">38317000</us-gaap:DebtInstrumentUnamortizedDiscount>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="PAsOn12_31_2020_ZeropointthreesevenfivepercentageconvertibleseniornotesduetwentytwentyfourmemberMemberusgaapDebtInstrumentAxis"
      decimals="-3"
      unitRef="Unit_USD">5446000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:LongTermDebt
      contextRef="PAsOn12_31_2020_ZeropointthreesevenfivepercentageconvertibleseniornotesduetwentytwentyfourmemberMemberusgaapDebtInstrumentAxis"
      decimals="-3"
      unitRef="Unit_USD">243737000</us-gaap:LongTermDebt>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="PAsOn12_31_2019_ZeropointthreesevenfivepercentageconvertibleseniornotesduetwentytwentyfourmemberMemberusgaapDebtInstrumentAxis"
      decimals="-3"
      unitRef="Unit_USD">287500000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentUnamortizedDiscount
      contextRef="PAsOn12_31_2019_ZeropointthreesevenfivepercentageconvertibleseniornotesduetwentytwentyfourmemberMemberusgaapDebtInstrumentAxis"
      decimals="-3"
      unitRef="Unit_USD">47921000</us-gaap:DebtInstrumentUnamortizedDiscount>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="PAsOn12_31_2019_ZeropointthreesevenfivepercentageconvertibleseniornotesduetwentytwentyfourmemberMemberusgaapDebtInstrumentAxis"
      decimals="-3"
      unitRef="Unit_USD">6812000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:LongTermDebt
      contextRef="PAsOn12_31_2020_ZeropointthreesevenfivepercentageconvertibleseniornotesduetwentytwentyfourmemberMemberusgaapDebtInstrumentAxis"
      decimals="-3"
      unitRef="Unit_USD">243737000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="PAsOn12_31_2019_ZeropointthreesevenfivepercentageconvertibleseniornotesduetwentytwentyfourmemberMemberusgaapDebtInstrumentAxis"
      decimals="-3"
      unitRef="Unit_USD">232767000</us-gaap:LongTermDebt>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="PAsOn07_19_2019_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis"
      decimals="INF"
      unitRef="Unit_USD">287500000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="PAsOn07_19_2019_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis"
      decimals="5"
      unitRef="Unit_pure">0.00375</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <rgen:OptionToPurchaseAdditionalDebtFaceAmount
      contextRef="PAsOn07_19_2019_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis"
      decimals="-5"
      unitRef="Unit_USD">37500000</rgen:OptionToPurchaseAdditionalDebtFaceAmount>
    <us-gaap:ProceedsFromConvertibleDebt
      contextRef="P07_19_2019To07_19_2019_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis"
      decimals="-5"
      unitRef="Unit_USD">278500000</us-gaap:ProceedsFromConvertibleDebt>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="PAsOn12_31_2020_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis"
      decimals="5"
      unitRef="Unit_pure">0.00375</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateTerms contextRef="P07_19_2019To07_19_2019_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis">Interest is payable semi-annually in arrears on January 15 and July 15 of each year, beginning on January 15, 2020.</us-gaap:DebtInstrumentInterestRateTerms>
    <us-gaap:DebtInstrumentMaturityDate contextRef="P07_19_2019To07_19_2019_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis">2024-07-15</us-gaap:DebtInstrumentMaturityDate>
    <us-gaap:DebtInstrumentConvertibleConversionRatio1
      contextRef="P07_19_2019To07_19_2019_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis"
      decimals="INF"
      unitRef="Unit_pure">8.6749</us-gaap:DebtInstrumentConvertibleConversionRatio1>
    <us-gaap:DebtInstrumentConvertibleConversionPrice1
      contextRef="PAsOn07_19_2019_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis"
      decimals="2"
      unitRef="Unit_USD_per_Share">115.28</us-gaap:DebtInstrumentConvertibleConversionPrice1>
    <us-gaap:DebtInstrumentRedemptionPricePercentage
      contextRef="P07_19_2019To07_19_2019_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis"
      decimals="INF"
      unitRef="Unit_pure">1</us-gaap:DebtInstrumentRedemptionPricePercentage>
    <us-gaap:DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger
      contextRef="P10_01_2020To12_31_2020"
      decimals="2"
      unitRef="Unit_pure">1.30</us-gaap:DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger>
    <us-gaap:DebtInstrumentConvertibleThresholdTradingDays
      contextRef="P01_01_2020To12_31_2020"
      decimals="0"
      unitRef="Unit_Day">20</us-gaap:DebtInstrumentConvertibleThresholdTradingDays>
    <us-gaap:DebtInstrumentConvertibleThresholdConsecutiveTradingDays1
      contextRef="P01_01_2020To12_31_2020"
      decimals="0"
      unitRef="Unit_Day">30</us-gaap:DebtInstrumentConvertibleThresholdConsecutiveTradingDays1>
    <rgen:DebtInstrumentConvertibleIntoEquity
      contextRef="PAsOn12_31_2020"
      decimals="0"
      unitRef="Unit_USD">3000</rgen:DebtInstrumentConvertibleIntoEquity>
    <rgen:DiscountRate
      contextRef="P01_01_2019To12_31_2019_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis"
      decimals="3"
      unitRef="Unit_pure">0.045</rgen:DiscountRate>
    <us-gaap:DebtInstrumentConvertibleBeneficialConversionFeature
      contextRef="P01_01_2019To12_31_2019_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis"
      decimals="-5"
      unitRef="Unit_USD">52100000</us-gaap:DebtInstrumentConvertibleBeneficialConversionFeature>
    <rgen:ConvertibleNotesTransactionCostsOfLiabilityComponent
      contextRef="P01_01_2020To12_31_2020_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis"
      decimals="-5"
      unitRef="Unit_USD">7400000</rgen:ConvertibleNotesTransactionCostsOfLiabilityComponent>
    <rgen:ConvertibleNotesTransactionCostsOfEquityComponent
      contextRef="PAsOn12_31_2020_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis"
      decimals="-5"
      unitRef="Unit_USD">1600000</rgen:ConvertibleNotesTransactionCostsOfEquityComponent>
    <us-gaap:InterestExpenseDebtExcludingAmortization
      contextRef="P01_01_2020To12_31_2020_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis"
      decimals="-5"
      unitRef="Unit_USD">1100000</us-gaap:InterestExpenseDebtExcludingAmortization>
    <us-gaap:AmortizationOfDebtDiscountPremium
      contextRef="P01_01_2020To12_31_2020_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis"
      decimals="-5"
      unitRef="Unit_USD">9600000</us-gaap:AmortizationOfDebtDiscountPremium>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="P01_01_2020To12_31_2020_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis"
      decimals="-5"
      unitRef="Unit_USD">1400000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="PAsOn12_31_2020_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis"
      decimals="3"
      unitRef="Unit_pure">0.051</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <us-gaap:LongTermDebt
      contextRef="PAsOn12_31_2020_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis"
      decimals="-5"
      unitRef="Unit_USD">243700000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebtFairValue
      contextRef="PAsOn12_31_2020_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMemberusgaapDebtInstrumentAxis"
      decimals="-5"
      unitRef="Unit_USD">501000000.0</us-gaap:LongTermDebtFairValue>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="PAsOn12_31_2020_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis"
      decimals="5"
      unitRef="Unit_pure">0.02125</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="PAsOn07_16_2019_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis"
      decimals="INF"
      unitRef="Unit_USD">92000000.0</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:EarlyRepaymentOfSeniorDebt
      contextRef="P07_19_2019To07_19_2019_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis"
      decimals="-5"
      unitRef="Unit_USD">92300000</us-gaap:EarlyRepaymentOfSeniorDebt>
    <us-gaap:DebtInstrumentIncreaseAccruedInterest
      contextRef="P07_19_2019To07_19_2019_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis"
      decimals="-5"
      unitRef="Unit_USD">300000</us-gaap:DebtInstrumentIncreaseAccruedInterest>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities
      contextRef="P07_22_2019To07_22_2019_CommonStockMemberusgaapStatementEquityComponentsAxis_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis"
      decimals="0"
      unitRef="Unit_shares">1850155</us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
      contextRef="P07_22_2019To07_22_2019_CommonStockMemberusgaapStatementEquityComponentsAxis_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis"
      decimals="-5"
      unitRef="Unit_USD">161000000.0</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <us-gaap:DebtConversionConvertedInstrumentAmount1
      contextRef="P07_22_2019To07_22_2019_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis"
      decimals="-5"
      unitRef="Unit_USD">253300000</us-gaap:DebtConversionConvertedInstrumentAmount1>
    <us-gaap:DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent
      contextRef="PAsOn07_22_2019_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis"
      decimals="-5"
      unitRef="Unit_USD">163600000</us-gaap:DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="P01_01_2019To12_31_2019_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis"
      decimals="-5"
      unitRef="Unit_USD">-4600000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:EarlyRepaymentOfSeniorDebt
      contextRef="P08_24_2019To09_23_2019_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis"
      decimals="-5"
      unitRef="Unit_USD">23000000.0</us-gaap:EarlyRepaymentOfSeniorDebt>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities
      contextRef="P08_24_2019To09_23_2019_CommonStockMemberusgaapStatementEquityComponentsAxis_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis"
      decimals="0"
      unitRef="Unit_shares">466045</us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
      contextRef="P08_24_2019To09_23_2019_CommonStockMemberusgaapStatementEquityComponentsAxis_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis"
      decimals="-5"
      unitRef="Unit_USD">37800000</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <rgen:DebtInstrumentFaceAmountRemaining
      contextRef="PAsOn09_23_2019_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis"
      decimals="-5"
      unitRef="Unit_USD">60800000</rgen:DebtInstrumentFaceAmountRemaining>
    <us-gaap:DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent
      contextRef="PAsOn09_23_2019_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis"
      decimals="-5"
      unitRef="Unit_USD">38300000</us-gaap:DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="P08_24_2019To09_23_2019_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis"
      decimals="-5"
      unitRef="Unit_USD">-1100000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="P01_01_2019To12_31_2019"
      decimals="-5"
      unitRef="Unit_USD">-5700000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:InterestExpenseDebtExcludingAmortization
      contextRef="P01_01_2020To12_31_2020_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis"
      decimals="-5"
      unitRef="Unit_USD">1300000</us-gaap:InterestExpenseDebtExcludingAmortization>
    <us-gaap:AmortizationOfDebtDiscountPremium
      contextRef="P01_01_2020To12_31_2020_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis"
      decimals="-5"
      unitRef="Unit_USD">2400000</us-gaap:AmortizationOfDebtDiscountPremium>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="P01_01_2020To12_31_2020_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis"
      decimals="-5"
      unitRef="Unit_USD">400000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="PAsOn12_31_2020_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMemberusgaapDebtInstrumentAxis"
      decimals="3"
      unitRef="Unit_pure">0.066</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <us-gaap:ComprehensiveIncomeNoteTextBlock contextRef="P01_01_2020To12_31_2020">
&lt;table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="page-break-inside: avoid;"&gt;
&lt;td style="width: 5%; vertical-align: top;;text-align:left;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;13.&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: top;;text-align:left;"&gt; &lt;div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Accumulated Other Comprehensive Income (Loss) &lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Changes in accumulated other comprehensive income (loss) consisted of the following for the years ended December&#160;31, 2020 and 2019 (amounts in thousands): &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 68%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 80%;"/&gt;
&lt;td style="width: 9%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Foreign&lt;br/&gt; Currency&lt;br/&gt; Translation&lt;br/&gt; Adjustment&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Balance as of December&#160;31, 2018&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(11,893&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Other comprehensive loss&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(3,134&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Balance as of December&#160;31, 2019&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(15,027&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Other comprehensive income&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;17,112&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Balance as of December&#160;31, 2020&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;2,085&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; </us-gaap:ComprehensiveIncomeNoteTextBlock>
    <us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock contextRef="P01_01_2020To12_31_2020">&lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Changes in accumulated other comprehensive income (loss) consisted of the following for the years ended December&#160;31, 2020 and 2019 (amounts in thousands): &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 68%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 80%;"/&gt;
&lt;td style="width: 9%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Foreign&lt;br/&gt; Currency&lt;br/&gt; Translation&lt;br/&gt; Adjustment&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Balance as of December&#160;31, 2018&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(11,893&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Other comprehensive loss&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(3,134&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Balance as of December&#160;31, 2019&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;(15,027&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;)&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Other comprehensive income&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;17,112&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Balance as of December&#160;31, 2020&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;2,085&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-size: 1px;"&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt; &lt;div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;"&gt;&#160;&lt;/div&gt; &lt;/td&gt;
&lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; </us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock>
    <us-gaap:StockholdersEquity
      contextRef="PAsOn12_31_2018_AccumulatedTranslationAdjustmentMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">-11893000</us-gaap:StockholdersEquity>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="P01_01_2019To12_31_2019_AccumulatedTranslationAdjustmentMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">-3134000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:StockholdersEquity
      contextRef="PAsOn12_31_2019_AccumulatedTranslationAdjustmentMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">-15027000</us-gaap:StockholdersEquity>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="P01_01_2020To12_31_2020_AccumulatedTranslationAdjustmentMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">17112000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:StockholdersEquity
      contextRef="PAsOn12_31_2020_AccumulatedTranslationAdjustmentMemberusgaapStatementEquityComponentsAxis"
      decimals="-3"
      unitRef="Unit_USD">2085000</us-gaap:StockholdersEquity>
    <us-gaap:CompensationAndEmployeeBenefitPlansTextBlock contextRef="P01_01_2020To12_31_2020">
&lt;table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="page-break-inside: avoid;"&gt;
&lt;td style="width: 5%; vertical-align: top;;text-align:left;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;14.&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: top;;text-align:left;"&gt; &lt;div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Employee Benefit Plans &lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style="clear: both; max-height: 0px; background: none;"/&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;In the United States, the Repligen Corporation 401(k) Savings and Retirement Plan (the &#x201c;401(k) Plan&#x201d;) is a qualified defined contribution plan in accordance with Section&#160;401(k) of the Internal Revenue Code. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;All U.S. employees over the age of 21 are eligible to make &lt;div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"&gt;pre-tax&lt;/div&gt; contributions up to a specified percentage of their compensation. Under the 401(k) Plan, the Company may, but is not obligated to match a portion of the employees&#x2019; contributions up to a defined maximum. The match is calculated on a calendar year basis. The Company matched $1.4&#160;million, $1.0&#160;million and $0.7&#160;million in the years ended December&#160;31, 2020, 2019 and 2018, respectively. &lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;In Sweden, the Company contributes to a government-mandated occupational pension plan that is a qualified defined contribution plan. All employees in Sweden are eligible for this pension plan. The Company pays premiums to a third-party occupational pension specialist who administers the pension plan. These premiums are based on various factors including each employee&#x2019;s age, salary, employment history and selected benefits in the pension plan. When an employee terminates or retires, these premium payments cease for that employee and the Company has no further pension-related obligations for that employee. The Company contributed $0.6&#160;million to the defined contribution plan for each of the years ended December&#160;31, 2020, 2019 and 2018. &lt;/div&gt;&lt;/div&gt; </us-gaap:CompensationAndEmployeeBenefitPlansTextBlock>
    <rgen:DefinedContributionPlanEmployeeEligibilityAge contextRef="P01_01_2020To12_31_2020_MinimumMembersrtRangeAxis">P21Y</rgen:DefinedContributionPlanEmployeeEligibilityAge>
    <us-gaap:DefinedBenefitPlanContributionsByEmployer
      contextRef="P01_01_2020To12_31_2020_ForeignPlanMemberusgaapRetirementPlanSponsorLocationAxis_PensionPlansDefinedBenefitMemberusgaapRetirementPlanTypeAxis"
      decimals="-5"
      unitRef="Unit_USD">1400000</us-gaap:DefinedBenefitPlanContributionsByEmployer>
    <us-gaap:DefinedBenefitPlanContributionsByEmployer
      contextRef="P01_01_2019To12_31_2019_ForeignPlanMemberusgaapRetirementPlanSponsorLocationAxis_PensionPlansDefinedBenefitMemberusgaapRetirementPlanTypeAxis"
      decimals="-5"
      unitRef="Unit_USD">1000000.0</us-gaap:DefinedBenefitPlanContributionsByEmployer>
    <us-gaap:DefinedBenefitPlanContributionsByEmployer
      contextRef="P01_01_2018To12_31_2018_ForeignPlanMemberusgaapRetirementPlanSponsorLocationAxis_PensionPlansDefinedBenefitMemberusgaapRetirementPlanTypeAxis"
      decimals="-5"
      unitRef="Unit_USD">700000</us-gaap:DefinedBenefitPlanContributionsByEmployer>
    <us-gaap:DefinedBenefitPlanContributionsByEmployer
      contextRef="P01_01_2019To12_31_2019_DefinedContribution401KPlanMemberusgaapDeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis"
      decimals="-5"
      unitRef="Unit_USD">600000</us-gaap:DefinedBenefitPlanContributionsByEmployer>
    <us-gaap:DefinedBenefitPlanContributionsByEmployer
      contextRef="P01_01_2020To12_31_2020_DefinedContribution401KPlanMemberusgaapDeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis"
      decimals="-5"
      unitRef="Unit_USD">600000</us-gaap:DefinedBenefitPlanContributionsByEmployer>
    <us-gaap:DefinedBenefitPlanContributionsByEmployer
      contextRef="P01_01_2018To12_31_2018_DefinedContribution401KPlanMemberusgaapDeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis"
      decimals="-5"
      unitRef="Unit_USD">600000</us-gaap:DefinedBenefitPlanContributionsByEmployer>
    <us-gaap:RelatedPartyTransactionsDisclosureTextBlock contextRef="P01_01_2020To12_31_2020">
&lt;table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="page-break-inside: avoid;"&gt;
&lt;td style="width: 5%; vertical-align: top;;text-align:left;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;15.&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: top;;text-align:left;"&gt; &lt;div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Related Party Transactions &lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style="clear: both; max-height: 0px; background: none;"/&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;At December&#160;31, 2020, the Company had an outstanding tax liability of $0.5&#160;million due to the seller of C Technologies. This tax liability was paid subsequent to year end in January 2021 and concluded the remaining tax liability the Company had with the seller due to the 338(h)(10) tax election. The Company paid the seller a total of $0.3&#160;million and $1.6&#160;million related to the tax liability associated with the 338(h)(10) election as of December&#160;31, 2020 and 2019, respectively. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Certain facilities leased by Spectrum, a company the Company acquired in 2017, are owned by Roy Eddleman, the former owner of Spectrum. As of December&#160;31, 2020, Mr.&#160;Eddleman owned greater than 5% of the Company&#x2019;s outstanding shares and the Company considers him to be a related party. The lease amounts paid to this shareholder prior to the public offering were negotiated in connection with the Spectrum Acquisition. The Company incurred rent expense totaling $0.7&#160;million for the year ended December&#160;31, 2020 related to these leases. &lt;/div&gt;&lt;/div&gt;</us-gaap:RelatedPartyTransactionsDisclosureTextBlock>
    <us-gaap:TaxesPayableCurrent
      contextRef="PAsOn12_31_2020_CTechnologiesMemberusgaapRelatedPartyTransactionsByRelatedPartyAxis"
      decimals="-5"
      unitRef="Unit_USD">500000</us-gaap:TaxesPayableCurrent>
    <us-gaap:IncomeTaxesPaid
      contextRef="P01_01_2020To12_31_2020_CTechnologiesMemberusgaapRelatedPartyTransactionsByRelatedPartyAxis"
      decimals="-5"
      unitRef="Unit_USD">300000</us-gaap:IncomeTaxesPaid>
    <us-gaap:IncomeTaxesPaid
      contextRef="P01_01_2019To12_31_2019_CTechnologiesMemberusgaapRelatedPartyTransactionsByRelatedPartyAxis"
      decimals="-5"
      unitRef="Unit_USD">1600000</us-gaap:IncomeTaxesPaid>
    <us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners
      contextRef="PAsOn12_31_2020_MinimumMembersrtRangeAxis_PrincipalOwnerMemberusgaapRelatedPartyTransactionsByRelatedPartyAxis_SpectrumIncMembersrtOwnershipAxis"
      decimals="INF"
      unitRef="Unit_pure">0.05</us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners>
    <us-gaap:ProfessionalFees
      contextRef="P01_01_2020To12_31_2020_PrincipalOwnerMemberusgaapRelatedPartyTransactionsByRelatedPartyAxis"
      decimals="-5"
      unitRef="Unit_USD">700000</us-gaap:ProfessionalFees>
    <us-gaap:QuarterlyFinancialInformationTextBlock contextRef="P01_01_2020To12_31_2020">
&lt;table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="page-break-inside: avoid;"&gt;
&lt;td style="width: 5%; vertical-align: top;;text-align:left;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;16.&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: top;;text-align:left;"&gt; &lt;div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Selected Quarterly Financial Data (Unaudited) &lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style="clear: both; max-height: 0px; background: none;"/&gt; &lt;div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;The following table sets forth certain unaudited quarterly results of operations for 2020 and 2019. In the opinion of management, this information has been prepared on the same basis as the audited consolidated financial statements and all necessary adjustments, consisting only of normal recurring adjustments, have been included in the amounts stated below to present fairly the quarterly information when read in conjunction with the audited consolidated financial statements and notes thereto included elsewhere in this Form 10-K. The quarterly operating results are not necessarily indicative of future results of operations. &lt;/div&gt;&lt;/div&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 51%;"/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="14" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;For the Years Ended December 31, 2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Q1&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Q2&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Q3&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Q4&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="14" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts in thousands, except per share data)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Revenue&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;76,090&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;87,462&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;94,060&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;108,648&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Gross profit&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;44,108&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;50,599&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;54,434&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;60,485&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Operating expenses&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;64,184&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;67,925&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;73,099&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;91,229&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Net income&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;9,815&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;15,861&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;14,552&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;19,698&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Earnings per share:&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Basic&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.19&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.30&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.28&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.37&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Diluted&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.18&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.30&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.27&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.36&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;  &lt;div style="clear: both; max-height: 0px; background: none;"/&gt; &lt;div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 52%;"/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td colspan="14" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;For the Years Ended December 31, 2019&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Q1&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Q2&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Q3&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Q4&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td colspan="14" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts in thousands, except per share data)&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top; font-size: 10pt;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Revenue&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;$&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;60,634&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;$&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;70,692&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;$&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;69,445&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;$&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;69,474&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top; font-size: 10pt;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Gross profit&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;33,789&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;39,984&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;38,020&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;39,353&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top; font-size: 10pt;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Operating expenses&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;49,463&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;59,638&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;61,481&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;63,580&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top; font-size: 10pt;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Net income&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;8,053&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;8,095&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;1,659&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;3,604&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top; font-size: 10pt;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Earnings per share:&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top; font-size: 10pt;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Basic&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;$&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;0.18&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;$&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;0.17&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;$&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;0.03&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;$&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;0.07&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top; font-size: 10pt;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Diluted&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;$&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;0.17&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;$&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;0.17&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;$&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;0.03&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;$&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;0.07&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; </us-gaap:QuarterlyFinancialInformationTextBlock>
    <us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock contextRef="P01_01_2020To12_31_2020">
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 51%;"/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="14" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;For the Years Ended December 31, 2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Q1&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Q2&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Q3&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Q4&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td colspan="14" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts in thousands, except per share data)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Revenue&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;76,090&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;87,462&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;94,060&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;108,648&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Gross profit&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;44,108&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;50,599&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;54,434&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;60,485&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Operating expenses&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;64,184&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;67,925&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;73,099&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;91,229&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Net income&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;9,815&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;15,861&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;14,552&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;19,698&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Earnings per share:&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom; font-family: ARIAL;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Basic&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.19&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.30&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.28&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.37&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Diluted&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.18&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.30&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.27&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;$&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;0.36&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;
&lt;table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;"&gt;
&lt;tr style="font-size: 0px;"&gt;
&lt;td style="width: 52%;"/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td style="width: 4%; vertical-align: bottom;"/&gt;
&lt;td/&gt;
&lt;td/&gt;
&lt;td/&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td colspan="14" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;For the Years Ended December 31, 2019&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Q1&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Q2&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Q3&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;Q4&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; padding-bottom: 1pt;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td colspan="14" style="vertical-align: bottom;;text-align:center;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-weight:bold;display:inline;"&gt;(Amounts in thousands, except per share data)&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top; font-size: 10pt;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Revenue&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;$&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;60,634&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;$&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;70,692&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;$&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;69,445&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;$&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;69,474&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top; font-size: 10pt;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Gross profit&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;33,789&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;39,984&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;38,020&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;39,353&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top; font-size: 10pt;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Operating expenses&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;49,463&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;59,638&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;61,481&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;63,580&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top; font-size: 10pt;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Net income&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;8,053&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;8,095&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;1,659&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;3,604&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top; font-size: 10pt;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Earnings per share:&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;"&gt;
&lt;td style="vertical-align: top; font-size: 10pt;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Basic&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;$&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;0.18&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;$&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;0.17&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;$&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;0.03&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;$&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;0.07&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);"&gt;
&lt;td style="vertical-align: top; font-size: 10pt;"&gt; &lt;div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&lt;div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"&gt;Diluted&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;$&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;0.17&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;$&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;0.17&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;$&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;0.03&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&#160;&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;$&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom;;text-align:right;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;0.07&lt;/div&gt;&lt;/td&gt;
&lt;td style="vertical-align: bottom; white-space: nowrap;"&gt;&lt;div style="letter-spacing: 0px; top: 0px;;display:inline;"&gt;&#160;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; </us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P01_01_2020To03_31_2020"
      decimals="-3"
      unitRef="Unit_USD">76090000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P04_01_2020To06_30_2020"
      decimals="-3"
      unitRef="Unit_USD">87462000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P07_01_2020To09_30_2020"
      decimals="-3"
      unitRef="Unit_USD">94060000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P10_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">108648000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:GrossProfit
      contextRef="P01_01_2020To03_31_2020"
      decimals="-3"
      unitRef="Unit_USD">44108000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="P04_01_2020To06_30_2020"
      decimals="-3"
      unitRef="Unit_USD">50599000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="P07_01_2020To09_30_2020"
      decimals="-3"
      unitRef="Unit_USD">54434000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="P10_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">60485000</us-gaap:GrossProfit>
    <us-gaap:OperatingExpenses
      contextRef="P01_01_2020To03_31_2020"
      decimals="-3"
      unitRef="Unit_USD">64184000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="P04_01_2020To06_30_2020"
      decimals="-3"
      unitRef="Unit_USD">67925000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="P07_01_2020To09_30_2020"
      decimals="-3"
      unitRef="Unit_USD">73099000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="P10_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">91229000</us-gaap:OperatingExpenses>
    <us-gaap:NetIncomeLoss
      contextRef="P01_01_2020To03_31_2020"
      decimals="-3"
      unitRef="Unit_USD">9815000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="P04_01_2020To06_30_2020"
      decimals="-3"
      unitRef="Unit_USD">15861000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="P07_01_2020To09_30_2020"
      decimals="-3"
      unitRef="Unit_USD">14552000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="P10_01_2020To12_31_2020"
      decimals="-3"
      unitRef="Unit_USD">19698000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="P01_01_2020To03_31_2020"
      decimals="2"
      unitRef="Unit_USD_per_Share">0.19</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="P04_01_2020To06_30_2020"
      decimals="2"
      unitRef="Unit_USD_per_Share">0.30</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="P07_01_2020To09_30_2020"
      decimals="2"
      unitRef="Unit_USD_per_Share">0.28</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="P10_01_2020To12_31_2020"
      decimals="2"
      unitRef="Unit_USD_per_Share">0.37</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="P01_01_2020To03_31_2020"
      decimals="2"
      unitRef="Unit_USD_per_Share">0.18</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="P04_01_2020To06_30_2020"
      decimals="2"
      unitRef="Unit_USD_per_Share">0.30</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="P07_01_2020To09_30_2020"
      decimals="2"
      unitRef="Unit_USD_per_Share">0.27</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="P10_01_2020To12_31_2020"
      decimals="2"
      unitRef="Unit_USD_per_Share">0.36</us-gaap:EarningsPerShareDiluted>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P01_01_2019To03_31_2019"
      decimals="-3"
      unitRef="Unit_USD">60634000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P04_01_2019To06_30_2019"
      decimals="-3"
      unitRef="Unit_USD">70692000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P07_01_2019To09_30_2019"
      decimals="-3"
      unitRef="Unit_USD">69445000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="P10_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">69474000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:GrossProfit
      contextRef="P01_01_2019To03_31_2019"
      decimals="-3"
      unitRef="Unit_USD">33789000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="P04_01_2019To06_30_2019"
      decimals="-3"
      unitRef="Unit_USD">39984000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="P07_01_2019To09_30_2019"
      decimals="-3"
      unitRef="Unit_USD">38020000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="P10_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">39353000</us-gaap:GrossProfit>
    <us-gaap:OperatingExpenses
      contextRef="P01_01_2019To03_31_2019"
      decimals="-3"
      unitRef="Unit_USD">49463000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="P04_01_2019To06_30_2019"
      decimals="-3"
      unitRef="Unit_USD">59638000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="P07_01_2019To09_30_2019"
      decimals="-3"
      unitRef="Unit_USD">61481000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="P10_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">63580000</us-gaap:OperatingExpenses>
    <us-gaap:NetIncomeLoss
      contextRef="P01_01_2019To03_31_2019"
      decimals="-3"
      unitRef="Unit_USD">8053000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="P04_01_2019To06_30_2019"
      decimals="-3"
      unitRef="Unit_USD">8095000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="P07_01_2019To09_30_2019"
      decimals="-3"
      unitRef="Unit_USD">1659000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="P10_01_2019To12_31_2019"
      decimals="-3"
      unitRef="Unit_USD">3604000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="P01_01_2019To03_31_2019"
      decimals="2"
      unitRef="Unit_USD_per_Share">0.18</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="P04_01_2019To06_30_2019"
      decimals="2"
      unitRef="Unit_USD_per_Share">0.17</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="P07_01_2019To09_30_2019"
      decimals="2"
      unitRef="Unit_USD_per_Share">0.03</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="P10_01_2019To12_31_2019"
      decimals="2"
      unitRef="Unit_USD_per_Share">0.07</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="P01_01_2019To03_31_2019"
      decimals="2"
      unitRef="Unit_USD_per_Share">0.17</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="P04_01_2019To06_30_2019"
      decimals="2"
      unitRef="Unit_USD_per_Share">0.17</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="P07_01_2019To09_30_2019"
      decimals="2"
      unitRef="Unit_USD_per_Share">0.03</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="P10_01_2019To12_31_2019"
      decimals="2"
      unitRef="Unit_USD_per_Share">0.07</us-gaap:EarningsPerShareDiluted>
    <link:footnoteLink
      xlink:role="http://www.xbrl.org/2003/role/link"
      xlink:type="extended">
        <link:loc
          xlink:href="#Fact_18475833"
          xlink:label="Fact_18475833"
          xlink:type="locator"/>
        <link:footnote id="FN_66414" xlink:label="FN_66414" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">Represents the number of vested options as of December 31, 2020 plus the number of unvested options expected to vest as of December 31, 2020 based on the unvested outstanding options at December 31, 2020 adjusted for estimated forfeiture rates of 8% for awards granted to non-executive level employees and 3% for awards granted to executive level employees.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_18475833"
          xlink:to="FN_66414"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_18475834"
          xlink:label="Fact_18475834"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_18475834"
          xlink:to="FN_66414"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_18475835"
          xlink:label="Fact_18475835"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_18475835"
          xlink:to="FN_66414"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_18476001"
          xlink:label="Fact_18476001"
          xlink:type="locator"/>
        <link:footnote id="FN_66412" xlink:label="FN_66412" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">2020 revenue for filtration products includes revenue related to EMT from July 13, 2020, NMS from October 20, 2020 and ARTeSYN from December 3, 2020.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_18476001"
          xlink:to="FN_66412"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_18476002"
          xlink:label="Fact_18476002"
          xlink:type="locator"/>
        <link:footnote id="FN_66413" xlink:label="FN_66413" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">2019 revenue includes process analytics revenue related to C Technologies from June 1, 2019 through December 31, 2019.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_18476002"
          xlink:to="FN_66413"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_18476004"
          xlink:label="Fact_18476004"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_18476004"
          xlink:to="FN_66412"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_18476005"
          xlink:label="Fact_18476005"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_18476005"
          xlink:to="FN_66413"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_18476007"
          xlink:label="Fact_18476007"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_18476007"
          xlink:to="FN_66412"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_18476008"
          xlink:label="Fact_18476008"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_18476008"
          xlink:to="FN_66413"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_18476009"
          xlink:label="Fact_18476009"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_18476009"
          xlink:to="FN_66412"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_18476010"
          xlink:label="Fact_18476010"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_18476010"
          xlink:to="FN_66413"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_18476012"
          xlink:label="Fact_18476012"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_18476012"
          xlink:to="FN_66412"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_18476013"
          xlink:label="Fact_18476013"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_18476013"
          xlink:to="FN_66413"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_18476015"
          xlink:label="Fact_18476015"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_18476015"
          xlink:to="FN_66412"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_18476016"
          xlink:label="Fact_18476016"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_18476016"
          xlink:to="FN_66413"
          xlink:type="arc"/>
    </link:footnoteLink>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>14
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743806664136">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cover Page - USD ($)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Feb. 19, 2021</div></th>
<th class="th"><div>Jun. 30, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_CoverAbstract', window );"><strong>Cover [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-K<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2020<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">FY<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0000730272<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--12-31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Dec. 31,  2020<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityInteractiveDataCurrent', window );">Entity Interactive Data Current</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">000-14656<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">REPLIGEN CORP<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Large Accelerated Filer<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">RGEN<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common Stock<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NASDAQ<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">DE<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">04-2729386<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">41 Seyon Street, Bldg. 1, Suite 100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Waltham<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">MA<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">02453<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">781<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityShellCompany', window );">Entity Shell Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntitySmallBusiness', window );">Smaller reporting company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Emerging growth company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">250-0111<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentAnnualReport', window );">Document Annual Report</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityVoluntaryFilers', window );">Entity Voluntary Filers</a></td>
<td class="text">No<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityWellKnownSeasonedIssuer', window );">Entity Well-known Seasoned Issuer</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityPublicFloat', window );">Entity Public Float</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,711,511,345<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">54,771,343<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_IcfrAuditorAttestationFlag', window );">ICFR Auditor Attestation Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CoverAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentAnnualReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as an annual report.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentAnnualReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalPeriodFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fiscalPeriodItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalYearFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalYearFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The end date of the period reflected on the cover page if a periodic report. For all other reports and registration statements containing historical data, it is the date up through which that historical data is presented.  If there is no historical data in the report, use the filing date. The format of the date is YYYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentTransitionReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as a transition report.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Forms 10-K, 10-Q, 20-F<br> -Number 240<br> -Section 13<br> -Subsection a-1<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentTransitionReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCurrentReportingStatus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCurrentReportingStatus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFilerCategory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFilerCategory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:filerCategoryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityInteractiveDataCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-T<br> -Number 232<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityInteractiveDataCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityPublicFloat">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityPublicFloat</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityShellCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityShellCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntitySmallBusiness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicates that the company is a Smaller Reporting Company (SRC).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntitySmallBusiness</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityVoluntaryFilers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityVoluntaryFilers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityWellKnownSeasonedIssuer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityWellKnownSeasonedIssuer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_IcfrAuditorAttestationFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_IcfrAuditorAttestationFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>15
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743886392008">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED BALANCE SHEETS - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 717,292<span></span>
</td>
<td class="nump">$ 528,392<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestrictedCash', window );">Restricted cash</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,015<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable, net of reserves of $762 and $525 at December 31, 2020 and December 31, 2019, respectively</a></td>
<td class="nump">71,257<span></span>
</td>
<td class="nump">43,068<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherReceivablesGrossCurrent', window );">Royalties and other receivables</a></td>
<td class="nump">132<span></span>
</td>
<td class="nump">148<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnbilledReceivablesCurrent', window );">Unbilled receivables</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">456<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories, net</a></td>
<td class="nump">95,025<span></span>
</td>
<td class="nump">54,832<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">18,676<span></span>
</td>
<td class="nump">5,917<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">902,382<span></span>
</td>
<td class="nump">641,828<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net</a></td>
<td class="nump">66,870<span></span>
</td>
<td class="nump">48,455<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Intangible assets, net</a></td>
<td class="nump">287,100<span></span>
</td>
<td class="nump">212,552<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">618,305<span></span>
</td>
<td class="nump">468,413<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent', window );">Deferred tax assets</a></td>
<td class="nump">2,481<span></span>
</td>
<td class="nump">2,920<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating lease right of use assets</a></td>
<td class="nump">25,176<span></span>
</td>
<td class="nump">25,707<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other assets</a></td>
<td class="nump">573<span></span>
</td>
<td class="nump">238<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Assets', window );">Total assets</a></td>
<td class="nump">1,902,887<span></span>
</td>
<td class="nump">1,400,113<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">16,880<span></span>
</td>
<td class="nump">11,425<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Operating lease liability</a></td>
<td class="nump">5,254<span></span>
</td>
<td class="nump">3,557<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Accrued liabilities</a></td>
<td class="nump">53,085<span></span>
</td>
<td class="nump">33,331<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConvertibleNotesPayableCurrent', window );">Convertible senior notes, current portion, net</a></td>
<td class="nump">243,737<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">318,956<span></span>
</td>
<td class="nump">48,313<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConvertibleLongTermNotesPayable', window );">Convertible senior notes, net</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">232,767<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesNoncurrent', window );">Deferred tax liabilities</a></td>
<td class="nump">27,032<span></span>
</td>
<td class="nump">29,944<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Operating lease liability, long-term</a></td>
<td class="nump">26,425<span></span>
</td>
<td class="nump">26,995<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesNoncurrent', window );">Other liabilities, long-term</a></td>
<td class="nump">1,324<span></span>
</td>
<td class="nump">2,326<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Liabilities', window );">Total liabilities</a></td>
<td class="nump">373,737<span></span>
</td>
<td class="nump">340,345<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingencies', window );">Commitments and contingencies (Note 11)</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>Stockholders' equity:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockValue', window );">Preferred stock, $0.01 par value, 5,000,000 shares authorized, no shares issued or outstanding</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common stock, $0.01 par value; 80,000,000 shares authorized; 54,760,837 shares at December 31, 2020 and 52,078,258 shares at December 31, 2019 issued and outstanding</a></td>
<td class="nump">548<span></span>
</td>
<td class="nump">521<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapitalCommonStock', window );">Additional paid-in capital</a></td>
<td class="nump">1,460,748<span></span>
</td>
<td class="nump">1,068,431<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive income (loss)</a></td>
<td class="nump">2,085<span></span>
</td>
<td class="num">(15,027)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Accumulated earnings</a></td>
<td class="nump">65,769<span></span>
</td>
<td class="nump">5,843<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total stockholders' equity</a></td>
<td class="nump">1,529,150<span></span>
</td>
<td class="nump">1,059,768<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Total liabilities and stockholders' equity</a></td>
<td class="nump">$ 1,902,887<span></span>
</td>
<td class="nump">$ 1,400,113<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121593590&amp;loc=d3e4428-111522<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6676-107765<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=121593590&amp;loc=d3e4531-111522<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=d3e637-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669686-108580<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=121370832&amp;loc=SL117420844-207641<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=121370832&amp;loc=SL117420844-207641<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=d3e681-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalPaidInCapitalCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapitalCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI http://asc.fasb.org/extlink&amp;oid=121559654&amp;loc=d3e5710-111685<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6801-107765<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI http://asc.fasb.org/extlink&amp;oid=121559654&amp;loc=d3e5710-111685<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.9)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6676-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3044-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6676-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.25)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03.(a),19)<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.17)<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121557415&amp;loc=d3e14326-108349<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConvertibleLongTermNotesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of long-term debt (with maturities initially due after one year or beyond the operating cycle if longer) identified as Convertible Notes Payable, excluding current portion. Convertible Notes Payable is a written promise to pay a note which can be exchanged for a specified amount of another, related security, at the option of the issuer and the holder.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConvertibleLongTermNotesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConvertibleNotesPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of the portion of long-term debt due within one year or the operating cycle if longer identified as Convertible Notes Payable. Convertible Notes Payable is a written promise to pay a note which can be exchanged for a specified amount of another, related security, at the option of the issuer and the holder.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConvertibleNotesPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting and classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=120406818&amp;loc=d3e31917-109318<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=120406818&amp;loc=d3e31931-109318<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences, with jurisdictional netting and classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=120406818&amp;loc=d3e31917-109318<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=120406818&amp;loc=d3e31931-109318<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=120406818&amp;loc=d3e31958-109318<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=120320667&amp;loc=SL49117168-202975<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph ((a)(1),(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16212-109274<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6676-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.6(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI http://asc.fasb.org/extlink&amp;oid=121559654&amp;loc=d3e5710-111685<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19-26)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121559654&amp;loc=d3e5710-111685<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8906-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI http://asc.fasb.org/extlink&amp;oid=121559654&amp;loc=d3e5710-111685<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121559654&amp;loc=d3e5710-111685<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121603541&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121603541&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121603541&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.17)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherLiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.24)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherReceivablesGrossCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, before allowance, of receivables classified as other, due within one year or the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherReceivablesGrossCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(7))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6676-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseAndOtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestrictedCash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash restricted as to withdrawal or usage. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121583591&amp;loc=SL98516268-108586<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(1)(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedCash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cumulative amount of the reporting entity's undistributed earnings or deficit.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (g)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=121322162&amp;loc=SL121327923-165333<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=121370832&amp;loc=SL117420844-207641<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=121370832&amp;loc=SL117420844-207641<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI http://asc.fasb.org/extlink&amp;oid=27010918&amp;loc=d3e74512-122707<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnbilledReceivablesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount received for services rendered and products shipped, but not yet billed, for non-contractual agreements due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnbilledReceivablesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743886360872">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED BALANCE SHEETS (Parenthetical) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Accounts receivable, reserve for doubtful accounts</a></td>
<td class="nump">$ 762<span></span>
</td>
<td class="nump">$ 525<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Preferred stock, par value</a></td>
<td class="nump">$ 0.01<span></span>
</td>
<td class="nump">$ 0.01<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock, shares authorized</a></td>
<td class="nump">5,000,000<span></span>
</td>
<td class="nump">5,000,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesIssued', window );">Preferred stock, shares issued</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred stock, shares outstanding</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value</a></td>
<td class="nump">$ 0.01<span></span>
</td>
<td class="nump">$ 0.01<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock, shares authorized</a></td>
<td class="nump">80,000,000<span></span>
</td>
<td class="nump">80,000,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, shares issued</a></td>
<td class="nump">54,760,837<span></span>
</td>
<td class="nump">52,078,258<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common stock, shares outstanding</a></td>
<td class="nump">54,760,837<span></span>
</td>
<td class="nump">52,078,258<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=121611835&amp;loc=d3e5074-111524<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121599878&amp;loc=SL82895884-210446<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743801651992">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="5">12 Months Ended</th>
</tr>
<tr>
<th class="th" colspan="2"><div>Dec. 31, 2020</div></th>
<th class="th" colspan="2"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenuesAbstract', window );"><strong>Revenue:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 366,260<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 270,245<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 194,032<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostsAndExpensesAbstract', window );"><strong>Costs and operating expenses:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of product revenue</a></td>
<td class="nump">156,634<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">119,099<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">86,531<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Research and development</a></td>
<td class="nump">20,182<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">19,450<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">15,821<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SellingGeneralAndAdministrativeExpense', window );">Selling, general and administrative</a></td>
<td class="nump">119,621<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">95,613<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">65,692<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostsAndExpenses', window );">Total costs and operating expenses</a></td>
<td class="nump">296,437<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">234,162<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">168,044<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Income from operations</a></td>
<td class="nump">69,823<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">36,083<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">25,988<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpenseAbstract', window );"><strong>Other (expenses) income:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InvestmentIncomeNet', window );">Investment income</a></td>
<td class="nump">1,741<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">5,324<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">1,895<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GainsLossesOnExtinguishmentOfDebt', window );">Loss on extinguishment of debt</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(5,650)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InterestExpense', window );">Interest expense</a></td>
<td class="num">(12,133)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(9,292)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(6,709)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other (expenses) income</a></td>
<td class="num">(214)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(314)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">262<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpense', window );">Other expenses, net</a></td>
<td class="num">(10,606)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(9,932)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(4,552)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before income taxes</a></td>
<td class="nump">59,217<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">26,151<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">21,436<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax (benefit) provision</a></td>
<td class="num">(709)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">4,740<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">4,819<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 59,926<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 21,411<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 16,617<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings per share:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic</a></td>
<td class="nump">$ 1.14<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 0.44<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 0.38<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted</a></td>
<td class="nump">$ 1.11<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 0.44<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 0.37<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract', window );"><strong>Weighted average common shares outstanding:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic</a></td>
<td class="nump">52,554<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">48,343<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">43,767<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted</a></td>
<td class="nump">53,892<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">49,206<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">45,471<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 59,926<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 21,411<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 16,617<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract', window );"><strong>Other comprehensive income (loss):</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="nump">17,112<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(3,134)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(5,530)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTax', window );">Comprehensive income</a></td>
<td class="nump">77,038<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">18,277<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">11,087<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_ProductMember', window );">Products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenuesAbstract', window );"><strong>Revenue:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">366,136<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">270,097<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[2]</sup></td>
<td class="nump">193,891<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_RoyaltyMember', window );">Royalty and Other Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenuesAbstract', window );"><strong>Revenue:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 124<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 148<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 141<span></span>
</td>
</tr>
<tr><td colspan="6"></td></tr>
<tr><td colspan="6"><table class="outerFootnotes" width="100%">
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top">2020 revenue for filtration products includes revenue related to EMT from July 13, 2020, NMS from October 20, 2020 and ARTeSYN from December 3, 2020.</td>
</tr>
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[2]</td>
<td style="vertical-align: top;" valign="top">2019 revenue includes process analytics revenue related to C Technologies from June 1, 2019 through December 31, 2019.</td>
</tr>
</table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(24))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=d3e557-108580<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(26))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669625-108580<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669619-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI http://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(a),(d))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostsAndExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total costs of sales and operating expenses for the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03)<br> -URI http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostsAndExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostsAndExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostsAndExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22583-107794<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1448-109256<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22595-107794<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1337-109256<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=120380238&amp;loc=d3e4984-109258<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=120380238&amp;loc=d3e3842-109258<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22644-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1252-109256<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=SL5780133-109256<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=120380238&amp;loc=d3e4984-109258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22644-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=120380238&amp;loc=d3e3842-109258<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1252-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22595-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22583-107794<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1337-109256<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainsLossesOnExtinguishmentOfDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Difference between the fair value of payments made and the carrying amount of debt which is extinguished prior to maturity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 50<br> -Section 40<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=117329964&amp;loc=d3e12355-112629<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 50<br> -Section 40<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=117329964&amp;loc=d3e12317-112629<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainsLossesOnExtinguishmentOfDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 940<br> -SubTopic 20<br> -Section 25<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=68072869&amp;loc=d3e41242-110953<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8924-108599<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32672-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22663-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120385591&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of the cost of borrowed funds accounted for as interest expense.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6450988&amp;loc=d3e26243-108391<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=119993939&amp;loc=d3e28555-108399<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (210.5-03(11))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.9)<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentIncomeNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accretion (amortization) of discount (premium), and investment expense, of interest income and dividend income on nonoperating securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7(a),(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.8)<br> -URI http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentIncomeNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669619-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8924-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22595-107794<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669625-108580<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22499-107794<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8906-108599<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22583-107794<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=SL5780133-109256<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669646-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -URI http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncomeExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncomeExpenseAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 730<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6420194&amp;loc=d3e21568-108373<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e9038-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130545-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8906-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130543-203045<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e9031-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI http://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenuesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenuesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingGeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingGeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_ProductMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_ProductMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_RoyaltyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_RoyaltyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743805527048">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Total</div></th>
<th class="th"><div>Common Stock</div></th>
<th class="th"><div>Additional Paid-in Capital</div></th>
<th class="th"><div>Accumulated Other Comprehensive Income (Loss)</div></th>
<th class="th"><div>Accumulated Earnings/(Deficit)</div></th>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Dec. 31, 2017</a></td>
<td class="nump">$ 591,548<span></span>
</td>
<td class="nump">$ 436<span></span>
</td>
<td class="nump">$ 628,983<span></span>
</td>
<td class="num">$ (6,363)<span></span>
</td>
<td class="num">$ (31,508)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance (in shares) at Dec. 31, 2017</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">43,587,079<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">16,617<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">16,617<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueConversionOfUnits', window );">Issuance of common stock for debt conversion</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits', window );">Issuance of common stock for debt conversion (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation', window );">Exercise of stock options and vesting of stock units</a></td>
<td class="nump">3,418<span></span>
</td>
<td class="nump">$ 3<span></span>
</td>
<td class="nump">3,415<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation', window );">Exercise of stock options and vesting of stock units (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">330,297<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation expense</a></td>
<td class="nump">10,192<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,192<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Dec. 31, 2018</a></td>
<td class="nump">615,568<span></span>
</td>
<td class="nump">$ 439<span></span>
</td>
<td class="nump">642,590<span></span>
</td>
<td class="num">(11,893)<span></span>
</td>
<td class="num">(15,568)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance (in shares) at Dec. 31, 2018</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">43,917,378<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Cumulative effect of accounting changes</a></td>
<td class="num">(677)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(677)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax', window );">Translation adjustment</a></td>
<td class="num">(5,530)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(5,530)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">21,411<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">21,411<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueConversionOfUnits', window );">Issuance of common stock for debt conversion</a></td>
<td class="nump">198,757<span></span>
</td>
<td class="nump">$ 23<span></span>
</td>
<td class="nump">198,734<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits', window );">Issuance of common stock for debt conversion (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,316,229<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_AdjustmentsToAdditionalPaidInCapitalReductionForEquityComponentOfConvertibleDebt', window );">Reduction of equity component from debt conversion, net of tax</a></td>
<td class="num">(200,079)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(200,079)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation', window );">Exercise of stock options and vesting of stock units</a></td>
<td class="nump">1,167<span></span>
</td>
<td class="nump">$ 3<span></span>
</td>
<td class="nump">1,164<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation', window );">Exercise of stock options and vesting of stock units (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">339,329<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueAcquisitions', window );">Issuance of commons stock pursuant to the acquisition</a></td>
<td class="nump">53,938<span></span>
</td>
<td class="nump">$ 8<span></span>
</td>
<td class="nump">53,930<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesAcquisitions', window );">Issuance of commons stock pursuant to the acquisition, (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">779,221<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Tax withholding on vesting of restricted stock units</a></td>
<td class="num">(490)<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="num">(490)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation', window );">Tax withholding on vesting of restricted stock units (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(5,430)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt', window );">Equity component of 0.375% senior convertible notes, net of tax</a></td>
<td class="nump">39,070<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">39,070<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueNewIssues', window );">Proceeds from issuance of common stock, net of issuance costs</a></td>
<td class="nump">320,713<span></span>
</td>
<td class="nump">$ 48<span></span>
</td>
<td class="nump">320,665<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues', window );">Proceeds from issuance of common stock, net of issuance costs (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,731,531<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation expense</a></td>
<td class="nump">12,847<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,847<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Dec. 31, 2019</a></td>
<td class="nump">1,059,768<span></span>
</td>
<td class="nump">$ 521<span></span>
</td>
<td class="nump">1,068,431<span></span>
</td>
<td class="num">(15,027)<span></span>
</td>
<td class="nump">5,843<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance (in shares) at Dec. 31, 2019</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">52,078,258<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Cumulative effect of accounting changes</a></td>
<td class="nump">5,843<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax', window );">Translation adjustment</a></td>
<td class="num">(3,134)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3,134)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">59,926<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">59,926<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation', window );">Exercise of stock options and vesting of stock units</a></td>
<td class="nump">8,140<span></span>
</td>
<td class="nump">$ 6<span></span>
</td>
<td class="nump">8,134<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation', window );">Exercise of stock options and vesting of stock units (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">584,589<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueAcquisitions', window );">Issuance of commons stock pursuant to the acquisition</a></td>
<td class="nump">69,422<span></span>
</td>
<td class="nump">$ 4<span></span>
</td>
<td class="nump">69,418<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesAcquisitions', window );">Issuance of commons stock pursuant to the acquisition, (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">372,990<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueNewIssues', window );">Proceeds from issuance of common stock, net of issuance costs</a></td>
<td class="nump">297,775<span></span>
</td>
<td class="nump">$ 17<span></span>
</td>
<td class="nump">297,758<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues', window );">Proceeds from issuance of common stock, net of issuance costs (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,725,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation expense</a></td>
<td class="nump">17,007<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">17,007<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Dec. 31, 2020</a></td>
<td class="nump">1,529,150<span></span>
</td>
<td class="nump">$ 548<span></span>
</td>
<td class="nump">$ 1,460,748<span></span>
</td>
<td class="nump">2,085<span></span>
</td>
<td class="nump">$ 65,769<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance (in shares) at Dec. 31, 2020</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">54,760,837<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Cumulative effect of accounting changes</a></td>
<td class="nump">65,769<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax', window );">Translation adjustment</a></td>
<td class="nump">$ 17,112<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 17,112<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_AdjustmentsToAdditionalPaidInCapitalReductionForEquityComponentOfConvertibleDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Adjustments To Additional Paid In Capital Reduction For Equity Component Of Convertible Debt.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_AdjustmentsToAdditionalPaidInCapitalReductionForEquityComponentOfConvertibleDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Accumulated adjustment, net of tax, that results from the process of translating subsidiary financial statements and foreign equity investments into the reporting currency from the functional currency of the reporting entity, net of reclassification of realized foreign currency translation gains or losses.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=d3e637-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=d3e681-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5A<br> -URI http://asc.fasb.org/extlink&amp;oid=116690757&amp;loc=SL116692626-108610<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669646-108580<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669686-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease to equity for grantee's tax withholding obligation for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Adjustment to additional paid in capital resulting from the recognition of convertible debt instruments as two separate components - a debt component and an equity component. This bifurcation may result in a basis difference associated with the liability component that represents a temporary difference for purposes of applying accounting for income taxes. The initial recognition of deferred taxes for the tax effect of that temporary difference is as an adjustment to additional paid in capital.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 25<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=51819886&amp;loc=SL6014347-161799<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=120383193&amp;loc=d3e11149-113907<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5047-113901<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=120383193&amp;loc=d3e11178-113907<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 35<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121326096&amp;loc=d3e4534-113899<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669619-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8924-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22595-107794<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669625-108580<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22499-107794<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8906-108599<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22583-107794<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=SL5780133-109256<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cumulative amount of the reporting entity's undistributed earnings or deficit.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (g)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=121322162&amp;loc=SL121327923-165333<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=121370832&amp;loc=SL117420844-207641<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=121370832&amp;loc=SL117420844-207641<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued which are neither cancelled nor held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesAcquisitions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares of stock issued during the period pursuant to acquisitions.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesAcquisitions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of shares issued during the period upon the conversion of units. An example of a convertible unit is an umbrella partnership real estate investment trust unit (UPREIT unit).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21475-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of new stock issued during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesNewIssues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueAcquisitions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value of stock issued pursuant to acquisitions during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-31)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueAcquisitions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueConversionOfUnits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value of stock issued during the period upon the conversion of units. An example of a convertible unit is an umbrella partnership real estate investment trust unit (UPREIT unit).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-31)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueConversionOfUnits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueNewIssues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value, after forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5047-113901<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI http://asc.fasb.org/extlink&amp;oid=27010918&amp;loc=d3e74512-122707<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743799154920">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts', window );">Proceeds from issuance of common stock,issuance costs</a></td>
<td class="nump">$ 400<span></span>
</td>
<td class="nump">$ 18,607<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember', window );">0.375% Convertible Senior Notes due 2024</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Senior convertible notes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.375%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in additional paid in capital (APIC) resulting from direct costs associated with issuing stock. Includes, but is not limited to, legal and accounting fees and direct costs associated with stock issues under a shelf registration.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentInterestRateStatedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Contractual interest rate for funds borrowed, under the debt agreement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateStatedPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>20
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743805896280">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Cash flows from operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 59,926<span></span>
</td>
<td class="nump">$ 21,411<span></span>
</td>
<td class="nump">$ 16,617<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net income to net cash provided by operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DepreciationAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">27,067<span></span>
</td>
<td class="nump">20,868<span></span>
</td>
<td class="nump">15,778<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AmortizationOfFinancingCostsAndDiscounts', window );">Amortization of debt discount and issuance costs</a></td>
<td class="nump">10,970<span></span>
</td>
<td class="nump">7,536<span></span>
</td>
<td class="nump">4,248<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation expense</a></td>
<td class="nump">17,007<span></span>
</td>
<td class="nump">12,847<span></span>
</td>
<td class="nump">10,192<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred income taxes, net</a></td>
<td class="num">(3,992)<span></span>
</td>
<td class="num">(624)<span></span>
</td>
<td class="nump">71<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GainsLossesOnExtinguishmentOfDebt', window );">Loss on extinguishment of debt</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,650<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherNoncashIncomeExpense', window );">Other</a></td>
<td class="nump">267<span></span>
</td>
<td class="nump">663<span></span>
</td>
<td class="num">(3)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in operating assets and liabilities, excluding impact of acquisitions:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable</a></td>
<td class="num">(21,020)<span></span>
</td>
<td class="num">(7,726)<span></span>
</td>
<td class="num">(6,101)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherReceivables', window );">Royalties and other receivables</a></td>
<td class="nump">128<span></span>
</td>
<td class="num">(104)<span></span>
</td>
<td class="nump">7<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInContractWithCustomerAsset', window );">Unbilled receivables</a></td>
<td class="nump">456<span></span>
</td>
<td class="nump">2,146<span></span>
</td>
<td class="num">(2,602)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">Inventories</a></td>
<td class="num">(29,260)<span></span>
</td>
<td class="num">(9,314)<span></span>
</td>
<td class="num">(4,042)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Prepaid expenses and other assets</a></td>
<td class="num">(4,870)<span></span>
</td>
<td class="num">(595)<span></span>
</td>
<td class="num">(1,769)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset', window );">Operating lease right of use assets</a></td>
<td class="nump">3,583<span></span>
</td>
<td class="num">(4,662)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherNoncurrentAssets', window );">Other assets</a></td>
<td class="num">(281)<span></span>
</td>
<td class="num">(66)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayable', window );">Accounts payable</a></td>
<td class="nump">2,462<span></span>
</td>
<td class="nump">662<span></span>
</td>
<td class="nump">2,266<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedLiabilities', window );">Accrued expenses</a></td>
<td class="nump">1,037<span></span>
</td>
<td class="nump">13,096<span></span>
</td>
<td class="num">(1,398)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_IncreasedecreaseInOperatingLeaseLiability', window );">Operating lease liability</a></td>
<td class="num">(1,964)<span></span>
</td>
<td class="nump">5,447<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities', window );">Long-term liabilities</a></td>
<td class="nump">1,109<span></span>
</td>
<td class="num">(19)<span></span>
</td>
<td class="num">(494)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Total cash provided by operating activities</a></td>
<td class="nump">62,625<span></span>
</td>
<td class="nump">67,216<span></span>
</td>
<td class="nump">32,770<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Cash flows from investing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireSoftware', window );">Additions to capitalized software costs</a></td>
<td class="num">(3,889)<span></span>
</td>
<td class="num">(4,650)<span></span>
</td>
<td class="num">(2,147)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToDevelopSoftware', window );">Developed technology intangible asset payment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,255)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Acquisition of assets, net of cash acquired</a></td>
<td class="num">(175,041)<span></span>
</td>
<td class="num">(182,154)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Purchases of property, plant and equipment</a></td>
<td class="num">(22,455)<span></span>
</td>
<td class="num">(18,504)<span></span>
</td>
<td class="num">(10,635)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Total cash used in investing activities</a></td>
<td class="num">(201,385)<span></span>
</td>
<td class="num">(205,308)<span></span>
</td>
<td class="num">(14,037)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Cash flows from financing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromConvertibleDebt', window );">Proceeds from issuance of senior convertible notes, net of issuance costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">278,466<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfCommonStock', window );">Proceeds from issuance of common stock, net of issuance costs</a></td>
<td class="nump">297,775<span></span>
</td>
<td class="nump">320,713<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromStockOptionsExercised', window );">Exercise of stock options</a></td>
<td class="nump">8,151<span></span>
</td>
<td class="nump">1,167<span></span>
</td>
<td class="nump">3,418<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RepaymentsOfConvertibleDebt', window );">Repayment of senior convertible notes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(114,989)<span></span>
</td>
<td class="num">(11)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Payment of tax withholding obligation on vesting of restricted stock</a></td>
<td class="num">(10)<span></span>
</td>
<td class="num">(490)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Total cash provided by financing activities</a></td>
<td class="nump">305,916<span></span>
</td>
<td class="nump">484,867<span></span>
</td>
<td class="nump">3,407<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents', window );">Effect of exchange rate changes on cash, cash equivalents and restricted cash</a></td>
<td class="nump">12,729<span></span>
</td>
<td class="num">(3,190)<span></span>
</td>
<td class="num">(2,077)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Net increase in cash, cash equivalents and restricted cash</a></td>
<td class="nump">179,885<span></span>
</td>
<td class="nump">343,585<span></span>
</td>
<td class="nump">20,063<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash, cash equivalents and restricted cash, beginning of period</a></td>
<td class="nump">537,407<span></span>
</td>
<td class="nump">193,822<span></span>
</td>
<td class="nump">173,759<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash, cash equivalents and restricted cash, end of period</a></td>
<td class="nump">717,292<span></span>
</td>
<td class="nump">537,407<span></span>
</td>
<td class="nump">193,822<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SupplementalCashFlowInformationAbstract', window );"><strong>Supplemental disclosure of cash flow information:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxesPaidNet', window );">Income taxes paid</a></td>
<td class="nump">10,279<span></span>
</td>
<td class="nump">6,505<span></span>
</td>
<td class="nump">4,046<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InterestPaidNet', window );">Interest paid</a></td>
<td class="nump">1,066<span></span>
</td>
<td class="nump">1,484<span></span>
</td>
<td class="nump">2,444<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SupplementalCashFlowElementsAbstract', window );"><strong>Supplemental disclosure of non-cash investing and financing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_AssetsAcquiredUnderOperatingLeases', window );">Assets acquired under operating leases</a></td>
<td class="nump">3,349<span></span>
</td>
<td class="nump">8,663<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtConversionConvertedInstrumentAmount1', window );">Fair value of 2,316,229 shares of common stock issued for conversion of convertible notes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">198,757<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_NonCashEffectOfAdoptionOfAsu201616', window );">Non-cash effect of adoption of ASU 2016-16</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,609<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_PropertyPlantAndEquipmentRelatedToLeaseIncentives', window );">Property, plant and equipment related to lease incentives</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,270<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_CTechnologiesIncMember', window );">C Technologies Inc</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SupplementalCashFlowElementsAbstract', window );"><strong>Supplemental disclosure of non-cash investing and financing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssued1', window );">Fair value of common stock issued for acquisition</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 53,938<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember', window );">ARTeSYN Biosolutions Holdings Ireland Limited</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SupplementalCashFlowElementsAbstract', window );"><strong>Supplemental disclosure of non-cash investing and financing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssued1', window );">Fair value of common stock issued for acquisition</a></td>
<td class="nump">$ 69,422<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_AssetsAcquiredUnderOperatingLeases">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Assets acquired under operating leases.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_AssetsAcquiredUnderOperatingLeases</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_IncreasedecreaseInOperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_IncreasedecreaseInOperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in operating lease right of use asset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_NonCashEffectOfAdoptionOfAsu201616">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Non-cash effect of adoption of ASU 2016-16.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_NonCashEffectOfAdoptionOfAsu201616</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_PropertyPlantAndEquipmentRelatedToLeaseIncentives">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Property plant and equipment related to lease incentives.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_PropertyPlantAndEquipmentRelatedToLeaseIncentives</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfFinancingCostsAndDiscounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense attributable to debt discount (premium) and debt issuance costs.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=119993939&amp;loc=d3e28555-108399<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfFinancingCostsAndDiscounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3521-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3044-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121583591&amp;loc=SL98516268-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=98513438&amp;loc=d3e33268-110906<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtConversionConvertedInstrumentAmount1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The value of the financial instrument(s) that the original debt is being converted into in a noncash (or part noncash) transaction. "Part noncash" refers to that portion of the transaction not resulting in cash receipts or cash payments in the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=121583591&amp;loc=d3e4304-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=121583591&amp;loc=d3e4332-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtConversionConvertedInstrumentAmount1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) from the effect of exchange rate changes on cash and cash equivalent balances held in foreign currencies.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=98513438&amp;loc=d3e33268-110906<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainsLossesOnExtinguishmentOfDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Difference between the fair value of payments made and the carrying amount of debt which is extinguished prior to maturity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 50<br> -Section 40<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=117329964&amp;loc=d3e12355-112629<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 50<br> -Section 40<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=117329964&amp;loc=d3e12317-112629<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainsLossesOnExtinguishmentOfDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxesPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121583591&amp;loc=d3e4297-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxesPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInContractWithCustomerAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInContractWithCustomerAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInInventories">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingCapitalAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherNoncurrentAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherNoncurrentAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in noncurrent operating liabilities classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherReceivables">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in receivables classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherReceivables</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in prepaid expenses, and assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121583591&amp;loc=d3e4297-108586<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 17<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3367-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3536-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3536-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3521-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669619-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8924-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22595-107794<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669625-108580<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22499-107794<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8906-108599<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22583-107794<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=SL5780133-109256<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNoncashIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) included in net income that results in no cash inflow (outflow), classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNoncashIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireSoftware">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition from vendors of software programs or applications for internal use (that is, not to be sold, leased or otherwise marketed to others) that qualify for capitalization.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireSoftware</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToDevelopSoftware">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the development or modification of software programs or applications for internal use (that is, not to be sold, leased or otherwise marketed to others) that qualify for capitalization.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToDevelopSoftware</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromConvertibleDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the issuance of a long-term debt instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromConvertibleDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the additional capital contribution to the entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from exercise of option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=SL79508275-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RepaymentsOfConvertibleDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow from the repayment of a long-term debt instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfConvertibleDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssued1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The fair value of stock issued in noncash financing activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=121583591&amp;loc=d3e4304-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=121583591&amp;loc=d3e4332-108586<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=121583591&amp;loc=d3e4313-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssued1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SupplementalCashFlowElementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplementalCashFlowElementsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SupplementalCashFlowInformationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplementalCashFlowInformationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_CTechnologiesIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_CTechnologiesIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743799199224">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF CASH FLOWS (Parenthetical)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2020 </div>
<div>shares</div>
</th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredAbstract', window );"><strong>Business Acquisitions:</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="top.Show.showAR( this, 'defref_us-gaap_DebtConversionConvertedInstrumentSharesIssued1', window );">Number of shares Issued for Conversion</a></td>
<td class="nump">2,316,229<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember', window );">ARTeSYN Biosolutions Holdings Ireland Limited</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="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredAbstract', window );"><strong>Business Acquisitions:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued', window );">Shares of common stock issued for acquisition</a></td>
<td class="nump">372,990<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares of equity interests issued or issuable to acquire entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=120321790&amp;loc=d3e6927-128479<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationConsiderationTransferredAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferredAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtConversionConvertedInstrumentSharesIssued1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of shares issued in exchange for the original debt being converted in a noncash (or part noncash) transaction. "Part noncash" refers to that portion of the transaction not resulting in cash receipts or payments in the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=121583591&amp;loc=d3e4332-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=121583591&amp;loc=d3e4304-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtConversionConvertedInstrumentSharesIssued1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743797636440">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Organization and Nature of Business<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NatureOfOperations', window );">Organization and Nature of Business</a></td>
<td class="text">
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">1.</div></div></td>
<td style="vertical-align: top;;text-align:left;"><div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Organization and Nature of Business </div></div></div></td></tr></table><div style="clear: both; max-height: 0px; background: none;"/><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">Repligen Corporation (NASDAQ:RGEN) is a global life sciences company that develops and commercializes highly innovative bioprocessing technologies and systems that increase efficiencies and flexibility in the process of manufacturing biological drugs. The Company&#8217;s franchises include Filtration (XCell ATF<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#8482;</div> systems, TangenX<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#8482;</div> SIUS<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#8482;</div> flat sheet cassettes, Spectrum<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div><div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px"> </div>Hollow Fibers, KrosFlo<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> Systems and ProConnex<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">single-use</div> flow path assemblies), Chromatography (OPUS<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> Columns, chromatography resins, ELISA kits), Process Analytics (SoloVPE<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> and FlowVPE<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div>), and Proteins (Protein A affinity ligands and cell culture growth factors). The Company&#8217;s bioprocessing products are sold to major life sciences companies, biopharmaceutical development companies and contract manufacturing organizations worldwide. The Company operates under one reportable segment. The Company&#8217;s chief operating decision maker (&#8220;CODM&#8221;) reviews financial information presented on a consolidated basis for purposes of allocating resources and evaluating financial performance. See Note 2, <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Summary of Significant Accounting Policies &#8211; Segment Reporting,&#8221; </div></div>for more information on the Company&#8217;s segment. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">A majority of our 15 key manufacturing sites are located in the United States (California, Massachusetts, New Jersey and New York). Outside the United States, we have manufacturing sites in Estonia, Germany, Ireland, the Netherlands and Sweden. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company is subject to a number of risks typically associated with companies in the biotechnology industry. These risks principally include the Company&#8217;s dependence on key customers, development by the Company or its competitors of new technological innovations, dependence on key personnel, protection of proprietary technology, compliance with the FDA and other governmental regulations and approval requirements, as well as the ability to grow the Company&#8217;s business and obtain adequate funding to finance this growth. </div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;"><table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NatureOfOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -URI http://asc.fasb.org/topic&amp;trid=2134479<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NatureOfOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table></div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<FILENAME>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743899376264">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SignificantAccountingPoliciesTextBlock', window );">Summary of Significant Accounting Policies</a></td>
<td class="text">
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2.</div></div></td>
<td style="vertical-align: top;;text-align:left;"><div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Summary of Significant Accounting Policies </div></div></div></td></tr></table><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Use of Estimates </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The preparation of financial statements in conformity with accounting principles generally accepted in the United States (&#8220;GAAP&#8221;) requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting periods. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Significant estimates and assumptions by management affect the Company&#8217;s revenue recognition for multiple element arrangements, allowance for credit losses, the net realizable value of inventory, valuations and purchase price allocations related to business combinations, expected future cash flows including growth rates, discount rates, terminal values and other assumptions and estimates used to evaluate the recoverability of long-lived assets, estimated fair values of intangible assets and goodwill, amortization methods and periods, warranty reserves, certain accrued expenses, stock-based compensation, tax reserves and recoverability of the Company&#8217;s net deferred tax assets and related valuation allowance. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Although the Company regularly assesses these estimates, actual results could differ materially from these estimates. Changes in estimates are recorded in the period in which they become known. The Company bases its estimates on historical experience and various other assumptions that it believes to be reasonable under the circumstances. </div></div><div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Basis of Presentation </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">The consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries, Repligen Sweden AB, Repligen GmbH, Spectrum<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> LifeSciences LLC and its subsidiaries (&#8220;Spectrum&#8221;), C Technologies, Inc. (&#8220;C Technologies&#8221;), Engineered Molding Technology LLC (&#8220;EMT&#8221;), <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Non-Metallic</div> Solutions, Inc. (&#8220;NMS&#8221;), ARTeSYN Biosolutions Holdings Ireland Limited (&#8220;ARTeSYN&#8221;) and Repligen Singapore Pte. Ltd. All significant intercompany accounts and transactions have been eliminated in consolidation. Certain prior year balances have changed to reflect current year presentation. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Foreign Currency </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company translates the assets and liabilities of its foreign subsidiary at rates in effect at the end of the reporting period. Revenues and expenses are translated at average rates in effect during the reporting period. Translation adjustments, including adjustments related to the Company&#8217;s intercompany loan with Repligen Sweden AB and Repligen Sweden AB&#8217;s intercompany loan with Repligen GmbH, are remeasured at each period end and included in accumulated other comprehensive loss. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Revenue Recognition </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">We generate revenue from the sale of bioprocessing products, equipment devices, and related consumables used with these equipment devices to customers in the life sciences and biopharmaceutical industries. Under Accounting Standard Codification No. (&#8220;ASC&#8221;) 606, &#8220;<div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Revenue from Contracts with Customers,&#8221; </div></div>revenue is recognized when, or as, obligations under the terms of a contract are satisfied, which occurs when control of the promised products or services is transferred to customers. Revenue is measured as the amount of consideration the Company expects to receive in exchange for transferring products or services to a customer (&#8220;transaction price&#8221;). To the extent the transaction price includes variable consideration, the Company estimates the amount of variable consideration that should be included in the transaction price utilizing the expected value method or the most likely amount method, depending on the facts and circumstances relative to the contract. Variable consideration is included in the transaction price if, in the Company&#8217;s judgment, it is probable that a significant future reversal of cumulative revenue under the contract will not occur. Estimates of variable consideration and determination of whether to include estimated amounts in the transaction price are based largely on an assessment of the Company&#8217;s anticipated performance and all information (historical, current and forecasted) that is reasonably available. Sales, value add, and other taxes collected on behalf of third parties are excluded from revenue. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">When determining the transaction price of a contract, an adjustment is made if payment from a customer occurs either significantly before or significantly after performance, resulting in a significant financing component. Applying the practical expedient in paragraph <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">606-10-32-18,</div></div></div> the Company does not assess whether a significant financing component exists if the period between when the Company performs its obligations under the contract and when the customer pays is one year or less. None of the Company&#8217;s contracts contained a significant financing component as of December&#160;31, 2020. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Contracts with customers may contain multiple performance obligations. For such arrangements, the transaction price is allocated to each performance obligation based on the estimated relative standalone selling prices of the promised products or services underlying each performance obligation. The Company determines standalone selling prices based on the price at which the performance obligation is sold separately. If the standalone selling price is not observable through past transactions, the Company estimates the standalone selling price taking into account available information such as market conditions and internally approved pricing guidelines related to the performance obligations. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company recognizes product revenue under the terms of each customer agreement upon transfer of control to the customer, which occurs at a point in time. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Shipping and handling fees are recorded as a component of product revenue, with the associated costs recorded as a component of cost of product revenue. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Risks and Uncertainties </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company evaluates its operations periodically to determine if any risks and uncertainties exist that could impact its operations in the near term. The Company does not believe that there are any significant risks that have not already been disclosed in the consolidated financial statements. A loss of certain suppliers could temporarily disrupt operations, although alternate sources of supply exist for these items. The Company has mitigated these risks by working closely with key suppliers, identifying alternate sources and developing contingency plans. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Cash, Cash Equivalents and Restricted Cash </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Cash and cash equivalents include cash on hand and on deposit. Highly liquid investments in money market mutual funds with an original maturity of three months or less are classified as cash equivalents. All cash equivalents are carried at cost, which approximates fair value. Restricted cash represents cash that is restricted as to withdrawal or usage. There was no restriction on the Company&#8217;s cash balance as of December&#160;31, 2020. In connection with the Company&#8217;s acquisition of C Technologies on May&#160;31, 2019, cash was held and due to employees based on their continued employment with the Company one year after the date of the close of the acquisition. As of December&#160;31, 2019, $9.0&#160;million, which represented this amount due to employees, was carried as restricted cash on the Company&#8217;s consolidated balance sheet. Subsequently, during the second quarter of 2020, this $9.0&#160;million was paid to employees. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following is a summary of the Company&#8217;s cash, cash equivalents, and restricted cash total as presented in the Company&#8217;s consolidated statements of cash flows for the years ended December&#160;31, 2020, 2019 and 2018: </div></div><div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 8pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 61%;"/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2018</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Cash and cash equivalents</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">717,292</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">528,392</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">193,822</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Restricted cash</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">9,015</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total cash, cash equivalents, and restricted cash</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">717,292</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">537,407</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">193,822</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table><div style="clear: both; max-height: 0px; background: none;"/><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">There were no realized gains or losses on investments for the years ended December&#160;31, 2020, 2019 and 2018. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Fair Value Measurement </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">In determining the fair value of its assets and liabilities, the Company uses various valuation approaches. The Company employs a hierarchy for inputs used in measuring fair value that maximizes the use of observable inputs and minimizes the use of unobservable inputs by requiring that observable inputs be used when available. Observable inputs are inputs that market participants would use in pricing the asset or liability based on market data obtained from sources independent of the Company. Unobservable inputs are inputs that reflect the Company&#8217;s assumptions about the inputs that market </div></div><div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">participants would use in pricing the asset or liability and are developed based on the best information available in the circumstances. The fair value hierarchy is broken down into three levels based on the source of inputs as follows: </div></div><div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 10%; font-family: ARIAL;"/>
<td style="width: 2%; vertical-align: bottom; font-family: ARIAL;"/>
<td style="width: 89%; font-family: ARIAL;"/></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Level&#160;1&#160;&#8211;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">Valuations based on unadjusted quoted prices in active markets for identical assets or liabilities that the Company has the ability to access.</td></tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt; font-family: ARIAL;">&#160;</td>
<td colspan="2" style="height: 6pt; font-family: ARIAL;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Level&#160;2&#160;&#8211;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">Valuations based on quoted prices for similar assets or liabilities in active markets, quoted prices for identical or similar assets or liabilities in markets that are not active and models for which all significant inputs are observable, either directly or indirectly.</td></tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt; font-family: ARIAL;">&#160;</td>
<td colspan="2" style="height: 6pt; font-family: ARIAL;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Level&#160;3&#160;&#8211;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">Valuations based on inputs that are unobservable and significant to the overall fair value measurement.</td></tr></table><div style="clear: both; max-height: 0px; background: none;"/><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The availability of observable inputs can vary among the various types of financial assets and liabilities. To the extent that the valuation is based on models or inputs that are less observable or unobservable in the market, the determination of fair value requires more judgment. In certain cases, the inputs used to measure fair value may fall into different levels of the fair value hierarchy. In such cases, for financial statement disclosure purposes, the level in the fair value hierarchy within which the fair value measurement is categorized is based on the lowest level input that is significant to the overall fair value measurement. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">As of December&#160;31, 2020 and 2019, cash and cash equivalents on the Company&#8217;s consolidated balance sheets included $549.0&#160;million and $415.6&#160;million, respectively, in money market accounts. These funds are valued on a recurring basis using Level&#160;1 inputs. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">In July 2019, the Company issued $287.5&#160;million aggregate principal amount of the Company&#8217;s 0.375% Convertible Senior Notes due July&#160;15, 2024 (the &#8220;2019 Notes&#8221;). Interest is payable semi-annually in arrears on January&#160;15 and July&#160;15 of each year. The 2019 Notes will mature on July&#160;15, 2024 unless earlier converted or repurchased in accordance with their terms. As of December&#160;31, 2020, the carrying value of the 2019 Notes was $243.7&#160;million, net of unamortized discount, and the fair value of the 2019 Notes was $501.0&#160;million. The fair value of the 2019 Notes is a Level&#160;1 valuation and was determined based on the most recent trade activity of the 2019 Notes as of December&#160;31, 2020. The 2019 Notes are discussed in more detail in Note 12, <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Convertible Senior Notes,&#8221; </div></div>to these consolidated financial statements. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">There were no remeasurements to fair value during the year ended December&#160;31, 2020 of financial assets and liabilities that are not measured at fair value on a recurring basis. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Allowance for credit losses </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We establish an allowance for credit losses through a review of several factors, including historical collection experience, current aging status of the customer accounts, and current financial condition of our customers. Losses are charged against the allowance when the customer accounts are determined to be uncollectible. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Inventories </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">Inventories relate to the Company&#8217;s bioprocessing business. The Company values inventory at cost or, if lower, net realizable value, using the <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">first-in,</div> <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">first-out</div> method. The Company reviews its inventories at least quarterly and records a provision for excess and obsolete inventory based on its estimates of expected sales volume, production capacity and expiration dates of raw materials, <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">work-in-process</div></div> and finished products. The Company writes down inventory that has become obsolete, inventory that has a </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">cost basis in excess of its expected net realizable value, and inventory in excess of expected requirements to cost of product revenue. Manufacturing of bioprocessing finished goods is done to order and tested for quality specifications prior to shipment. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">A change in the estimated timing or amount of demand for the Company&#8217;s products could result in additional provisions for excess inventory quantities on hand. Any significant unanticipated changes in demand or unexpected quality failures could have a significant impact on the value of inventory and reported operating results. During all periods presented in the accompanying financial statements, there have been no material adjustments related to a revised estimate of inventory valuations. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Work-in-process</div></div> and finished products inventories consist of material, labor, outside processing costs and manufacturing overhead. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Lease Accounting </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">The Company adopted ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2016-02,</div> <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Leases (Topic 842)</div></div>&#8221; (&#8220;ASC 842&#8221;) as of January&#160;1, 2019. Under ASC 842, the Company determines whether the arrangement contains a lease at the inception of an arrangement. If a lease is identified in an arrangement, the Company recognizes a <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">right-of-use</div></div> asset and liability on its consolidated balance sheet and determines whether the lease should be classified as a finance or operating lease. The Company does not recognize assets or liabilities for leases with lease terms of less than 12 months. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">A lease qualifies as a finance lease if any of the following criteria are met at the inception of the lease: (i)&#160;there is a transfer of ownership of the leased asset to the Company by the end of the lease term, (ii)&#160;the Company holds an option to purchase the leased asset that it is reasonably certain to exercise, (iii)&#160;the lease term is for a major part of the remaining economic life of the leased asset, (iv)&#160;the present value of the sum of lease payments equals or exceeds substantially all of the fair value of the leased asset, or (v)&#160;the nature of the leased asset is specialized to the point that it is expected to provide the lessor no alternative use at the end of the lease term. All other leases are recorded as operating leases. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Finance and operating lease assets and liabilities are recognized at the lease commencement date based on the present value of the lease payments over the lease term using the discount rate implicit in the lease. If the rate implicit is not readily determinable, the Company utilizes its incremental borrowing rate at the lease commencement date. Operating lease assets are further adjusted for prepaid or accrued lease payments. Operating lease payments are expensed using the straight-line method as an operating expense over the lease term. Finance lease assets are amortized to depreciation expense using the straight-line method over the shorter of the useful life of the related asset or the lease term. Finance lease payments are bifurcated into (i)&#160;a portion that is recorded as imputed interest expense and (ii)&#160;a portion that reduces the finance liability associated with the lease. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">The Company does not separate lease and <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-lease</div> components when determining which lease payments to include in the calculation of its lease assets and liabilities. Variable lease payments are expensed as incurred. If a lease includes an option to extend or terminate the lease, the Company reflects the option in the lease term if it is reasonably certain it will exercise the option. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Finance leases are recorded in property, plant and equipment, net, other current liabilities and long-term finance lease liabilities and operating leases are recorded in operating lease right of use assets, operating lease liability and operating lease liability, long-term on the Company&#8217;s consolidated balance sheet. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Certain of the Company&#8217;s operating leases where the Company is the lessee provide for minimum annual payments that increase over the life of the lease. Some of these leases include obligations to pay </div></div><div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">for other services, such as operations and maintenance. For leases of property, the Company accounts for these other services as a component of the lease. The aggregate minimum annual payments are expensed on the straight-line basis beginning when the Company takes possession of the property and extending over the term of the related lease, including renewal options when the exercise of the option is reasonably assured as an economic penalty may be incurred if the option is not exercised. The Company also accounts in its straight-line computation for the effect of any &#8220;rental holidays.&#8221; </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease assets represent the Company&#8217;s right to use an underlying asset for the lease term and lease liabilities represent the Company&#8217;s obligation to make lease payments arising from the lease. Operating lease assets and liabilities are recognized at the lease commencement date based on the estimated present value of the fixed lease payments, reduced by landlord incentives using a discount rate based on similarly secured borrowings available to the Company. Most of the leases do not provide implicit interest rates and therefore the Company determines the discount rate based on its incremental borrowing rate. The incremental borrowing rate for the Company&#8217;s leases is determined based on lease term and currency in which the lease payments are made. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Accrued Liabilities </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company estimates accrued liabilities by identifying services performed on the Company&#8217;s behalf, estimating the level of service performed and determining the associated cost incurred for such service as of each balance sheet date. For example, the Company would accrue for professional and consulting fees incurred with law firms, audit and accounting service providers and other third-party consultants. These expenses are determined by either requesting those service providers to estimate unbilled services at each reporting date for services incurred or tracking costs incurred by service providers under fixed fee arrangements. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company has processes in place to estimate the appropriate amounts to record for accrued liabilities, which principally involve the applicable personnel reviewing the services provided. In the event that the Company does not identify certain costs that have begun to be incurred or the Company under or over-estimates the level of services performed or the costs of such services, the reported expenses for that period may be too low or too high. The date on which certain services commence, the level of services performed on or before a given date, and the cost of such services often require the exercise of judgment. The Company makes these judgments based upon the facts and circumstances known at the date of the financial statements. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Income Taxes </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">Deferred taxes are determined based on the difference between the financial statement and tax basis of assets and liabilities using enacted tax rates in effect in the years in which the differences are expected to reverse. Valuation allowances are provided, if, based upon the weight of available evidence, it is more likely than not that some or all of the deferred tax assets will not be realized. The Company accounts for uncertain tax positions using a <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">&#8220;more-likely-than-not&#8221;</div> threshold for recognizing and resolving uncertain tax positions. The evaluation of uncertain tax positions is based on factors including, but not limited to, changes in tax law, the measurement of tax positions taken or expected to be taken in tax returns, the effective settlement of matters subject to audit, new audit activity and changes in facts or circumstances related to a tax position. The Company evaluates this tax position on a quarterly basis. The Company also accrues for potential interest and penalties related to unrecognized tax benefits in income tax expense. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Property, Plant&#160;&amp; Equipment </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Property, plant&#160;&amp; equipment is recorded at cost less allowances for depreciation. Depreciation is calculated using the straight-line method over the estimated useful life of the asset as follows: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 42%; font-family: ARIAL;"/>
<td style="width: 2%; vertical-align: bottom; font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; white-space: nowrap;"> <div style="font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: table-cell; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Classification</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:center;"> <div style="text-align: center; font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: inline-block; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Estimated&#160;Useful&#160;Life</div></div></div> </td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: bottom;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Buildings</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">Thirty years</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Leasehold&#160;improvements</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">Shorter of the term of the lease or estimated useful life</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: bottom;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Equipment</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><span style="-sec-ix-hidden:hidden18476318">Three</span> to twelve years</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Furniture, fixtures and office equipment</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><span style="-sec-ix-hidden:hidden18476319">Three</span> to eight years</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: bottom;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Computer hardware and software</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><span style="-sec-ix-hidden:hidden18476320">Three</span> to seven years or estimated useful life</td> </tr> </table>  <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Upon disposal of property, plant&#160;&amp; equipment, the cost of the asset and the accumulated depreciation are removed from the accounts and the resulting gain or loss is reflected in our results of operations. Fully depreciated assets are not removed from the accounts until they are physically disposed of. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Certain systems development costs related to the purchase, development and installation of computer software developed or obtained for internal use are capitalized and depreciated over the estimated useful life of the related project. Costs incurred prior to the development stage, as well as maintenance, training costs, and general and administrative expenses are expensed as incurred. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Earnings Per Share </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">Basic earnings per share is computed by dividing net income available to common shareholders by the weighted average number of common shares outstanding during the period. Diluted earnings per share is computed by dividing net income available to common shareholders by the weighted-average number of common shares and dilutive common share equivalents then outstanding. Potential common share equivalents consist of restricted stock awards and the incremental common shares issuable upon the exercise of stock options and warrants. Under the treasury stock method, unexercised <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">&#8220;in-the-money&#8221;</div></div> stock options are assumed to be exercised at the beginning of the period or at issuance, if later. The assumed proceeds are then used to purchase common shares at the average market price during the period. In periods when the Company has a net loss, stock awards are excluded from the calculation of earnings per share as their inclusion would have an antidilutive effect. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">A reconciliation of basic and diluted share amounts is as follows: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 73%;"/>
<td style="width: 2%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 2%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 2%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended<br/> December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2020&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2019&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2018&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td colspan="10" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts&#160;in&#160;thousands,&#160;except<br/> per&#160;share&#160;data)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Net income</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">59,926</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">21,411</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">16,617</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Weighted average shares used in computing net income per share - basic</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">52,554</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">48,343</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">43,767</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Effect of dilutive shares:</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Options and stock units</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">971</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">864</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">581</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Convertible senior notes</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">367</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,123</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Dilutive potential common shares</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,338</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">864</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,704</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Weighted average shares used in computing net income per share - diluted</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">53,892</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">49,206</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">45,471</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Earnings per share:</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Basic</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">1.14</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">0.44</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">0.38</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Diluted</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">1.11</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">0.44</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">0.37</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table>  <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">At December&#160;31, 2020, there were outstanding options to purchase 696,711 shares of the Company&#8217;s common stock at a weighted average exercise price of $43.88 per share and 665,540 shares of common stock issuable upon the vesting of stock units which include restricted stock units and performance stock units. For the year ended December&#160;31, 2020, 98,048 shares of the Company&#8217;s common stock were excluded from the calculation of diluted earnings per share because they would have had an anti-dilutive effect. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">At December&#160;31, 2019, there were outstanding options to purchase 957,559 shares of the Company&#8217;s common stock at a weighted average exercise price of $30.81 per share and 734,984 shares of common stock issuable upon the vesting of stock units. For the year ended December&#160;31, 2019, 104,316 shares of the Company&#8217;s common stock were excluded from the calculation of diluted earnings per share because the exercise prices of the stock options were greater than or equal to the average price of the common shares and were therefore, anti-dilutive. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">At December&#160;31, 2018, there were outstanding options to purchase 998,226 shares of the Company&#8217;s common stock at a weighted average exercise price of $27.54 per share and 705,413 shares of common stock issuable upon the vesting of stock units. For the year ended December&#160;31, 2017, 479,854 shares of the Company&#8217;s common stock were excluded from the calculation of diluted earnings per share because the exercise prices of the stock options were greater than or equal to the average price of the common shares and were therefore, anti-dilutive. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">As provided by the terms of the indenture underlying the senior convertible notes, the Company has a choice to settle the conversion obligation for the 2019 Notes in cash, shares or any combination of the two.&#160;The Company currently intends to settle the par value of the 2019 Notes in cash and any excess conversion premium in shares. The Company applies the provisions of ASC 260, <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Earnings Per Share&#8221;,</div></div> Subsection <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">10-45-44,</div></div> to determine the diluted weighted average shares outstanding as it relates to the conversion spread on its convertible notes. Accordingly, the par value of the 2019 Notes is not included in the calculation of diluted income per share, but the dilutive effect of the conversion premium is considered in the calculation of diluted net income per share using the treasury stock method. The dilutive impact of the 2019 Notes is based on the difference between the Company&#8217;s current period average stock price and the conversion price of the convertible notes, provided there is a premium. Pursuant to this accounting standard, there is no dilution from the accreted principal of the 2019 Notes. For the years ended December&#160;31, 2020 and 2019, the dilutive effect of the conversion premium included in the calculation of diluted earnings was 366,534 shares and 1,123,139 shares, respectively. There was no dilutive effect of the conversion premium included in the calculation of diluted earnings per share for the year ended December&#160;31, 2019. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Segment Reporting </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company views its operations, makes decisions regarding how to allocate resources and manages its business as one reportable segment and one reporting unit. As a result, the financial information disclosed herein represents all of the material financial information related to the Company. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 4%;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following table represents product revenues by product line: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 61%;"/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:7.5px">(1)</div></div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:7.5px">(2)</div></div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2018</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Filtration products</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">174,896</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">119,534</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">90,586</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Chromatography products</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">73,551</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">64,635</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">45,326</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Process analytics products</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">33,346</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">16,405</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Proteins products</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">80,732</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">65,124</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">54,375</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Other</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">3,611</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">4,399</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">3,604</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total product revenue</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">366,136</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">270,097</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">193,891</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"/> <div style="width: 11%; line-height: 8pt; margin-top: 0pt; margin-bottom: 2pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%; vertical-align: top;;text-align:left;">(1)</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2020 revenue for filtration products includes revenue related to EMT from July&#160;13, 2020, NMS from October&#160;20, 2020 and ARTeSYN from December&#160;3, 2020. </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"/>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%; vertical-align: top;;text-align:left;">(2)</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2019 revenue for process analytics products includes revenue related to C Technologies from May&#160;31, 2019 through December&#160;31, 2019. </div></div> </td> </tr> </table>  <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Revenue from filtration products includes the XCell ATF systems and consumables as well as the KrosFlo and SIUS filtration products. Revenue from chromatography products includes the OPUS chromatography PPCs, chromatography resins and ELISA test kits. Revenue from process analytics products includes the SoloVPE and FlowVPE devices. Revenue from protein products includes the Protein A affinity ligands and cell culture growth factors. Other revenue primarily consists of revenue from the sale of operating room products to hospitals as well as freight revenue. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following table represents the Company&#8217;s total revenue by geographic area (based on the location of the customer): </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 57%;"/>
<td style="width: 11%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 10%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 10%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended<br/> December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2020&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2019&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2018&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Revenue by customers&#8217; geographic locations:</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">North America</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">48</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">51</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">48</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Europe</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">38</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">37</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">40</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">APAC/Other</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">14</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">12</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">12</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total revenue</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">100</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">100</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">100</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following table represents the Company&#8217;s total assets by geographic area: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 60%;"/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total assets by geographic locations:</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">North America</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">1,697,149</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">1,260,217</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Europe</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">188,698</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">133,599</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">APAC</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">17,040</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">6,297</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total assets by geographic location</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">1,902,887</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">1,400,113</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following table represents the Company&#8217;s long-lived assets by geographic area: </div></div><div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 70%;"/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in<br/> thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Long-lived assets by geographic locations:</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">North America</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">78,429</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">66,756</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Europe</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">12,918</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">6,775</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">APAC</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,272</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">869</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total long-lived assets by geographic location</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">92,619</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">74,400</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Concentrations of Credit Risk and Significant Customers </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Financial instruments that subject the Company to significant concentrations of credit risk primarily consist of cash and cash equivalents, marketable securities and accounts receivable. Per the Company&#8217;s investment policy, cash equivalents and marketable securities are invested in financial instruments with high credit ratings and credit exposure to any one issue, issuer (with the exception of U.S. Treasury obligations) and type of instrument is limited. At December&#160;31, 2020 and 2019, the Company had no investments associated with foreign exchange contracts, options contracts or other foreign hedging arrangements. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">Concentration of credit risk with respect to accounts receivable is limited to customers to whom the Company makes significant sales. While a reserve for the potential <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">write-off</div> of accounts receivable is maintained, the Company has not written off any significant accounts to date. To control credit risk, the Company performs regular credit evaluations of its customers&#8217; financial condition. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Revenue from significant customers that represent 10% or more of the Company&#8217;s total revenue is as follows: </div></div><div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 8pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 57%;"/>
<td style="width: 13%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 12%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 12%; vertical-align: bottom;"/>
<td/>
<td/>
<td/></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended<br/> December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2020&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2019&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2018&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">MilliporeSigma</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">11</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">13</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">15</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Cytiva (formerly GE Healthcare)</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">N/A</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">12</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">15</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td></tr></table><div style="clear: both; max-height: 0px; background: none;"/><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Significant accounts receivable balances representing 10% or more of the Company&#8217;s total trade accounts receivable and royalties and other receivable balances at December&#160;31, 2020 and 2019, include the accounts receivable balance with Cytiva (formerly GE Healthcare), which represented 11% and 18%, respectively of the Company&#8217;s total trade accounts receivable and royalties and other receivable balances. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Business Combinations, Goodwill and Intangible Assets </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Business Combinations </div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total consideration transferred for acquisitions is allocated to the tangible and intangible assets acquired and liabilities assumed, if any, based on their fair values at the dates of acquisition. This purchase price allocation process requires management to make significant estimates and assumptions with respect to intangible assets and deferred revenue. The fair value of identifiable intangible assets is based on detailed valuations that use information and assumptions determined by management. Any excess of purchase price over the fair value of the net tangible and intangible assets acquired is allocated to </div></div><div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">goodwill. While the Company uses its best estimates and assumptions to accurately value assets acquired and liabilities assumed at the acquisition date as well as any contingent consideration, where applicable, that the Company&#8217;s estimates are inherently uncertain and subject to refinement. As a result, during the measurement period, which may be up to one year from the acquisition date, the Company records adjustments to the assets acquired and liabilities assumed with the corresponding offset to goodwill. Upon conclusion of the measurement period or final determination of the values of assets acquired or liabilities assumed, whichever comes first, any subsequent adjustments are recorded to the Company&#8217;s consolidated statements of comprehensive income. Any excess of the fair value of the net tangible and intangible assets acquired over the purchase price is recognized in the consolidated statements of comprehensive income. The fair value of contingent consideration includes estimates and judgments made by management regarding the probability that future contingent payments will be made and the extent of royalties to be earned in excess of the defined minimum royalties. Management updates these estimates and the related fair value of contingent consideration at each reporting period. During the measurement period, these changes in the fair value of contingent consideration are recorded to goodwill. Subsequent to the end of the measurement period, they will be recorded in the consolidated statements of comprehensive income. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">The Company uses the income approach to determine the fair value of certain identifiable intangible assets including customer relationships and developed technology. This approach determines fair value by estimating <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">after-tax</div> cash flows attributable to these assets over their respective useful lives and then discounting these <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">after-tax</div> cash flows back to a present value. The Company bases its assumptions on estimates of future cash flows, expected growth rates, expected trends in technology, etc. Discount rates used to arrive at a present value as of the date of acquisition are based on the time value of money and certain industry-specific risk factors. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Goodwill </div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Goodwill is not amortized and is reviewed for impairment at least annually at the reporting unit level. As of December&#160;31, 2018, the Company concluded that it operated as two reporting units and performed the 2018 goodwill impairment test using two reporting units. In 2019, the Company reorganized its reporting structure and changed the way the CODM views the Company&#8217;s operations and allocates its resources. Accordingly, the Company operates as one reporting unit as of the goodwill impairment measurement date of December&#160;31, 2020. During the qualitative assessment of the Company&#8217;s one reporting unit during the 2020 goodwill impairment testing, it was determined that it was not more likely than not that its fair value was less than its carrying amount. As such, a quantitative impairment assessment was not required as of December&#160;31, 2020. If an event occurs or circumstances change that would more likely than not reduce the fair value of its reporting unit below its carrying value, the Company will evaluate its goodwill for impairment between annual tests. There was no impairment to goodwill and therefore no impairment charge recorded for the year ended December&#160;31, 2019. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Intangible Assets </div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Intangible assets with a definite life are amortized over their useful lives using the straight-line method and the amortization expense is recorded within cost of product revenue, research and development and selling, general and administrative expense in the consolidated statements of comprehensive income. Intangible assets and their related useful lives are reviewed at least annually to determine if any adverse conditions exist that would indicate the carrying value of these assets may not be recoverable. More frequent impairment assessments are conducted if certain conditions exist, including a change in the competitive landscape, any internal decisions to pursue new or different technology strategies, a loss of a significant customer, or a significant change in the marketplace, including changes in the prices paid for the Company&#8217;s products or changes in the size of the market for the Company&#8217;s products. If impairment indicators are present, the Company determines whether the underlying intangible asset is </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">recoverable through estimated future undiscounted cash flows. If the asset is not found to be recoverable, it is written down to the estimated fair value of the asset based on the sum of the future discounted cash flows expected to result from the use and disposition of the asset. If the estimate of an intangible asset&#8217;s remaining useful life is changed, the remaining carrying amount of the intangible asset is amortized prospectively over the revised remaining useful life. The Company continues to believe that its definite-lived intangible assets are recoverable at December&#160;31, 2020. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Indefinite-lived intangible assets are reviewed for impairment at least annually. There has been no impairment of our intangible assets for the periods presented. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Stock Based Compensation </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company measures stock-based compensation cost at the grant date based on the estimated fair value of the award and recognizes it as expense over the employee&#8217;s requisite service period on a straight-line basis. The Company records the expense for share-based awards subject to performance-based milestone vesting over the remaining service period when management determines that achievement of the milestone is probable. Management evaluates whether the achievement of a performance-based milestone is probable as of the reporting date. The Company has no awards that are subject to market conditions. The Company recognizes stock-based compensation expense based upon options that are ultimately expected to vest, and accordingly, such compensation expense has been adjusted by an amount of estimated forfeitures. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company uses the Black-Scholes option pricing model to calculate the fair value of share-based awards on the grant date.&#160;The following assumptions are used in calculating the fair value of share-based awards: </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Expected term</div></div> &#8211; The expected term of options granted represents the period of time for which the options are expected to be outstanding. For purposes of estimating the expected term, the Company has aggregated all individual option awards into one group as the Company does not expect substantial differences in exercise behavior among its employees. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Expected volatility</div></div> &#8211; The expected volatility is a measure of the amount by which the Company&#8217;s stock price is expected to fluctuate during the expected term of options granted. The Company determines the expected volatility based primarily upon the historical volatility of the Company&#8217;s common stock over a period commensurate with the option&#8217;s expected term. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Risk-free interest rate</div></div> &#8211; The risk-free interest rate is the implied yield available on U.S. Treasury <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">zero-coupon</div> issues with a remaining term equal to the option&#8217;s expected term on the grant date. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Expected dividend yield</div></div> &#8211; The Company has never declared or paid any cash dividends on any of its capital stock and does not expect to do so in the foreseeable future.&#160;Accordingly, the Company uses an expected dividend yield of zero to calculate the grant-date fair value of a stock option. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Estimated forfeiture rates</div></div> &#8211; The Company has applied, based on an analysis of its historical forfeitures, annual forfeiture rates of 8% for awards granted to <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-executive</div> level employees, 3% for awards granted to executive level employees and 0% for awards granted to <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-employee</div> members of the Board of Directors to all unvested stock options as of December&#160;31, 2020. The Company reevaluates this analysis periodically and adjusts these estimated forfeiture rates as necessary. Ultimately, the Company will only recognize an expense for those shares that vest. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Advertising Costs </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company expenses advertising costs as they are incurred. Advertising expense for the years ended December&#160;31, 2020, 2019 and 2018 was $0.3&#160;million, $0.1&#160;million and $0.2&#160;million, respectively. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Recent Accounting Standards Updates </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We consider the applicability and impact of all Accounting Standards Updates on the Company&#8217;s consolidated financial statements. Updates not listed below were assessed and determined to be either not applicable or are expected to have minimal impact on the Company&#8217;s consolidated financial position or results of operations. Recently issued Accounting Standards Updates that we feel may be applicable to the Company are as follows: </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Recently Issued Accounting Standard Updates &#8211; Adopted During the Period </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">On May&#160;21, 2020, the SEC announced that it would adopt amendments to the financial disclosure requirements for acquisitions and dispositions of businesses in Rules <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">3-05,</div> <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">3-14,</div> <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">8-04,</div> <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">8-05,</div> <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">8-06,</div> and Article 11 of Regulation <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">S-X,</div> all of which relate to financial statement disclosure requirements. In conjunction with the changes to amendments to these rules, the SEC also amended the significance tests in the &#8220;significant subsidiary&#8221; definition in Rule <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">1-02(w),</div> Securities Act Rule 405, and Exchange Act <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Rule&#160;12b-2</div> to improve their application and to assist registrants in making more meaningful determinations of whether a subsidiary or an acquired or disposed of business is significant. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Specific changes to the significance test include changes to the investment test component, which compares the registrant&#8217;s and its other subsidiaries&#8217; investment in and advances to the tested subsidiary to the registrant&#8217;s aggregate worldwide market value if available, instead of the registrant&#8217;s total assets on a consolidated basis under the unamended Rule. The amendments also changed the income test component by adding a revenue component to it. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The amendments are effective on January&#160;1, 2021. However, voluntary compliance with the final amendments was permitted in advance of the effective date. As a result of the 2020 acquisitions of EMT, NMS and ARTeSYN, the Company voluntarily adopted the amendments prior to their effective date and determined the acquired businesses are not significant subsidiaries and therefore no separate financial statements are required. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">In August 2018, the Financial Accounting Standards Board (&#8220;FASB&#8221;) issued Accounting Standards Update No. (&#8220;ASU&#8221;) <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2018-13,</div> <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Fair Value Measurement (Topic 820): Disclosure Framework &#8211; Changes to the Disclosure Requirements for Fair Value Measurement.&#8221; </div></div>ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2018-13</div> includes amendments that aim to improve the effectiveness of fair value measurement disclosures. The amendments in this guidance modify the disclosure requirements on fair value measurements based on the concepts in FASB Concepts Statement, <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Conceptual Framework for Financial Reporting&#8212;Chapter 8: Notes to Financial Statements</div></div>,<div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8221;</div></div> including the consideration of costs and benefits. The Company adopted ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2018-13</div> on January&#160;1, 2020. The adoption did not have a material impact on the Company&#8217;s consolidated financial statements as of and for the year ended December&#160;31, 2020. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">In August 2018, the FASB issued ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2018-15,</div> <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Intangibles &#8211; Goodwill and Other &#8211; <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Internal-Use</div> Software (Subtopic <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">350-40):</div> Customer&#8217;s Accounting for Implementation Costs Incurred in a Cloud Computing Arrangement That Is a Service Contract.&#8221; </div></div>ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2018-15</div> aligns the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">internal-use</div> software (and hosting arrangements that include an <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">internal-use</div> software license). The guidance also requires the entity to expense the capitalized implementation costs of a hosting arrangement that is a service contract </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">over the term of the hosting arrangement, which includes reasonably certain renewals. The Company adopted ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2018-13</div> on January&#160;1, 2020. The adoption did not have a material impact on the Company&#8217;s consolidated financial statements as of and for the year ended December&#160;31, 2020. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">In June 2016, the FASB issued ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2016-13,</div> &#8220;<div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Financial Instruments-Credit Losses (Topic 326).&#8221;</div></div> ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2016-13</div> significantly changes how entities will account for credit losses for most financial assets and certain other instruments that are not measured at fair value through net income. ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2016-13</div> replaces the existing incurred loss model with an expected credit loss model that requires entities to estimate an expected lifetime credit loss on most financial assets and certain other instruments, including short-term trade receivables and contract assets, and expands disclosure requirements for credit quality of financial assets. The Company adopted ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2016-13</div> on January&#160;1, 2020. The Company assessed all potential impacts that the adoption of this guidance has on its consolidated financial statements. Based on the composition of the Company&#8217;s investment portfolio, accounts receivable, current market conditions and historical credit loss activity, the adoption of ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2016-13</div> by the Company did not have a material impact on its consolidated financial position, results of operations or cash flows as of and for the year ended December&#160;31, 2020. The Company continues to monitor processes and controls for indications of an adjustment for future economic conditions at quarterly and annual reporting periods. See Note 6, <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Credit Losses,&#8221; </div></div>below for more information on the Company&#8217;s adoption of ASC 326. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">In November 2018, the FASB issued ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2018-18,</div> <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Collaborative Arrangements (Topic 808): Clarifying the Interaction between Topic 808 and Topic 606.&#8221; </div></div>ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2018-18</div> clarifies the interaction between Topic 808, <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Collaborative Arrangements,&#8221; </div></div>and Topic 606, <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Revenue from Contracts with Customers,&#8221; </div></div>by making targeted improvements to GAAP for collaborative arrangements and providing guidance on whether certain transactions between collaborative arrangement participants should be accounted for with revenue under Topic 606. This includes improving comparability in the presentation of revenue for certain transactions between collaborative arrangement participants by allowing presentation of the units of account in collaborative arrangements that are within the scope of Topic 606 together with revenue accounted for under Topic 606. The Company adopted ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2018-13</div> on January&#160;1, 2020. The adoption did not have a material impact on the Company&#8217;s consolidated financial statements as of and for the year ended December&#160;31, 2020. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">In December 2019, the FASB issued ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2019-12,</div> &#8220;<div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Income Taxes (Topic 740) &#8211; Simplifying the Accounting for Income Taxes.&#8221; </div></div>ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2019-12</div> simplifies the accounting for income taxes by removing certain exceptions to the general principles in Topic 740, including, but not limited to, the exception to the incremental approach for intraperiod tax allocation when there is a loss from continuing operations and income or a gain from other items, the exceptions related to the recognition of a deferred tax liability related to an equity method investment and the exception to methodology for calculating income taxes in an interim period when a <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">year-to-date</div></div> loss exceeds the anticipated loss for the year. The Company adopted ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2018-13</div> on January&#160;1, 2020. The adoption did not have a material impact on the Company&#8217;s consolidated financial statements as of and for the year ended December&#160;31, 2020. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Recently Issued Accounting Standard Updates &#8211; Not Yet Adopted </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">In August 2020, the FASB issued ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2020-06,</div> &#8220;<div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Debt&#8212;Debt with Conversion and Other Options (Subtopic <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">470-20)</div> and Derivatives and Hedging&#8212;Contracts in Entity</div></div><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8217;</div></div><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">s Own Equity (Subtopic <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">815-40).</div></div></div><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8221;</div></div> ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2020-06</div> simplifies the accounting for convertible debt instruments and convertible preferred stock by reducing the number of accounting models and the number of embedded conversion features that could be recognized separately from the primary contract. ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2020-06</div> also enhances transparency and improves disclosures for convertible instruments and earnings per share guidance. ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2020-06</div> is effective for annual reporting periods beginning after December&#160;15, 2021, including interim periods within those fiscal years. Early adoption is permitted, but no earlier than fiscal years beginning after December&#160;15, 2020. This update permits the use of either the modified retrospective or fully </div> retrospective method of transition. The Company is currently evaluating the timing and impact of the adoption of ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2020-06</div> on the Company&#8217;s consolidated financial statements.<span></span>
</td>
</tr>
</table>
<div style="display: none;"><table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all significant accounting policies of the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -URI http://asc.fasb.org/topic&amp;trid=2122369<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table></div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<FILENAME>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743805976360">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Acquisitions<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationDisclosureTextBlock', window );">Acquisitions</a></td>
<td class="text">
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">3.</div></div></td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Acquisitions </div></div><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;"> </div></div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"/> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">ARTeSYN Biosolutions Holdings Ireland Limited </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">On October&#160;27, 2020, the Company entered into an Equity and Asset Purchase Agreement with ARTeSYN, a company organized under the laws of Ireland, Third Creek Holdings, LLC, a Nevada limited liability company, Alphinity, LLC, a Nevada limited liability company (&#8220;Alphinity&#8221;, and together with Third Creek Holdings, LLC the &#8220;Sellers&#8221;), and Michael Gagne, solely in his capacity as the representative of the Sellers, pursuant to which the Company acquired (i)&#160;all of the outstanding equity securities of ARTeSYN and (ii)&#160;certain assets from Alphinity related to the business of ARTeSYN (collectively, the &#8220;ARTeSYN Acquisition&#8221;) for approximately $200&#160;million, comprised of approximately $130&#160;million in cash to the Sellers and approximately $70&#160;million in Repligen common stock to Third Creek. The transaction closed on December&#160;3, 2020. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">ARTeSYN is headquartered in Waterford, Ireland and conducts its operations in Ireland, the United States and Estonia. Its suite of <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">single-use</div> solutions has been created with the goal of enabling &#8220;abundance in medicine&#8221; by allowing 10x greater efficiency in biologics manufacturing. The ARTeSYN team has created a number of solutions targeting the <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">single-use</div> space from <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">single-use</div> valves with fully disposable valve liners, XO<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> skeletal supports, a hybrid small parts offering for <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">de-bottlenecking</div> traditional facilities, and fully automated SU process systems that have quickly become leading solutions in the bioprocessing industry. In addition to its <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">single-use</div> solutions, ARTeSYN also engages in the manufacture of large-scale systems to be used for biologics manufacturing. ARTeSYN has established downstream processing leadership with a suite of state of the art <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">single-use</div> systems for chromatography, filtration, continuous manufacturing and media/buffer prep workflows. In addition, the Company has integrated unique flow path assemblies utilizing Engineered Molding Technology LLC&#8217;s (&#8220;EMT&#8221;) silicone extrusion and molding technology, to deliver highly differentiated, low <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">hold-up</div> volume systems that minimize product loss during processing. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Consideration Transferred </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">The ARTeSYN Acquisition was accounted for as a purchase of a business under ASC 805, <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Business Combinations&#8221;</div></div>. The ARTeSYN Acquisition was funded through payment of $130.7&#160;million in cash, as well as issuance of 372,990 unregistered shares of the Company&#8217;s common stock totaling $69.4&#160;million, contingent consideration of approximately $1.5&#160;million, and settlement of preexisting invoices with Repligen of approximately $2.3&#160;million, for a total purchase price of $204.0&#160;million. Under the acquisition method of accounting, the assets acquired and liabilities assumed of ARTeSYN were recorded as of the acquisition date, at their respective fair values, and consolidated with those of Repligen. The fair value of the net tangible assets acquired is estimated to be $7.9&#160;million, the fair value of the intangible assets acquired is estimated to be $67.4&#160;million, and the residual goodwill is estimated to be $128.7&#160;<div style="display:inline;">million. The estimated consideration and preliminary purchase price information has been prepared using a preliminary valuation. The final purchase price allocation will be completed upon payment of final consideration for working capital and other adjustments. The final allocation may include changes to: (1)&#160;deferred revenue; (2)&#160;inventory; (3) deferred tax liabilities, net; (4)&#160;allocations to intangible assets such as tradenames, developed technology and customer relationships as well as goodwill; (5)&#160;final consideration paid related to working capital adjustments; and (6)&#160;other assets and liabilities. </div> </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The preparation of the valuation required the use of significant assumptions and estimates. Critical estimates included, but were not limited to, future expected cash flows, including projected revenues and </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">expenses, and the applicable discount rates. These estimates were based on assumptions that Repligen believes to be reasonable. However, actual results may differ from these estimates. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total consideration transferred is as follows (amounts in thousands): </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 81%; font-family: ARIAL;"/>
<td style="width: 7%; vertical-align: bottom; font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Cash consideration</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">130,713</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Equity consideration</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">69,422</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Contingent consideration</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,548</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Settlement of preexisting liabilities</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">2,310</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Fair value of net assets acquired</div></div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">$</div></div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">203,993</div></div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table>  <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Acquisition related costs are not included as a component of consideration transferred but are expensed in the periods in which the costs are incurred. The Company incurred $4.0&#160;million in transaction costs associated with the ARTeSYN acquisition in 2020. The transaction costs are included in selling, general and administrative expenses in the consolidated statements of comprehensive income. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The consideration transferred includes $1.5&#160;million </div><div style="letter-spacing: 0px; top: 0px;;display:inline;">related to consideration that was deferred at the acquisition date, with payment to the Sellers contingent upon recognizing revenue on a large-scale system within 120 days of the acquisition date. This consideration is recorded at its estimated fair value as of the acquisition date, which includes the assumption of high probability of such revenue being recognized. During the measurement period, which may be up to one year from the acquisition date, we may record adjustments to the assets acquired and liabilities assumed with the corresponding offset to goodwill. Upon conclusion of the measurement period or final determination of the values of assets acquired or liabilities assumed, whichever comes first, any subsequent adjustments are recorded to our consolidated statements of comprehensive income. </div><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"> </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Fair Value of Net Assets Acquired </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The preliminary allocation of purchase price is based on the fair value of assets acquired and liabilities assumed as of the acquisition date, based on the preliminary valuation. As additional information becomes available, the Company may further revise its preliminary purchase price allocation during the remainder of the measurement period (which will not exceed 12 months from December&#160;3, 2020). Any such revision or changes may be material. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The components and estimated allocation of the purchase price consists of the following amounts (amounts in thousands): </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 81%; font-family: ARIAL;"/>
<td style="width: 7%; vertical-align: bottom; font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Cash and cash equivalents</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">2,982</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accounts receivable</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">4,811</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Inventory</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">8,592</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Prepaid expenses and other current assets</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">5,561</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Property and equipment</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,836</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease right of use asset</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,611</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Other noncurrent assets</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">26</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Customer relationships</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">38,400</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Developed technology</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">27,060</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Trademark and tradename</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,630</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Non-competition</div> agreements</div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">300</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Goodwill</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">128,658</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accounts payable</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(2,161</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accrued liabilities</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(8,856</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Deferred revenue</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(3,583</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Deferred tax liabilities, net</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(1,240</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Notes payable</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(24</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease liability</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(417</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease liability, long-term</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(1,193</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Fair value of net assets acquired</div></div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">$</div></div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">203,993</div></div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table>  <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Acquired Goodwill </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The goodwill of $128.7&#160;million represents future economic benefits expected to arise from synergies from combining operations and commercial organizations to increase market presence and the extension of existing customer relationships. Substantially all of the goodwill recorded is expected to be deductible for income tax purposes. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Intangible Assets </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following table sets forth the components of the identified intangible assets associated with the ARTeSYN Acquisition and their estimated useful lives: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 51%;"/>
<td style="width: 14%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 14%; vertical-align: bottom;"/>
<td/>
<td/>
<td/></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Useful&#160;life</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Fair&#160;Value</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts&#160;in&#160;thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Customer relationships</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">17 years</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">38,400</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Developed technology</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">15 years</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">27,060</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Trademark and tradename</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">21 years</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,630</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Non-competition</div> agreements</div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">3 years</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">300</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">67,390</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table>  <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The preliminary purchase price allocation is subject to adjustment as purchase accounting is finalized. The final purchase price allocation will be determined upon completion of final valuation analysis, and the fair value allocation of assets acquired and liabilities assumed could differ materially from the preliminary valuation analysis. The final allocation may include changes to: (1)&#160;deferred revenue; (2)&#160;inventory; (3) deferred tax liabilities, net; (4)&#160;allocations to intangible assets such as tradenames, developed technology and customer relationships as well as goodwill; (5)&#160;final consideration paid related to working capital adjustments; and (6)&#160;other assets and liabilities. </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;"> </div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>  <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Non-Metallic</div> Solutions, Inc. </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">On October&#160;15, 2020, the Company executed a Stock Purchase Agreement with <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Non-Metallic</div> Solutions, Inc. (&#8220;NMS&#8221;), a Massachusetts corporation, and each of William Mallone&#233; and Derek Masser, the legal and beneficial owners of NMS, to purchase NMS, which transaction subsequently closed on October&#160;20, 2020 (the &#8220;NMS Acquisition&#8221;). </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">NMS, headquartered in Auburn, Massachusetts, is a manufacturer of fabricated plastics, custom containers, and related assemblies and components used in the manufacturing of biologic drugs. The acquisition of NMS allows Repligen to expand its line of <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">single-use</div> systems and associated integrated flow path assemblies, streamline the supply chain for current products, and gives the Company more flexibility to scale and expand <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">single-use</div> and systems portfolios. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Consideration Transferred </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">The NMS Acquisition was accounted for as a purchase of a business under ASC 805, <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;</div></div><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Business Combinations.</div></div><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8221;</div></div><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;"> </div></div>Total consideration paid was $16.2&#160;million, which included $1.3&#160;million deposited into an escrow account against which the Company may make claims for indemnification. As disclosed in the Quarterly Report on Form <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">10-Q</div> for the period ended June&#160;30, 2020, the Company voluntarily adopted the amendments to financial disclosure requirements around the significance tests in the &#8220;significant subsidiaries&#8221; definition in Rule <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">1-02(w),</div> Securities Act Rule 405, and Exchange Act Rule <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">12b-2.</div> As a result, the Company determined that NMS is not a significant subsidiary and therefore no separate financial statements are required. The fair value of the net tangible assets acquired is estimated to be approximately $0.9&#160;million, the fair value of the intangible assets acquired is estimated to be $8.5&#160;million, and the residual goodwill is estimated to be approximately $6.8&#160;million. Acquisition-related costs are not included as a component of consideration transferred but are expensed in the periods in which costs are incurred. The Company incurred $0.2&#160;million of acquisition-related costs associated with the NMS Acquisition in 2020. The transaction costs are included in selling, general and administrative expenses in the consolidated statements of comprehensive income. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Fair Value of Net Assets Acquired </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The preliminary allocation of purchase price is based on the fair value of assets acquired and liabilities assumed as of the acquisition date, based on the preliminary valuation. As additional information becomes available, the Company may further revise its preliminary purchase price allocation during the remainder of the measurement period (which will not exceed 12 months from October&#160;20, 2020). </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The components and estimated allocation of the purchase price consist of the following amounts (amounts in thousands): </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 83%; font-family: ARIAL;"/>
<td style="width: 7%; vertical-align: bottom; font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Cash and cash equivalents</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">1,163</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accounts receivable</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">415</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Inventory</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">334</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Prepaid expenses and other current assets</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">13</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Property and equipment</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">73</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease right of use asset</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">194</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Customer relationships</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">6,370</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Developed technology</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,810</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Trademark and tradename</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">190</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Non-competition</div> agreements</div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">90</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Goodwill</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">6,784</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Deferred tax assets</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">24</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accounts payable</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(96</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accrued liabilities</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(999</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease liability</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(136</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease liability, long-term</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(59</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Fair value of net assets acquired</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">$</div></div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">16,170</div></div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table>  <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Acquired Goodwill </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The goodwill of $6.8&#160;million represents future economic benefits expected to arise from anticipated synergies from the integration of NMS. These synergies include certain cost savings, operating efficiencies and other strategic benefits projected to be achieved as a result of the NMS Acquisition. Substantially all of the goodwill recorded is expected to be deductible for income tax purposes. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Intangible Assets </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following table sets forth the components of the identified intangible assets associated with the NMS Acquisition and their estimated useful lives: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 51%;"/>
<td style="width: 15%; vertical-align: bottom;"/>
<td/>
<td style="white-space: nowrap;"/>
<td/>
<td style="width: 15%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0); white-space: nowrap;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Useful&#160;life</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Fair&#160;Value</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts&#160;in&#160;thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Customer relationships</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">14 years</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">6,370</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Developed technology</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">12 years</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,810</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Trademark and tradename</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">15 years</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">190</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Non-competition</div> agreements</div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">3 years</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">90</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">8,460</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table>  <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Engineered Molding Technology LLC </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">On July&#160;13, 2020, the Company completed the acquisition of 100% of the membership interests of EMT, a New York limited liability company, pursuant to a Membership Interest Purchase Agreement, dated June&#160;26, 2020, by and among the Company, EMT, and each of Michael Pandori and Todd Etesse, the legal and beneficial owners of EMT (such acquisition, the &#8220;EMT Acquisition&#8221;). </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">EMT, headquartered in Clifton Park, New York, is an innovator and manufacturer of <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">single-use</div> silicone assemblies and components used in the manufacturing of biologic drugs. EMT&#8217;s standard and custom molding as well as their over-molded connectors and silicone tubing products are key components in </div>  <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">single-use</div> filtration and chromatography systems. EMT&#8217;s products will complement and expand Repligen&#8217;s <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">single-use</div> product offerings. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Consideration Transferred </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">The EMT Acquisition was accounted for as a purchase of a business under ASC 805, <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Business Combinations&#8221;. </div></div>Total consideration paid was $28.5&#160;million, which included $2.2&#160;million deposited into an escrow account against which the Company may make claims for indemnification. Under the acquisition method of accounting, the net assets of EMT were recorded as of the acquisition date, at their respective fair values, and consolidated with those of Repligen. The fair value of the net tangible assets acquired is estimated to be approximately $1.5&#160;million, the fair value of the intangible assets acquired is estimated to be $14.4&#160;million, and the residual goodwill is estimated to be approximately $12.6&#160;million. The estimated consideration and preliminary purchase price information have been prepared using a preliminary valuation. The preparation of the valuation required the use of significant assumptions and estimates. Critical estimates included, but were not limited to, future expected cash flows, including projected revenues and expenses, and the applicable discount rates. These estimates were based on assumptions that Repligen believes to be reasonable. However, actual results may differ from these estimates. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Acquisition-related costs are not included as a component of consideration transferred but are expensed in the periods in which the costs are incurred. The Company incurred $1.2&#160;million of acquisition related costs associated with the EMT Acquisition in 2020. The transaction costs are included in selling, general and administrative expenses in the consolidated statements of comprehensive income. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Fair Value of Net Assets Acquired </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The preliminary allocation of purchase price is based on the fair value of assets acquired and liabilities assumed as of the acquisition date, based on the preliminary valuation. As additional information becomes available, the Company may further revise its preliminary purchase price allocation during the remainder of the measurement period (which will not exceed 12 months from July&#160;13, 2020). Any such revisions or changes may be material. The components and allocation of the purchase price consist of the following amounts (amounts in thousands): </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 83%; font-family: ARIAL;"/>
<td style="width: 7%; vertical-align: bottom; font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Cash and cash equivalents</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">69</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accounts receivable</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,057</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Inventory</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">449</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Prepaid expenses and other current assets</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">7</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Property and equipment</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">472</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease right of use assets</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,050</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Customer relationships</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">11,080</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Developed technology</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">2,910</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Trademark and tradename</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">320</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Non-compete</div> agreements</div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">50</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Goodwill</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">12,585</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accounts payable</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(283</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accrued liabilities</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(202</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease liability</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(211</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease liability, long-term</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(839</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Fair value of net assets acquired</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">$</div></div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">28,514</div></div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table>  <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Acquired Goodwill </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The goodwill of $12.6&#160;million represents future economic benefits expected to arise from anticipated synergies from the integration of EMT. These synergies include certain cost savings, operating efficiencies and other strategic benefits projected to be achieved as a result of the EMT Acquisition. Substantially all of the goodwill recorded is expected to be deductible for income tax purposes. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Intangible Assets </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following table sets forth the components of the identified intangible assets associated with the EMT Acquisition and their estimated useful lives: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 51%;"/>
<td style="width: 14%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 14%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Useful&#160;life</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Fair&#160;Value</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts&#160;in&#160;thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Customer relationships</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">14 years</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">11,080</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Developed technology</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">11 years</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">2,910</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Trademark and tradename</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">14 years</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">320</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Non-competition</div> agreements</div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">3 years</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">50</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">14,360</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table>  <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Revenue, Net Income and Pro Forma Presentation </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company has included the operating results of our 2020 acquisitions of ARTeSYN, NMS and EMT in its consolidated statements of comprehensive income since their respective acquisition dates. The Company does not consider these acquisitions to be material to its consolidated statements of comprehensive income and therefore has not included pro forma results. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">C Technologies </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">On May&#160;31, 2019, Repligen acquired C Technologies, pursuant to the terms of a Stock Purchase Agreement (the &#8220;Agreement&#8221;), by and among Repligen, C Technologies and Craig Harrison, an individual and sole stockholder of C Technologies (such acquisition, the &#8220;C Technologies Acquisition&#8221;). </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Acquisition-related costs are not included as a component of consideration transferred but are expensed in the periods in which the costs are incurred. The Company incurred $4.0&#160;million in transaction costs in 2019. The transaction costs are included in selling, general and administrative expenses in the consolidated statements of comprehensive income. In connection with the transaction, an additional $9.0&#160;million was paid to employees during the second quarter of 2020, based on their continued employment with the Company one year after the date of the close of the C Technologies Acquisition. The Company has recognized $3.7&#160;million of compensation expense associated with this amount due to employees in 2020 and has recognized $9.0&#160;million of compensation expense associated with this amount due since the C Technologies Acquisition. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Fair Value of Net Assets Acquired </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The allocation of purchase price is based on the fair value of assets acquired and liabilities assumed as of the acquisition date, based on the preliminary valuation. The Company obtained this information during due diligence and through other sources. In the months after closing, the Company obtained additional information about these assets and liabilities as it learned more about C Technologies. The Company refined the estimates of fair value to more accurately allocate the purchase price. Only items identified as of the acquisition date were considered for subsequent adjustment. We made appropriate adjustments to the purchase price allocation during the measurement period, which was one year from </div></div>  <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">the acquisition date. The components and allocation of the purchase price consists of the following amounts (amounts in thousands): </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 81%; font-family: ARIAL;"/>
<td style="width: 7%; vertical-align: bottom; font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Cash and cash equivalents</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">3,795</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Restricted cash</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">26,933</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accounts receivable</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">3,044</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Inventory</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">3,783</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Prepaid expenses and other current assets</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">93</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Fixed assets</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">40</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease right of use asset</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">3,836</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Customer relationships</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">59,680</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Developed technology</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">28,920</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Trademark and tradename</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,570</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Non-competition</div> agreements</div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">660</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Goodwill</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">142,314</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Deferred taxes</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">895</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accounts payable</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(436</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accrued liabilities</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(2,767</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accrued bonus</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(26,928</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Deferred revenue</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(1,709</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease liability</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(51</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease liability, long-term</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(3,785</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Fair value of net assets acquired</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">$</div></div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">239,887</div></div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table>  <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Acquired Goodwill </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">The goodwill of $142.3&#160;million represents future economic benefits expected to arise from synergies from combining operations and commercial organizations to increase market presence and the extension of existing customer relationships. Substantially all of the goodwill recorded is expected to be deductible for income tax purposes. Pursuant to the Company&#8217;s business combination accounting policy included in Note 2, <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Summary of Significant Accounting Policies &#8211; Business Combinations, Goodwill and Intangible Assets,&#8221;</div></div> the Company recorded goodwill adjustments for the effects on goodwill of changes to net assets acquired during the period that such change is identified, provided that any such change is within the measurement period (up to one year from the date of the acquisition). In March 2020, the Company recorded an adjustment to goodwill of $0.3&#160;million related to additional state income tax liabilities to be paid by the seller, which were incurred from the Company&#8217;s finalized 338(h)(10) tax election. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Revenue, Net Income and Pro Forma Presentation </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company recorded revenue from C Technologies of $16.4&#160;million from May&#160;31, 2019, the date of acquisition, to December&#160;31, 2019. The Company recorded a net loss from C Technologies&#8217; results of operations of $7.4&#160;million from May&#160;31, 2019 to December&#160;31, 2019. The Company has included the operating results of C Technologies in its consolidated statements of comprehensive income since the May&#160;31, 2019 acquisition date. The following pro forma financial information presents the combined results of operations of Repligen and C Technologies as if the acquisition had occurred on January&#160;1, 2019 after giving effect to certain pro forma adjustments. The pro forma adjustments reflected herein include only those adjustments that are directly attributable to the C Technologies Acquisition, factually supportable and have a recurring impact. These pro forma adjustments include amortization expense on the acquired identifiable intangible assets, adjustments to stock-based compensation expense for equity compensation issued to C Technologies employees and the income tax effect of the adjustments made. In </div></div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>  <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">addition, acquisition-related transaction costs and an accounting adjustment to record inventory at fair value were excluded from pro forma net income in 2019. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Prior to the C Technologies Acquisition, C Technologies did not generate monthly or quarterly financial statements that were prepared in accordance with GAAP. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following pro forma financial information does not reflect any adjustments for anticipated expense savings resulting from the acquisition and is not necessarily indicative of the operating results that would have actually occurred had the transaction been consummated on January&#160;1, 2019 or of future results (amounts in thousands, except per share data): </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 66%;"/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2018</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total revenue</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">279,434</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">217,739</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Net income</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">23,394</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">21,195</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Earnings per share:</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Basic</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">0.48</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">0.44</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Diluted</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">0.48</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">0.43</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <span></span>
</td>
</tr>
</table>
<div style="display: none;"><table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -URI http://asc.fasb.org/topic&amp;trid=2303972<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table></div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>25
<FILENAME>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743802919544">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [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="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeasesTextBlock', window );">Leases</a></td>
<td class="text">
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">4.</div></div></td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Leases </div></div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"/> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">The Company is a lessee under leases of manufacturing facilities, office spaces, machinery, certain office equipment and vehicles. A majority of the Company&#8217;s leases are operating leases with remaining lease terms between one month and 10 years. Finance leases are immaterial to the Company&#8217;s consolidated financial statements. The Company determines if an arrangement qualifies as a lease and what type of lease it is at inception. The Company elected the package of practical expedients permitted under the transition guidance within the new lease standard, which among other things, allowed it to continue to account for existing leases based on the historical lease classification. The Company also elected the practical expedients to combine lease and <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-lease</div> components and to exclude right of use assets and lease liabilities for leases with an initial term of 12 months or less from the balance sheet. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Some of the lease agreements the Company enters into include Company options to either extend and/or early terminate the lease, the costs of which are included in the Company&#8217;s operating lease liabilities to the extent that such options are reasonably certain of being exercised. Leases with renewal options allow the Company to extend the lease term typically between 1 and 5 years per option, some of its leases have multiple options to extend. When determining if a renewal option is reasonably certain of being exercised, the Company considers several economic factors, including but not limited to, the significance of leasehold improvements incurred on the property, whether the asset is difficult to replace, underlying contractual obligations, or specific characteristics unique to that particular lease that would make it reasonably certain that the Company would exercise such options. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">As of December&#160;31, 2020 and 2019, operating lease right of use assets were $25.2&#160;million and $25.7&#160;million, respectively and operating lease liabilities were $31.7&#160;million and $30.6&#160;million, respectively. The Company acquired EMT, NMS and ARTeSYN in 2020 and entered into a number of automobile leases among others. As a result, the operating right of use asset and operating lease liability balances increased by a total of $3.0&#160;million in 2020 on their commencement dates. On July&#160;7, 2020, the Company entered into a First Amendment to the current lease agreement associated with our Marlborough, Massachusetts facility, to expand the existing premises by 66,939 square feet and in December 2020, the Second Amendment to the current lease agreement was signed<div style="display:inline;">,</div> changing the commencement date of the expansion lease from April&#160;1, 2021 to January&#160;1, 2021. As a result, the operating right of use asset and operating lease liability balances increased by a total of </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">approximately $2.8&#160;million. Amounts related to financing leases were immaterial. The maturities of the Company&#8217;s operating lease liabilities as of December&#160;31, 2020 are as follows (amounts in thousands): </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 68%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 82%; font-family: ARIAL;"/>
<td style="width: 8%; vertical-align: bottom; font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; white-space: nowrap; padding-bottom: 1pt;"> <div style="font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: table-cell; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">As of December&#160;31, 2020</div></div></div> </td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Amount</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2021</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">7,007</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2022</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">5,732</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2023</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">4,614</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2024</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">4,162</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2025</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">3,653</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2026 and thereafter</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">12,949</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total future minimum lease payments</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">38,117</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Less: amount of lease payment representing interest</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">6,438</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total operating lease liabilities</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">31,679</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total operating lease liabilities included on the Company&#8217;s consolidated balance sheet are as follows (amounts in thousands): </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 70%;"/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease liability</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">5,254</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">3,557</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease liability, long-term</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">26,425</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">26,995</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Minimum operating lease payments</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">31,679</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">30,552</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table>  <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Lease expense for these leases is recognized on a straight-line basis over the lease term, with variable lease payments recognized in the period those payments are incurred. For the year ended December&#160;31, 2020 and 2019, total lease cost is comprised of the following: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 8pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 74%;"/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For&#160;the&#160;Years&#160;Ended<br/> December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; white-space: nowrap; padding-bottom: 1pt;"> <div style="font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: table-cell; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Lease Cost</div></div></div> </td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in<br/> thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease cost</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">5,645</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">4,480</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Variable operating lease cost</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">2,033</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,480</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Lease cost</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">7,678</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">5,960</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following information represents supplemental disclosure for the consolidated statements of cash flows related to operating leases (amounts in thousands): </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 8pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 72%;"/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended<br/> December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease cost</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(5,647</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(4,004</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr> </table>  <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Most of the leases do not provide implicit interest rates and therefore the Company determines the discount rate based on its incremental borrowing rate. The incremental borrowing rate for the Company&#8217;s leases is determined based on lease term and currency in which the lease payments are made. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The weighted average remaining lease term and the weighted average discount rate used to measure the Company&#8217;s operating lease liabilities as of December&#160;31, 2020 were: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 68%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 89%; font-family: ARIAL;"/>
<td style="width: 5%; vertical-align: bottom; font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Weighted average remaining lease term (years)</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">7.19</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Weighted average discount rate</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">4.90</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td> </tr> </table> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeasesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -URI http://asc.fasb.org/subtopic&amp;trid=77888251<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeasesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743799040680">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue Recognition<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerTextBlock', window );">Revenue Recognition</a></td>
<td class="text">
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">5.</div></div></td>
<td style="vertical-align: top;;text-align:left;"><div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Revenue Recognition </div></div></div></td></tr></table><div style="clear: both; max-height: 0px; background: none;"/><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">The Company generates revenue from the sale of bioprocessing products, equipment devices, and related consumables used with these equipment devices to customers in the life science and biopharmaceutical industries. Under ASC 606, <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Revenue from Contracts with Customers,&#8221; </div></div>revenue is recognized when, or as, obligations under the terms of a contract are satisfied, which occurs when control of the promised products or services is transferred to customers. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Disaggregation of Revenue </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Revenue for the years ended December&#160;31, 2020, 2019 and 2018 was as follows (amounts in thousands, except percentages): </div></div><div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 8pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 61%;"/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2018</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Product revenue</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">366,136</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">270,097</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">193,891</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Royalty and other income</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">124</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">148</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">141</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total revenue</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">366,260</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">270,245</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">194,032</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table><div style="clear: both; max-height: 0px; background: none;"/><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">When disaggregating revenue, the Company considered all of the economic factors that may affect its revenues. Because all of its revenues are from bioprocessing customers, there are no differences in the nature, timing and uncertainty of the Company&#8217;s revenues and cash flows from any of its product lines. However, given that the Company&#8217;s revenues are generated in different geographic regions, factors such as regulatory and geopolitical factors within those regions could impact the nature, timing and uncertainty of the Company&#8217;s revenues and cash flows. In addition, a significant portion of the Company&#8217;s revenues are generated from two customers; therefore, economic factors specific to these two customers could impact the nature, timing and uncertainty of the Company&#8217;s revenues and cash flows. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">Disaggregated revenue from contracts with customers by geographic region can be found in Note 2., <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Summary of Significant Accounting Policies &#8211; Segment Reporting,&#8221;</div></div> above. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Revenue from significant customers that represent 10% or more of the Company&#8217;s total revenue is as follows (amounts in thousands): </div></div><div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 8pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 64%;"/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2018</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">MilliporeSigma</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">39,511</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">36,190</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">29,843</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Cytiva (formerly GE Healthcare)</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">N/A</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">31,441</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">29,616</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr></table><div style="clear: both; max-height: 0px; background: none;"/><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Filtration Products </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">The Company&#8217;s filtration products generate revenue through the sale of KrosFlo<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> hollow fiber TFF systems, TangenX<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> flat sheet cassettes, Spectrum<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> hollow fiber filters, membranes and modules, XCell ATF<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> systems and related consumables. Supporting our systems, we also sell ProConnex<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">single-use</div> flow path assemblies and custom silicone-based, <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">single-use</div> flow path assemblies and components from EMT, NMS and ARTeSYN, three acquisitions completed in 2020. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company&#8217;s KrosFlo systems are used in the filtration, isolation, purification and concentration of biologics and diagnostic products. TFF is a rapid and efficient method for separation and purification of biomolecules that is widely used in laboratory, process development and process scale applications in biopharmaceutical manufacturing. Sales of large-scale systems generally include components and </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">consumables as well as training and installation services at the request of the customer. Because the initial sale of components and consumables is necessary for the operation of the system, such items are combined with the systems as a single performance obligation. Training and installation services do not significantly modify or customize these systems and therefore represent a distinct performance obligation. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company&#8217;s TangenX flat sheet cassettes (SIUS<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div>, SIUS Gamma<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> and PRO) are not highly interdependent on one another and are therefore considered distinct products that represent separate performance obligations. Product revenue from the sale of TangenX flat sheet cassettes is generally recognized at a point in time upon transfer of control of the customer. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">The Company&#8217;s other filtration product offerings are not highly interdependent of one another and are therefore considered distinct products that represent separate performance obligations. Revenue on these products is generally recognized at a point in time upon transfer of control to the customer. The Company invoices the customer for the installation and training services in an amount that directly corresponds with the value to the customer of the Company&#8217;s performance to date; therefore, revenue recognized is based on the amount billable to the customer in accordance with the practical expedient under ASC <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">606-10-55-18.</div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">The Company also markets the XCell ATF system, a technologically advanced filtration device used in upstream processes to continuously remove cellular metabolic waste products during the course of a fermentation run, freeing healthy cells to continue producing the biologic drug of interest. XCell ATF systems typically include a filtration system and consumables (i.e., tubing sets, metal stands) as well as training and installation services at the request of the customer. The filtration system and consumables are considered distinct products and therefore represent separate performance obligations. First time purchasers of the systems typically purchase a controller that is shipped with the tubing set(s) and metal stand(s). The controller is not considered distinct as it is a proprietary product that is highly interdependent with the filtration system; therefore, the controller is combined with the filtration system and accounted for as a single performance obligation. The training and installation services do not significantly modify or customize the XCell ATF system and therefore represent a distinct performance obligation. XCell ATF system product revenue related to the filtration system (including the controller if applicable) and consumables is generally recognized at a point in time upon transfer of control to the customer. XCell ATF system service revenue related to training and installation services is generally recognized over time, as the customer simultaneously receives and consumes the benefits as the Company performs. The Company invoices the customer for the installation and training services in an amount that directly corresponds with the value to the customer of the Company&#8217;s performance to date; therefore, revenue recognized is based on the amount billable to the customer in accordance with the practical expedient under ASC <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">606-10-55-18.</div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">On July&#160;13, 2020, the Company completed the EMT Acquisition and added EMT&#8217;s silicone-based, <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">single-use</div> components and manifolds to its filtration franchise. These products are key components in <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">single-use</div> filtration and chromatography systems and will help expand its line of <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">single-use</div> ProConnex flow paths, streamline its supply chain for ATF and provide more flexibility as the Company scales and expands its <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">single-use</div> and systems portfolios. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">On October&#160;20, 2020, the Company completed the NMS Acquisition and added their fabricated plastics, custom containers and related assemblies and components to its filtration franchise. These products will complement and expand Repligen&#8217;s <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">single-use</div> product offerings. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">On December&#160;3, 2020, the Company completed the ARTeSYN Acquisition and added its suite of <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">single-use</div> solutions with the goal of enabling &#8220;abundance of medicine&#8221; by allowing ten times greater efficiency in biologics manufacturing. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Chromatography Products </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">The Company&#8217;s chromatography products include a number of products used in the downstream purification and quality control of biological drugs. The majority of chromatography revenue relates to the OPUS<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">pre-packed</div> chromatography column line. OPUS columns are designed to be disposable following a production campaign. Each OPUS column is delivered <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">pre-packaged</div> with the customer&#8217;s choice of chromatography resin, which is either provided by the Company for the customer or customer supplied. In either scenario, the OPUS column and resin are not interdependent of one another and are therefore considered distinct products that represent separate performance obligations. Chromatography product revenue is generally recognized at a point in time upon transfer of control to the customer. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Process Analytics Products </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">The Process Analytics franchise generates revenue primarily through the sale of the SoloVPE and FlowVPE Slope Spectroscopy systems, consumables and service. These products complement and support the Company&#8217;s existing Filtration, Chromatography and Proteins franchises as they allow <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">end-users</div> to make <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">in-line</div> protein concentration measurements in filtration, chromatography and fill-finish applications, designed to allow for real-time process monitoring. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Protein Products </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company&#8217;s Protein franchise generates revenue through the sale of Protein A affinity ligands and growth factors. Protein A ligands are an essential component of Protein A chromatography resins (media) used in the purification of virtually all mAb-based drugs on the market or in development. The Company manufactures multiple forms of Protein A ligands under long-term supply agreements with major life sciences companies, who in turn sell their Protein A chromatography media to end users (biopharmaceutical manufacturers). The Company also manufactures growth factors for sale under long-term supply agreements with certain life sciences companies as well as for direct sales to its customers. Each protein product is considered distinct and therefore represents a separate performance obligation. Protein product revenue is generally recognized at a point in time upon transfer of control to the customer. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Other Products </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company&#8217;s other products include operating room products sold to hospitals. Other product revenue is generally recognized at a point in time upon transfer of control to the customer. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Transaction Price Allocated to Future Performance Obligations </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">Remaining performance obligations represent the transaction price of contracts for which work has not been performed or has been partially performed. The Company&#8217;s future performance obligations relate primarily to the installation and training of certain of its systems sold to customers. These performance obligations are completed within one year of receipt of a purchase order from its customers. Accordingly, the Company has elected to not disclose the value of these unsatisfied performance obligations as provided under ASC <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">606-10-50-14.</div></div></div> </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Contract Balances from Contracts with Customers </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following table provides information about receivables and deferred revenue from contracts with customers as of December&#160;31, 2020 (amounts in thousands): </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 76%;"/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Balances from contracts with customers only:</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accounts receivable</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">71,257</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">43,068</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Deferred revenue (included in accrued liabilities in the consolidated balance sheets)</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">15,318</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">5,005</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Revenue recognized during years presented relating to:</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The beginning deferred revenue balance</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">3,361</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">833</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Changes in pricing related to products or services satisfied in previous periods</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr> </table>  <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The timing of revenue recognition, billings and cash collections results in the accounts receivable and deferred revenue balances on the Company&#8217;s consolidated balance sheets. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">A contract asset is created when the Company satisfies a performance obligation by transferring a promised good to the customer. Contract assets may represent conditional or unconditional rights to consideration. The right is conditional, and recorded as a contract asset if the Company must first satisfy another performance obligation in the contract before it is entitled to payment from the customer. Contract assets are transferred to billed receivables once the right becomes unconditional. If the Company has the unconditional right to receive consideration from the customer, the contract asset is accounted for as a billed receivable and presented separately from other contract assets. A right is unconditional if nothing other than the passage of time is required before payment of that consideration is due. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">When consideration is received, or such consideration is unconditionally due, from a customer prior to transferring goods or services to the customer under the terms of a contract, a contract liability is recorded. Contract liabilities are recognized as revenue after control of the products or services is transferred to the customer and all revenue recognition criteria have been met. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Costs to Obtain or Fulfill a Customer Contract </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company&#8217;s sales commission structure is based on achieving revenue targets. The commissions are driven by revenue derived from customer purchase orders which are short term in nature. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">Applying the practical expedient in paragraph <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">340-40-25-4,</div></div></div> the Company recognizes the incremental costs of obtaining contracts as an expense when incurred if the amortization period of the assets that the Company otherwise would have recognized is one year or less. These costs are included in selling, general, and administrative expenses in our consolidated statement of comprehensive income. When shipping and handling costs are incurred after a customer obtains control of the products, the Company accounts for these as costs to fulfill the promise and not as a separate performance obligation. </div> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -URI http://asc.fasb.org/topic&amp;trid=49130388<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130551-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130556-203045<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130554-203045<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130550-203045<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130554-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130554-203045<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130554-203045<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130558-203045<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130554-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>27
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743802624840">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Credit Losses<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditLossAbstract', window );"><strong>Credit Loss [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="top.Show.showAR( this, 'defref_us-gaap_CreditLossFinancialInstrumentTextBlock', window );">Credit Losses</a></td>
<td class="text">
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">6.</div></div></td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Credit Losses </div></div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"/> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">Effective January&#160;1, 2020, the Company adopted ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2016-13,</div> <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Financial Instruments &#8211; Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments,&#8221;</div></div> prospectively. ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2016-13</div> replaces the incurred loss impairment model with an expected credit loss impairment model for financial instruments, including trade receivables. The guidance requires entities to consider forward-looking information to estimate expected credit losses, resulting in earlier recognition of losses for receivables that are current or not yet due. Upon adoption, changes in the allowance were not material for the transition period starting January&#160;1, 2020 through December&#160;31, 2020. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company is exposed to credit losses primarily through sales of products and services. The Company&#8217;s expected loss allowance methodology for accounts receivable is developed using historical collection experience, current and future economic and market conditions and a review of the current status of customers&#8217; trade accounts receivable. Customers are pooled based on sharing specific risk factors, including geographic location. Due to the short-term nature of such receivables, the estimated accounts receivable that may not be collected is based on aging of the accounts receivable balances. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Customers are assessed for credit worthiness upfront through a credit review, which includes assessment based on the Company&#8217;s analysis of their financial statements when a credit rating is not available. The Company evaluates contract terms and conditions, country and political risk, and may require prepayment to mitigate risk of loss. Specific allowance amounts are established to record the appropriate provision for customers that have a higher probability of default. The Company monitors changes to the receivables balance on a timely basis, and balances are written off as they are determined to be uncollectable after all collection efforts have been exhausted. Estimates of potential credit losses are used to determine the allowance. It is based on assessment of anticipated payment and all other historical, current and future information that is reasonably available. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The accounts receivable balance on the Company&#8217;s consolidated balance sheet as of December&#160;31, 2020 was $71.3&#160;million, net of $0.8&#160;million of allowances. The following table provides a roll-forward of the allowance for credit losses in 2020 that is deducted from the amortized cost basis of accounts receivable to present the net amount expected to be collected (amounts in thousands): </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 91%;"/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Balance at January&#160;1, 2020</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">(525</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Current period change for expected credit losses</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">(133</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Balance at March&#160;31, 2020</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">(658</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Current period change for write-offs</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">37</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Current period change for expected credit losses</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">83</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Balance at June&#160;30, 2020</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">(538</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Current period change for expected credit losses</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">(83</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Balance at September&#160;30, 2020</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">(621</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Current period change for write-offs</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">65</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Current period change for expected credit losses</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">(206</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Balance at December&#160;31, 2020</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">(762</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditLossAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditLossAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditLossFinancialInstrumentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for credit loss on financial instrument measured at amortized cost basis, net investment in lease, off-balance sheet credit exposure, and available-for-sale debt security.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=121582814&amp;loc=SL82922895-210455<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 21<br> -URI http://asc.fasb.org/extlink&amp;oid=121599337&amp;loc=SL82919272-210447<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121599337&amp;loc=SL82919236-210447<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=121599337&amp;loc=SL82919269-210447<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=121582814&amp;loc=SL82922888-210455<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=121599337&amp;loc=SL82919244-210447<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=121599337&amp;loc=SL82919230-210447<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditLossFinancialInstrumentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>28
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743896562232">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Intangible Assets<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock', window );">Goodwill and Intangible Assets</a></td>
<td class="text">
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">7.</div></div></td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Goodwill and Intangible Assets </div></div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"/> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Goodwill </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Goodwill represents the difference between the purchase price and the estimated fair value of identifiable assets acquired and liabilities assumed. Goodwill acquired in a business combination and determined to have an indefinite useful life is not amortized, but instead is tested for impairment at least annually in accordance with ASC 350. The following table represents the changes in the carrying value of goodwill for the years ended December&#160;31, 2020 and 2019 (amounts in thousands): </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 86%; font-family: ARIAL;"/>
<td style="width: 5%; vertical-align: bottom; font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Balance as of December&#160;31, 2018</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">326,735</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Acquisition of C Technologies</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">142,021</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Cumulative translation adjustment</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(343</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Balance as of December&#160;31, 2019</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">468,413</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Measurement period adjustment - C Technologies</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">293</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Acquisition of EMT</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">12,585</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Acquisition of NMS</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">6,784</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Acquisition of ARTeSYN</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">128,658</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Cumulative translation adjustment</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,572</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Balance as of December&#160;31, 2020</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">618,305</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table>  <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">During each of the fourth quarters of 2020, 2019 and 2018, the Company completed its annual impairment assessments and concluded that goodwill was not impaired in any of those years. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Intangible Assets </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Intangible assets with a definitive life are amortized over their useful lives using the straight-line method, and the amortization expense is recorded within cost of product revenue and selling, general and administrative expense in the Company&#8217;s consolidated statements of comprehensive income. Intangible assets and their related useful lives are reviewed at least annually to determine if any adverse conditions exist that would indicate the carrying value of these assets may not be recoverable. More frequent impairment assessments are conducted if certain conditions exist, including a change in the competitive landscape, any internal decisions to pursue new or different technology strategies, a loss of a significant customer, or a significant change in the marketplace, including changes in the prices paid for the Company&#8217;s products or changes in the size of the market for the Company&#8217;s products. If impairment indicators are present, the Company determines whether the underlying intangible asset is recoverable through estimated future undiscounted cash flows. If the asset is not found to be recoverable, it is written down to the estimated fair value of the asset based on the sum of the future discounted cash flows expected to result from the use and disposition of the asset. If the estimate of an intangible asset&#8217;s remaining useful life is changed, the remaining carrying amount of the intangible asset is amortized prospectively over the revised remaining useful life. The Company continues to believe that its definite-lived intangible assets are recoverable at December&#160;31, 2020. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Indefinite-lived intangible assets are tested for impairment at least annually. There has been no impairment of our intangible assets for the periods presented. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Intangible assets, net consisted of the following at December&#160;31, 2020: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 45%;"/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="14" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31, 2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Gross</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Carrying</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Value</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Accumulated</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Amortization</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Net</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Carrying</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Value</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Weighted</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Average</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Useful&#160;Life</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(in years)</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Finite-lived intangible assets:</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Technology - developed</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">114,217</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(14,444</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">99,773</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">17</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Patents</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">240</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(240</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">8</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Customer relationships</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">217,790</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(37,333</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">180,457</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">16</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Trademarks</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">5,893</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(541</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">5,352</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">20</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Other intangibles</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">2,142</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(1,324</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">818</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">3</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total finite-lived intangible assets</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">340,282</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(53,882</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">286,400</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">16</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Indefinite-lived intangible asset:</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Trademarks</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">700</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">700</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total intangible assets</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">340,982</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(53,882</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">287,100</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr> </table>   <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Intangible assets consisted of the following at December&#160;31, 2019: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 45%;"/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="14" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31, 2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Gross</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Carrying</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Value</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Accumulated</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Amortization</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Net</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Carrying</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Value</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Weighted</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Average</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Useful&#160;Life</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(in years)</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Finite-lived intangible assets:</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Technology - developed</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">82,169</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(9,669</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">72,500</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">19</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Patents</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">240</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(240</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">8</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Customer relationships</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">160,825</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(25,642</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">135,183</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">15</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Trademarks</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">3,752</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(333</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">3,419</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">20</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Other intangibles</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,697</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(947</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">750</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">3</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total finite-lived intangible assets</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">248,683</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(36,831</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">211,852</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">16</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Indefinite-lived intangible asset:</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Trademarks</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">700</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">700</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total intangible assets</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">249,383</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(36,831</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">212,552</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr> </table>  <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Amortization expense for finite-lived intangible assets was $16.1&#160;million, $13.6&#160;million and $10.6&#160;million for the years ended December&#160;31, 2020, 2019 and 2018, respectively. As of December&#160;31, 2020, the Company expects to record the following amortization expense (amounts in thousands): </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 80%; font-family: ARIAL;"/>
<td style="width: 9%; vertical-align: bottom; font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; white-space: nowrap; padding-bottom: 1pt;"> <div style="font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: table-cell; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">For the Years Ended December&#160;31,</div></div></div> </td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Estimated<br/> Amortization<br/> Expense</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2021</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">20,767</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2022</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">20,765</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2023</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">20,648</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2024</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">20,080</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2025</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">19,813</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2026 and thereafter</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">184,327</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">286,400</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -URI http://asc.fasb.org/topic&amp;trid=2144416<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>29
<FILENAME>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743802823896">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Balance Sheet Detail<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Disclosure Text Block [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="top.Show.showAR( this, 'defref_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock', window );">Consolidated Balance Sheet Detail</a></td>
<td class="text">
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">8.</div></div></td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Consolidated Balance Sheet Detail </div></div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"/> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Inventories, net </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Inventories, net consists of the following: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 70%;"/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts&#160;in&#160;thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Raw materials</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">48,746</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">29,328</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Work-in-process</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">8,084</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">8,360</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Finished products</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">38,195</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">17,144</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total inventories, net</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">95,025</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">54,832</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table>  <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Prepaid Expenses and Other Current Assets </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Prepaid expenses and other current assets consist of the following: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 72%;"/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts&#160;in&#160;thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Equipment maintenance and services</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">4,601</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">1,662</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Prepaid income taxes</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">2,649</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">2,719</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Prepaid insurance</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,936</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">80</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Other</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">9,490</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,456</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total prepaid expenses and other current assets</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">18,676</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">5,917</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table>  <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Property, Plant and Equipment </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Property, plant and equipment consist of the following: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 68%;"/>
<td style="width: 7%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 7%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Land</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">1,023</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">1,023</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Buildings</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,007</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">764</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Leasehold improvements</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">31,331</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">23,905</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Equipment</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">43,072</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">36,257</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Furniture, fixtures and office equipment</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">8,714</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">6,312</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Computer hardware and software</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">15,397</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">8,810</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Construction in progress</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">14,927</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">6,707</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Other</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">455</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">56</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total property, plant and equipment</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">115,926</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">83,834</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Less - Accumulated depreciation</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(49,056</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">(35,379</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total property, plant and equipment, net</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">66,870</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">48,455</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table>  <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Depreciation expense totaled $10.9&#160;million, $7.3&#160;million and $5.2&#160;million in the fiscal years ended December&#160;31, 2020, 2019 and 2018, respectively. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Accrued Liabilities </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accrued liabilities consist of the following: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 70%;"/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts&#160;in&#160;thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Employee compensation</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">20,288</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">19,850</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Income taxes payable</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,423</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">3,874</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Royalty and license fees</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">466</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">123</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Warranties</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,576</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,500</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Professional fees</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,425</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,081</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Deferred revenue</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">15,318</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">5,005</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Other</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">12,589</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,898</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total accrued liabilities</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">53,085</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">33,331</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for supplemental balance sheet disclosures, including descriptions and amounts for assets, liabilities, and equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -URI http://asc.fasb.org/topic&amp;trid=2122208<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplementalBalanceSheetDisclosuresTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>30
<FILENAME>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743797648088">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">Income Taxes</a></td>
<td class="text"><div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt; text-indent: 0px;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">9.</div></div></td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Income Taxes </div></div></div> </td> </tr> </table> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The components of income before income taxes are as follows: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 8pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 70%;"/>
<td style="width: 3%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 3%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 3%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For&#160;the&#160;Years&#160;Ended&#160;December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2020&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2019&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2018&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Domestic</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">27,545</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(5,432</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(73</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Foreign</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">31,672</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">31,583</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">21,509</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Income before income taxes</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">59,217</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">26,151</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">21,436</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The components of the income tax provision are as follows: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 69%;"/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For&#160;the&#160;Years&#160;Ended&#160;December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2020&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2019&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2018&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Components of the income tax (benefit) provision:</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Current</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">5,193</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">8,290</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">4,354</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Deferred</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(5,902</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(5,287</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">465</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Equity</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,737</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(709</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">4,740</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">4,819</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Jurisdictional components of the income tax (benefit) provision:</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Federal</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(4,741</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(965</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(393</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">State</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(3,011</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(1,764</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">718</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Foreign</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">7,043</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">7,469</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">4,494</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(709</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">4,740</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">4,819</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table>  <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">During 2020, the Company generated $4.0&#160;million in federal net operating losses and $1.1&#160;million in state net operating losses. At December&#160;31, 2020, the </div><div style="letter-spacing: 0px; top: 0px;;display:inline;">Company had federal net operating loss carryforwards of </div><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">$2.9&#160;million and state net operating loss carryforwards of $3.5&#160;million. The federal net operating loss carryforwards do not expire while the state net operating loss carryforwards will expire<div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div>at various dates through December 2040.<div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div>At December&#160;31, 2020, the Company had federal business tax credits carryforwards of $6.2&#160;million and state business tax credits carryforwards of $3.2&#160;million available to reduce future domestic income taxes. The business tax credit carryforwards will expire at various dates through December 2040. The net operating loss and business tax credit carryforwards are subject to review and possible adjustment by the Internal Revenue Service and may be limited in the event of certain changes in the ownership interest of significant stockholders. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The components of deferred income taxes are as follows:</div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 68%;"/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Deferred tax assets:</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Temporary timing differences:</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Stock-based compensation expense</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">3,320</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">2,922</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating leases</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">7,257</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">7,295</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accrued bonus</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">25</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,379</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Other</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">5,749</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">4,994</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 7em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total temporary timing differences</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">16,351</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">16,590</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Net operating loss carryforwards</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,539</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">221</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Tax business credits carryforwards</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">5,553</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">924</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total deferred tax assets</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">23,443</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">17,735</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Less: valuation allowance</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(727</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(6</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 7em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Net deferred tax assets</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">22,716</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">17,729</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Deferred tax liabilities:</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Goodwill</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(1,487</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(1,288</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Fixed assets</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(4,233</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(1,650</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Acquired intangible assets</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(27,152</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(24,605</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease right of use assets</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(5,744</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(6,144</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Conversion option on convertible notes</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(8,651</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(11,066</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 7em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total deferred tax liabilities</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(47,267</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(44,753</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total net deferred tax liabilities</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(24,551</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(27,024</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table>  <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The net change in the total valuation allowance for the year ended December&#160;31, 20<div style="display:inline;">20</div>&#160;and 201<div style="display:inline;">9</div>&#160;was an increase of $0.7&#160;million and a decrease of $0.1&#160;million, respectively. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The reconciliation of the federal statutory rate to the effective income tax rate for the years ended December&#160;31, 2020, 2019 and 2018 is as follows: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 56%;"/>
<td style="width: 2%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 2%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 2%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 2%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 2%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 2%; vertical-align: bottom;"/>
<td/>
<td/>
<td/></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="22" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2018</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Amount</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">%</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Amount</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">%</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Amount</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">%</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="22" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands, except percentages)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Income before income taxes</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">59,217</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">26,151</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">21,436</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Expected tax at statutory rate</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">12,436</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">21.0</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">5,492</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">21.0</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">4,502</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">21.0</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Adjustments due to:</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Difference between U.S. and foreign tax</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">618</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1.0</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">436</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1.7</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">345</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1.6</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">State income and franchise tax</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">133</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">0.2</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(179</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(0.7</td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">91</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">0.4</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Business tax credits</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(4,660</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(7.9</td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(2,746</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">(10.5</td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(1,760</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(8.2</td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Permanent differences:</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Stock-based compensation expense</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(9,243</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">(15.6</td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(1,877</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(7.2</td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(1,213</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(5.7</td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">U.S. taxation of foreign earnings</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">51</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">0.1</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">2,227</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">8.5</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">2,190</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">10.2</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Executive compensation</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,401</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">2.4</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">841</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">3.2</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">367</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1.7</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Other</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">896</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1.5</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">92</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">0.4</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">97</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">0.5</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Change in U.S. federal tax rates</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(2,192</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(3.7</td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">0.0</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">0.0</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Change in U.S. state tax rates</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(708</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(1.2</td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">0.0</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">748</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">3.5</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Change in Netherlands tax rate</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">250</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">0.4</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(193</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(0.7</td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(388</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(1.8</td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Transition tax</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">0.0</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">0.0</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(1,338</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(6.2</td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Uncertain tax provisions</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(168</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(0.3</td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,069</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">4.1</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,021</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">4.8</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Change in valuation allowance</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(12</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(0.0</td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(125</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(0.5</td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">125</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">0.6</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Return to provision adjustments</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(89</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(0.2</td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(79</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(0.3</td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">33</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">0.2</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Other</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">578</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1.0</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(218</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(0.8</td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(1</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(0.1</td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Income tax provision</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(709</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(1.2</td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">4,740</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">18.1</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">4,819</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">22.5</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td></tr></table> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company&#8217;s tax returns are subject to examination by federal, state and foreign tax authorities. The Company&#8217;s two major tax jurisdictions are subject to examination for the following periods: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 72%; font-family: ARIAL;"/>
<td style="width: 13%; vertical-align: bottom; font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid; white-space: nowrap;;text-align:center;"><div style="text-align: center; font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 1pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Jurisdiction</div></div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Fiscal&#160;Years&#160;Subject<br/> to Examination</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">United States - federal and state</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2017-2020</div></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Sweden</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">2013-2020</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr></table>  <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following is a tabular reconciliation of the total amounts of unrecognized tax benefits: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 64%;"/>
<td style="width: 11%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 11%; vertical-align: bottom;"/>
<td/>
<td/>
<td/></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For&#160;the&#160;Years&#160;Ended&#160;December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2020&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2019&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Balance of gross unrecognized tax benefits, beginning of period</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">3,422</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">2,852</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Gross amounts of increases in unrecognized tax benefits as a result of tax positions taken in the current period</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">154</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">602</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Gross amounts of decreases in unrecognized tax benefits as a result of tax positions taken in the prior period</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(337</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(16</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Gross amounts of decrease due to release</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(39</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(16</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Balance of gross unrecognized tax benefits, end of period</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">3,200</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">3,422</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table>  <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Included in the balance of unrecognized tax benefits as of December&#160;31, 2020 are $3.1&#160;million of tax benefits that, if recognized, would affect the effective tax rate. The Company classifies interest and penalties related to income taxes as components of its income tax provision. The amount of interest and penalties recorded in the accompanying consolidated statements of comprehensive income was approximately $17,000, $5,000 and $1,000 for the years ended December&#160;31, 2020, 2019 and 2018, respectively. The amount of interest and penalties recorded in the accompanying consolidated balance sheets was approximately $58,000 and $41,000 as of December&#160;31, 2020 and 2019, respectively. The Company does not anticipate the amount of unrecognized tax benefits to change over the next twelve months. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">On March&#160;27, 2020, President Trump signed the $2.2 trillion bipartisan Coronavirus Aid, Relief, and Economic Security (&#8220;CARES&#8221;) Act. The CARES Act, the third congressional bill to address <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">COVID-19,</div> provides for loans and other benefits to businesses, expanded unemployment insurance, direct payments to those with middle-income and below wages, new appropriations funding for healthcare and other priorities, and tax changes, including deferrals of employer payroll tax liabilities, coupled with an employee retention tax credit and rollbacks of TCJA limitations on net operating losses (&#8220;NOLs&#8221;) and the Section&#160;163(j) business interest limitation and a TCJA technical correction on qualified improvement property. The Company evaluated the provisions of the CARES Act and no provision had a material effect on the Company&#8217;s financial position or results of operations at December&#160;31, 2020 and for the year then ended. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">The Company is subject to a territorial tax system under the Tax Cuts and Jobs Act (&#8220;TCJA&#8221;) enacted in December 2017 (the &#8220;2017 Tax Act&#8221;), in which the Company is required to provide for tax on Global Intangible <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Low-Taxed</div> Income (&#8220;GILTI&#8221;) earned by certain foreign subsidiaries. The Company has adopted an accounting policy to provide for the tax expense related to GILTI in the year the tax is incurred as a period expense. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company also considered the impact of the newly issued tax regulations in recording its income tax accounts for the year ending December&#160;31, 2020 which reduced the foreign earnings subject to taxation under the GILTI provisions for the year ended December&#160;31, 2018 and prospectively. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">As of December&#160;31, 2020, the Company has accumulated undistributed earnings generated by its foreign subsidiaries of approximately $113.1&#160;million. Because $58.0&#160;million of such earnings have previously been subject to the <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">one-time</div> transition tax on foreign earnings required by the 2017 Tax Act, any additional taxes due with respect to such earnings or the excess of the amount for financial reporting over the tax basis of the Company&#8217;s foreign investments would generally be limited to foreign and state</div> <div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">taxes. At December&#160;31, 2020, the Company has not provided for taxes on outside basis differences of its foreign subsidiaries, as the Company has the ability and intent to indefinitely reinvest the undistributed earnings of its foreign subsidiaries, and there are no needs for such earnings in the United States that would contradict its plan to indefinitely reinvest. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">ASU 2016-16, <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Intra-Entity Transfers of Assets Other Than Inventory,&#8221;</div></div> requires the income tax consequences of intra-entity transfers of assets other than inventory to be recognized when the intra-entity transfer occurs rather than deferring recognition of income tax consequences until the transfer was made with an outside party. The Company adopted the provisions of this ASU in the first quarter of 2018. The adoption resulted in a decrease of $5.7 million&#160;to other assets, a decrease of $5.0 million&#160;to deferred tax liabilities and a decrease of&#160;$0.7 million&#160;to accumulated deficit at January&#160;1, 2018.</div><span></span>
</td>
</tr>
</table>
<div style="display: none;"><table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32857-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330215-122817<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32809-109319<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.5.Q1)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 14<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32705-109319<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 270<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6424409&amp;loc=d3e44925-109338<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -URI http://asc.fasb.org/topic&amp;trid=2144680<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6424122&amp;loc=d3e41874-109331<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table></div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>31
<FILENAME>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743797669928">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock', window );">Stockholders' Equity</a></td>
<td class="text">
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 5%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">10.</div></div></td>
<td style="vertical-align: top;;text-align:left;"><div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Stockholders&#8217; Equity </div></div></div></td></tr></table> <div style="clear: both; max-height: 0px; background: none;"/> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Public Offerings of Common Stock </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">On December&#160;8, 2020, the Company completed a public offering in which 1,725,000 shares of its common stock, including the underwriters&#8217; exercise in full of an option to purchase an additional 225,000 shares, were sold to the public at a price of $181.00 per share (the &#8220;December Stock Offering&#8221;). The net proceeds of the December Stock Offering, after deducting underwriting discounts and commissions and other estimated offering expenses payable by the Company, were approximately $297.8&#160;million. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">On July&#160;19, 2019, the Company completed a public offering in which 1,587,000 shares of its common stock, including the underwriters&#8217; exercise in full of an option to purchase an additional 207,000 shares, were sold to the public at a price of $87.00 per share (the &#8220;July Stock Offering&#8221;). The net proceeds of the Stock Offering, after deducting underwriting discounts and commissions and other estimated offering expenses payable by the Company, were approximately $131.1&#160;million. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">On May&#160;3, 2019, the Company completed a public offering in which 3,144,531 shares of its common stock, including the underwriters&#8217; full exercise of an option to purchase up to an additional 410,156 shares, were sold to the public at a price of $64.00 per share. The total proceeds received by the Company from this offering, net of underwriting discounts and commissions and other estimated offering expenses payable by the Company, totaled approximately $189.6&#160;million. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Stock Option and Incentive Plans </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">At the Company&#8217;s 2018 Annual Meeting of Stockholders held on May&#160;16, 2018, the Company&#8217;s shareholders approved the 2018 Stock Option and Incentive Plan (the &#8220;2018 Plan&#8221;). Under the 2018 Plan the number of shares of the Company&#8217;s common stock that are reserved and available for issuance shall be 2,778,000 plus the number of shares of common stock available for issuance under the Company&#8217;s Amended and Restated 2012 Stock Option and Incentive Plan (the &#8220;2012 Plan&#8221;). The shares of common stock underlying any awards under the 2018 Plan, 2012 Plan and the Second Amended and Restated 2001 Repligen Corporation Stock Plan (the &#8220;2001 Plan,&#8221; and together with the 2018 Plan and 2012 Plan, the &#8220;Plans&#8221;) that are forfeited, canceled or otherwise terminated (other than by exercise) shall be added back to the shares of stock available for issuance under the 2018 Plan. At December&#160;31, 2020, 2,306,943 shares were available for future grants under the 2018 Plan. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Stock-Based Compensation </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company recorded stock-based compensation expense of $17.0&#160;million, $12.8&#160;million and $10.2&#160;million for the years ended December&#160;31, 2020, 2019 and 2018, respectively, for share-based awards granted under the Plans. The following table presents stock-based compensation expense in the Company&#8217;s consolidated statements of comprehensive income: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 84%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 61%;"/>
<td style="width: 5%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 5%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 5%; vertical-align: bottom;"/>
<td/>
<td/>
<td/></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2018</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Cost of product revenue</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">1,929</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">1,368</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">1,019</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Research and development</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,534</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,373</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">917</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Selling, general and administrative</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">13,544</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">10,106</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">8,256</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total stock-based compensation</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">17,007</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">12,847</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">10,192</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table>  <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">The 2018 Plan allows for the granting of incentive and nonqualified options to purchase shares of common stock, restricted stock and other equity awards. Except for the grant to the Company&#8217;s Chief Executive Officer (&#8220;CEO&#8221;) in 2018 mentioned below, employee grants under the Plans generally vest over a three- to five-year period, with <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">20%-33%</div> vesting on the first anniversary of the date of grant and the remainder vesting in equal yearly installments thereafter. Nonqualified options issued to <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-employee</div> directors and consultants under the Plans generally vest over one year. In the first quarter of 2018, to create a longer-term retention incentive, the Company&#8217;s Compensation Committee granted long-term incentive compensation awards to its CEO which consisted of both stock options and restricted stock units that are subject to time-based vesting over nine years. Options granted under the Plans have a maximum term of ten years from the date of grant and generally, the exercise price of the stock options equals the fair market value of the Company&#8217;s common stock on the date of grant. At December&#160;31, 2020, options to purchase 696,711 shares and 665,540 stock units were outstanding under the Plans. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company uses the Black-Scholes option pricing model to calculate the fair value of stock option awards on the grant date, and the Company uses the value of the common stock as of the grant date to value RSUs. The Company measures stock-based compensation costs at the grant date based on the estimated fair value of the award. The Company recognizes expense on awards with service-based vesting over the employee&#8217;s requisite service period on a straight-line basis. The Company has issued performance stock units to certain employees which are tied to the achievement of certain Company financial goal metrics and the passage of time. Finally, during 2020, the Company implemented a program that issued performance stock units to certain employees set to vest upon the achievement of individual goals and the passage of time. The Company recognizes expense on performance-based awards over the vesting period based on the probability that the performance metrics will be achieved. The Company recognizes stock-based compensation expense for options that are ultimately expected to vest, and accordingly, such compensation expense has been adjusted for estimated forfeitures. </div>&#160;</div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The fair value of share-based awards granted during the years ended December&#160;31, 2020, 2019 and 2018 were calculated using the following estimated assumptions: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 40%;"/>
<td style="width: 2%; vertical-align: bottom;"/>
<td/>
<td style="width: 2%; vertical-align: bottom;"/>
<td/>
<td style="width: 2%; vertical-align: bottom;"/>
<td/></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="5" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended December&#160;31,</div></div></td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2018</div></div></td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Expected term (in&#160;years)</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;;text-align:center;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">5.5-6.5</div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;;text-align:center;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">5.5-6.5</div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;;text-align:center;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">5.5-7.5</div></td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Expected volatility (range)</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;;text-align:center;">45.14&#160;&#8211;&#160;50.87%</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;;text-align:center;">45.14&#160;&#8211;&#160;50.87%</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;;text-align:center;">45.14&#160;&#8211;&#160;50.87%</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Risk-free interest rate</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;;text-align:center;">0.34&#160;&#8211;&#160;1.15%</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;;text-align:center;">1.55 &#8211; 2.56%</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;;text-align:center;">2.63 &#8211; 2.96%</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Expected dividend yield</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;;text-align:center;">0%</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;;text-align:center;">0%</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;;text-align:center;">0%</td></tr></table> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Information regarding option activity for the year ended December&#160;31, 2020 under the Plans is summarized below: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 47%;"/>
<td style="width: 5%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 5%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 5%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 5%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Shares</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Weighted</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">average</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">exercise</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">price</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Weighted-</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Average</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Remaining</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Contractual</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Term</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(in Years)</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Aggregate</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Intrinsic</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Value</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(in&#160;Thousands)</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Options outstanding at December&#160;31, 2019</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">957,559</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">30.81</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Granted</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">79,698</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">115.81</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Exercised</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">(340,546</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">23.95</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Forfeited/expired/cancelled</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">$</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Options outstanding at December&#160;31, 2020</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">696,711</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">43.88</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">6.90</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">102,958</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Options exercisable at December&#160;31, 2020</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">311,988</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">31.75</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">5.91</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">49,879</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Vested and expected to vest at December&#160;31, 2020<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">(1)</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">667,220</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">6.86</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">99,096</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"/> <div style="width: 11%; line-height: 8pt; margin-top: 0pt; margin-bottom: 2pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%; vertical-align: top;;text-align:left;">(1)</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;">Represents the number of vested options as of December&#160;31, 2020 plus the number of unvested options expected to vest as of December&#160;31, 2020 based on the unvested outstanding options at December&#160;31, 2020 adjusted for estimated forfeiture rates of 8% for awards granted to <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-executive</div> level employees and 3% for awards granted to executive level employees. </div> </td> </tr> </table>  <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">The aggregate intrinsic value in the table above represents the total <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">pre-tax</div> intrinsic value (the difference between the closing price of the common stock on December&#160;31, 2020, the last business day of 2020, of $191.63 per share and the exercise price of each <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">in-the-money</div></div> option) that would have been received by the option holders had all option holders exercised their options on December&#160;31, 2020. The aggregate intrinsic value of stock options exercised during the years ended December&#160;31, 2020, 2019 and 2018 was $36.6&#160;million, $5.5&#160;million and $5.3&#160;million, respectively. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The weighted average grant date fair value of options granted during the years ended December&#160;31, 2020, 2019 and 2018 was $53.06, $31.27 and $18.90, respectively. The total fair value of stock options that vested during the years ended December&#160;31, 2020, 2019 and 2018 was $2.8&#160;million, $3.1&#160;million and $2.3&#160;million, respectively. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The fair value of stock units is calculated using the closing price of the Company&#8217;s common stock on the date of grant. Information regarding stock unit activity, which includes activity for restricted stock units and performance stock units, for the year ended December&#160;31, 2020 under the Plans is summarized below: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 84%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 51%;"/>
<td style="width: 7%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 7%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 7%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Shares</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Weighted-</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Average</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Remaining</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Contractual</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Term</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(in Years)</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Aggregate</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Intrinsic</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Value</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(in&#160;Thousands)</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Unvested at December&#160;31, 2019</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">734,984</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Awarded</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">207,788</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Vested</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">(244,648</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Forfeited/expired/cancelled</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(32,584</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Unvested at December&#160;31, 2020</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">665,540</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">3.32</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">127,904</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Vested and expected to vest at December&#160;31, 2020<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">(1)</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">650,047</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">3.01</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">124,568</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"/> <div style="width: 11%; line-height: 8pt; margin-top: 0pt; margin-bottom: 2pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%; vertical-align: top;;text-align:left;">(1)</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;">Represents the number of vested stock units as of December&#160;31, 2020 plus the number of unvested stock units expected to vest as of December&#160;31, 2020 based on the unvested outstanding stock units at December&#160;31, 2020 adjusted for estimated forfeiture rates of 8% for awards granted to <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-executive</div> level employees and 3% for awards granted to executive level employees. </div> </td> </tr> </table>  <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">The aggregate intrinsic value in the table above represents the total <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">pre-tax</div> intrinsic value (equal to the closing price of the common stock on December&#160;31, 2020, the last business day of 2020, of $191.63 per share, as stock units do not have an exercise price) that would have been received by the stock unit holders had all holders exercised on December&#160;31, 2020. The aggregate intrinsic value of stock units vested during the years ended December&#160;31, 2020, 2019 and 2018 was $28.3&#160;million, $17.5&#160;million and $6.2&#160;million, respectively. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The weighted average grant date fair value of stock units granted during the years ended December&#160;31, 2020, 2019 and 2018 was $109.69, $49.68 and $30.30, respectively. The total fair value of stock units that vested during the years ended December&#160;31, 2020, 2019 and 2018 was $10.8&#160;million, $8.5&#160;million and $4.6&#160;million, respectively. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">As of December&#160;31, 2020, there was $46.7&#160;million of total unrecognized compensation cost related to unvested share-based awards.&#160;This cost is expected to be recognized over a weighted average remaining requisite service period of 3.55 years. The Company expects 1,853,028 unvested options and stock units to vest over the next five years. </div></div> <span></span>
</td>
</tr>
</table>
<div style="display: none;"><table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for shareholders' equity comprised of portions attributable to the parent entity and noncontrolling interest, including other comprehensive income. Includes, but is not limited to, balances of common stock, preferred stock, additional paid-in capital, other capital and retained earnings, accumulated balance for each classification of other comprehensive income and amount of comprehensive income.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(e)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -URI http://asc.fasb.org/topic&amp;trid=2208762<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityNoteDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table></div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<FILENAME>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743797635880">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock', window );">Commitments and Contingencies</a></td>
<td class="text">
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 5%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">11.</div></div></td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Commitments and Contingencies </div></div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"/> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Licensing and Research Agreements </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company licenses certain technologies that are, or may be, incorporated into its technology under several agreements and also has entered into several clinical research agreements that require the Company to fund certain research projects. Generally, the license agreements require the Company to pay annual maintenance fees and royalties on product sales once a product has been established using the technologies. Research and development expenses associated with license agreements were immaterial amounts for the years ended December&#160;31, 2020, 2019 and 2018. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">In September 2018, the Company entered into a collaboration agreement with Sartorius Stedim Biotech (&#8220;SSB&#8221;), a leading international supplier for the biopharmaceutical industry, to integrate our XCell ATF </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">cell retention control technology into Sartorius&#8217;s BIOSTAT<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> STR large-scale, <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">single-use</div> bioreactors to create novel perfusion-enabled bioreactors. As a result of this collaboration, <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">end-users</div> will stand to benefit from a single control system for 50L to 2,000L bioreactors used in perfusion cell culture applications. The single interface is designed to control cell growth, fluid management and cell retention in continuous and intensified bioprocessing and, ultimately, simplify the development and manufacture of biotechnological drugs under current good manufacturing practices. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">In June 2018, the Company secured an agreement with Navigo for the exclusive <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">co-development</div> of multiple affinity ligands for which Repligen holds commercialization rights. The Company is manufacturing and has agreed to supply the first of these ligands, <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">NGL-Impact</div><div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#8482;</div><div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px"> </div>A, exclusively to Purolite Life Sciences (&#8220;Purolite&#8221;), who will pair the Company&#8217;s high-performance ligand with Purolite&#8217;s agarose jetting base bead technology used in their Jetted A50 Protein A resin product. We also signed a long-term supply agreement with Purolite for <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">NGL-Impact</div> A and other potential additional affinity ligands that may advance from the Company&#8217;s Navigo collaboration. The Navigo and Purolite agreements are supportive of the Company&#8217;s strategy to secure and reinforce the Company&#8217;s proteins business. The Company made payments to Navigo of $0.9&#160;million and $1.0&#160;million in the years ended December&#160;31, 2020 and 2019, respectively, in connection with this program, which are recorded to research and development expenses in the Company&#8217;s consolidated statements of comprehensive income. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Purchase Orders, Supply Agreements and Other Contractual Obligations </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">In the normal course of business, the Company has entered into purchase orders and other agreements with manufacturers, distributors and others. Outstanding obligations at December&#160;31, 2020 of $55.3&#160;million are expected to be completed within one year. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Legal Proceedings </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">From time to time, in the normal course of its operations, the Company is subject to litigation matters and claims relating to employee relations, business practices and patent infringement. Litigation can be expensive and disruptive to normal business operations. Moreover, the results of complex legal proceedings are difficult to predict and the Company&#8217;s view of these matters may change in the future as the litigation and events related thereto unfold. The Company expenses legal fees as incurred. The Company records a provision for contingent losses when it is both probable that a liability has been incurred and the amount of the loss can be reasonably estimated. An unfavorable outcome to any legal matter, if material, could have an adverse effect on the Company&#8217;s operations or its financial results. </div></div> <span></span>
</td>
</tr>
</table>
<div style="display: none;"><table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for commitments and contingencies.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -URI http://asc.fasb.org/topic&amp;trid=2127136<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -URI http://asc.fasb.org/topic&amp;trid=2144648<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121559207&amp;loc=d3e25336-109308<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121559207&amp;loc=d3e25336-109308<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table></div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>33
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743797673208">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Convertible Senior Notes<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebtTextBlock', window );">Convertible Senior Notes</a></td>
<td class="text">
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 5%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">12.</div></div></td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Convertible Senior Notes </div></div></div> </td> </tr> </table> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The carrying value of the Company&#8217;s convertible senior notes is as follows: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 66%;"/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">0.375% convertible senior notes due 2024:</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="text-decoration: underline; letter-spacing: 0px; top: 0px;;display:inline;">Convertible senior notes, current portion:</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Principal amount</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">287,500</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">$</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Unamortized debt discount</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(38,317</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Unamortized debt issuance costs</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(5,446</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total convertible senior notes, current portion</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">243,737</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="text-decoration: underline; letter-spacing: 0px; top: 0px;;display:inline;">Convertible senior notes:</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Principal amount</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">287,500</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Unamortized debt discount</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(47,921</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Unamortized debt issuance costs</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(6,812</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total convertible senior notes</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">243,737</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">232,767</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table>  <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">0.375% Convertible Senior Notes due 2024 </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">On July&#160;19, 2019, the Company issued $287.5&#160;million aggregate principal amount of 0.375% Convertible Senior Notes due 2024 (&#8220;2019 Notes&#8221;), which includes the underwriters&#8217; exercise in full of an option to purchase an additional $37.5&#160;million aggregate principal amount of 2019 Notes (the &#8220;Notes Offering&#8221;). The net proceeds of the Notes Offering, after deducting underwriting discounts and commissions and other related offering expenses payable by the Company, were approximately $278.5&#160;million. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The 2019 Notes are senior, unsecured obligations of the Company, and bear interest at a rate of 0.375% per year. Interest is payable semi-annually in arrears on January 15 and July 15 of each year, beginning on January 15, 2020.<div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div>The 2019 Notes will mature on<div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div>July 15, 2024, unless earlier repurchased or converted in accordance with their terms. The initial conversion rate for the 2019 Notes is 8.6749 shares of the Company&#8217;s common stock per $1,000 principal amount of 2019 Notes (which is equivalent to an initial conversion price of approximately $115.28 per share). Prior to the close of business on the business day immediately preceding April&#160;15, 2024, the 2019 Notes will be convertible at the option of the holders of 2019 Notes only upon the satisfaction of specified conditions and during certain periods. Thereafter until the close of business on the second scheduled trading day immediately preceding the maturity date, the 2019 Notes will be convertible at the options of the holders of 2019 Notes at any time regardless of these conditions. Conversion of the 2019 Notes will be settled in cash, shares of the Company&#8217;s common stock or a combination thereof, at the Company&#8217;s election. The 2019 Notes are not redeemable by the Company prior to maturity. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Holders of 2019 Notes may require the Company to repurchase their 2019 Notes upon the occurrence of a fundamental change prior to maturity at a repurchase price equal to 100% of the principal amount thereof, plus accrued and unpaid interest to, but excluding, the date of repurchase. In connection with certain corporate events, the Company will, under certain circumstances, increase the conversion rate for holders of 2019 Notes who elect to convert their 2019 Notes in connection with such corporate events. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">During the fourth quarter of 2020, the closing price of the Company&#8217;s common stock exceeded 130% of the conversion price of the 2019 Notes for more than 20 trading days of the last 30 consecutive trading </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">days of the quarter. As a result, the 2019 Notes are convertible at the option of the holders of the 2019 Notes during the first quarter of 2021, the quarter immediately following the quarter when the conditions are met, as stated in the terms of the 2019 Notes. Expecting to continue meeting these terms, the Company reclassified the carrying value of the 2019 Notes from long-term liabilities to current liabilities on the Company&#8217;s balance sheet as of December 31, 2020. As of the date of this filing, the Company received requests to convert $3,000 aggregate principal amount of 2019 Notes which we intend to pay or deliver, as the case may be, the settlement amount to be determined &#8211; paying the amount in excess of the aggregate principal portion of the converted notes in shares of our common stock. These conversions will be settled during the first quarter of 2021. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company accounts for the 2019 Notes as separate liability and equity components. The Company determined the carrying amount of the liability component as the present value of its cash flows using a discount rate of 4.5% based on comparative convertible transactions for similar companies. The proceeds allocated to the debt conversion feature were $52.1&#160;million. This amount was calculated by deducting the carrying value of the liability component from the principal amount of the 2019 Notes as a whole. The difference represents a debt discount that is amortized to interest expense on the Company&#8217;s consolidated statements of comprehensive income over the term of the 2019 Notes using the effective interest rate method. The Company will assess the equity classification of the cash conversion feature quarterly, and it is not remeasured as long as it continues to meet the conditions for equity classification. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company allocates transaction costs related to the issuance of the 2019 Notes to the liability and equity components using the same proportions as the initial carrying value of the 2019 Notes. Transaction costs related to the liability component were $7.4&#160;million and are being amortized to interest expense using the effective interest method over the term of the 2019 Notes. Transaction costs attributable to the equity component were $1.6&#160;million and are netted with the equity component of the 2019 Notes in stockholders&#8217; equity of the Company&#8217;s consolidated balance sheet at December&#160;31, 2020. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Interest expense recognized on the 2019 Notes in 2020 was $1.1&#160;million, $9.6&#160;million and $1.4&#160;million for the contractual coupon interest, the accretion of the debt discount and the amortization of the debt issuance costs, respectively. The effective interest rate on the 2019 Notes is 5.1%, which included the interest on the 2019 Notes, amortization of the debt discount and debt issuance costs. As of December&#160;31, 2020, the carrying value of the 2019 Notes was $243.7&#160;million and the fair value of the principal was $501.0&#160;million.&#160;The fair value of the 2019 Notes was determined based on the most recent trade activity of the 2019 Notes as of December&#160;31, 2020. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The 2019 Notes agreement contains customary terms and events of default. If an event of default (other than certain events of bankruptcy, insolvency or reorganization involving the Company) occurs and is continuing, the holders of at least 25% in aggregate principal amount of the outstanding 2019 Notes may declare 100% of the principal of, and any accrued and unpaid interest on, all of the 2019 Notes to be due and payable. Upon the occurrence of certain events of bankruptcy, insolvency or reorganization involving the Company, 100% of the principal of and accrued and unpaid interest, if any, on all of the 2019 Notes will become due and payable automatically. Notwithstanding the foregoing, the 2019 Notes provide that, to the extent the Company elects and for up to 270 days, the sole remedy for an event of default relating to certain failures by the Company to comply with certain reporting covenants consist exclusively of the right to receive additional interest on the 2019 Notes. The Company is not aware of any events of default, current events or market conditions that would allow holders to call or convert the 2019 Notes as of December&#160;31, 2020. </div></div>  <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Conversion of the 2.125% Convertible Senior Notes due 2021 </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company utilized a portion of the proceeds from the issuance of the 2019 Notes to settle its outstanding 2.125% Convertible Senior Notes due 2021 (the &#8220;2016 Notes&#8221;) during the third quarter of 2019. On July&#160;16, 2019, the Company entered into separate privately negotiated agreements with certain holders of the 2016 Notes to exchange an aggregate of $92.0&#160;million principal aggregate amount of the 2016 Notes for shares of the Company&#8217;s common stock, together with cash, in private placement transactions (the &#8220;Note Exchanges&#8221;). On July&#160;19, 2019 and July&#160;22, 2019, the Company used approximately $92.3&#160;million (including $0.3&#160;million of accrued interest) and 1,850,155 shares of its common stock valued at $161.0&#160;million to settle the Note Exchanges for total consideration of $253.3&#160;million, of which $163.6&#160;million was allocated to reacquiring the equity component of the 2016 Notes. The Company allocated the consideration transferred to the liability and equity components using the same proportions as the initial carrying value of the 2016 Notes. The transaction resulted in a loss on extinguishment of debt of $4.6&#160;million in the Company&#8217;s consolidated statements of comprehensive income in 2019. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">On July&#160;19, 2019, the Company issued a Notice of Redemption in respect of the 2016 Notes, which provided that, on September&#160;23, 2019, the Company would redeem all 2016 Notes that had not been converted, repurchased or exchanged prior to such date at a redemption price in cash equal to 100% of the principal amount thereof plus accrued and unpaid interest. On September&#160;23, 2019, the Company used $23.0&#160;million and 466,045 shares of its common stock valued at $37.8&#160;million to settle the remaining 2016 Notes for a total of $60.8&#160;million, of which $38.3&#160;million was allocated to reacquiring the equity component of the 2016 Notes. This transaction resulted in a loss on extinguishment of debt of $1.1&#160;million recorded on the Company&#8217;s consolidated statements of comprehensive income. The total loss in 2019 of $5.7&#160;million represents the difference between the fair value of the liability component of the 2016 Notes and its related carrying value immediately before the exchange. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Interest expense recognized on the 2016 Notes in 2019 prior to conversion was $1.3&#160;million, $2.4&#160;million and $0.4&#160;million for the contractual coupon interest, the accretion of the debt discount and the amortization of the debt issuance costs, respectively. The effective interest rate on the 2016 Notes was 6.6%, which included the interest on the 2016 Notes, amortization of the debt discount and debt issuance costs. </div></div> <span></span>
</td>
</tr>
</table>
<div style="display: none;"><table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for long-term debt.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -URI http://asc.fasb.org/topic&amp;trid=2208564<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table></div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>34
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743797505352">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accumulated Other Comprehensive Income (Loss)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNoteTextBlock', window );">Accumulated Other Comprehensive Income (Loss)</a></td>
<td class="text">
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 5%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">13.</div></div></td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accumulated Other Comprehensive Income (Loss) </div></div></div> </td> </tr> </table> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Changes in accumulated other comprehensive income (loss) consisted of the following for the years ended December&#160;31, 2020 and 2019 (amounts in thousands): </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 68%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 80%;"/>
<td style="width: 9%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Foreign<br/> Currency<br/> Translation<br/> Adjustment</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Balance as of December&#160;31, 2018</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(11,893</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Other comprehensive loss</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(3,134</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Balance as of December&#160;31, 2019</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(15,027</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Other comprehensive income</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">17,112</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Balance as of December&#160;31, 2020</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">2,085</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <span></span>
</td>
</tr>
</table>
<div style="display: none;"><table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNoteTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for comprehensive income, which includes, but is not limited to, 1) the amount of income tax expense or benefit allocated to each component of other comprehensive income, including reclassification adjustments, 2) the reclassification adjustments for each classification of other comprehensive income and 3) the ending accumulated balances for each component of comprehensive income.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -URI http://asc.fasb.org/topic&amp;trid=2134417<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNoteTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table></div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>35
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743797655112">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Employee Benefit Plans<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CompensationAndEmployeeBenefitPlansTextBlock', window );">Employee Benefit Plans</a></td>
<td class="text">
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 5%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">14.</div></div></td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Employee Benefit Plans </div></div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"/> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">In the United States, the Repligen Corporation 401(k) Savings and Retirement Plan (the &#8220;401(k) Plan&#8221;) is a qualified defined contribution plan in accordance with Section&#160;401(k) of the Internal Revenue Code. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">All U.S. employees over the age of 21 are eligible to make <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">pre-tax</div> contributions up to a specified percentage of their compensation. Under the 401(k) Plan, the Company may, but is not obligated to match a portion of the employees&#8217; contributions up to a defined maximum. The match is calculated on a calendar year basis. The Company matched $1.4&#160;million, $1.0&#160;million and $0.7&#160;million in the years ended December&#160;31, 2020, 2019 and 2018, respectively. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">In Sweden, the Company contributes to a government-mandated occupational pension plan that is a qualified defined contribution plan. All employees in Sweden are eligible for this pension plan. The Company pays premiums to a third-party occupational pension specialist who administers the pension plan. These premiums are based on various factors including each employee&#8217;s age, salary, employment history and selected benefits in the pension plan. When an employee terminates or retires, these premium payments cease for that employee and the Company has no further pension-related obligations for that employee. The Company contributed $0.6&#160;million to the defined contribution plan for each of the years ended December&#160;31, 2020, 2019 and 2018. </div></div> <span></span>
</td>
</tr>
</table>
<div style="display: none;"><table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationAndEmployeeBenefitPlansTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for an entity's employee compensation and benefit plans, including, but not limited to, postemployment and postretirement benefit plans, defined benefit pension plans, defined contribution plans, non-qualified and supplemental benefit plans, deferred compensation, share-based compensation, life insurance, severance, health care, unemployment and other benefit plans.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -URI http://asc.fasb.org/topic&amp;trid=2228938<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 712<br> -URI http://asc.fasb.org/topic&amp;trid=2197446<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 710<br> -URI http://asc.fasb.org/topic&amp;trid=2127225<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -URI http://asc.fasb.org/topic&amp;trid=2235017<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationAndEmployeeBenefitPlansTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table></div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>36
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743797448344">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Related Party Transactions<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsDisclosureTextBlock', window );">Related Party Transactions</a></td>
<td class="text">
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 5%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">15.</div></div></td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Related Party Transactions </div></div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"/> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">At December&#160;31, 2020, the Company had an outstanding tax liability of $0.5&#160;million due to the seller of C Technologies. This tax liability was paid subsequent to year end in January 2021 and concluded the remaining tax liability the Company had with the seller due to the 338(h)(10) tax election. The Company paid the seller a total of $0.3&#160;million and $1.6&#160;million related to the tax liability associated with the 338(h)(10) election as of December&#160;31, 2020 and 2019, respectively. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Certain facilities leased by Spectrum, a company the Company acquired in 2017, are owned by Roy Eddleman, the former owner of Spectrum. As of December&#160;31, 2020, Mr.&#160;Eddleman owned greater than 5% of the Company&#8217;s outstanding shares and the Company considers him to be a related party. The lease amounts paid to this shareholder prior to the public offering were negotiated in connection with the Spectrum Acquisition. The Company incurred rent expense totaling $0.7&#160;million for the year ended December&#160;31, 2020 related to these leases. </div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;"><table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -URI http://asc.fasb.org/topic&amp;trid=2122745<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39691-107864<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table></div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>37
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743799944792">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Selected Quarterly Financial Data (Unaudited)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_QuarterlyFinancialInformationTextBlock', window );">Selected Quarterly Financial Data (Unaudited)</a></td>
<td class="text">
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 5%; vertical-align: top;;text-align:left;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">16.</div></div></td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Selected Quarterly Financial Data (Unaudited) </div></div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"/> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following table sets forth certain unaudited quarterly results of operations for 2020 and 2019. In the opinion of management, this information has been prepared on the same basis as the audited consolidated financial statements and all necessary adjustments, consisting only of normal recurring adjustments, have been included in the amounts stated below to present fairly the quarterly information when read in conjunction with the audited consolidated financial statements and notes thereto included elsewhere in this Form 10-K. The quarterly operating results are not necessarily indicative of future results of operations. </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 51%;"/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="14" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended December 31, 2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Q1</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Q2</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Q3</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Q4</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="14" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands, except per share data)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Revenue</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">76,090</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">87,462</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">94,060</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">108,648</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Gross profit</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">44,108</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">50,599</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">54,434</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">60,485</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating expenses</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">64,184</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">67,925</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">73,099</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">91,229</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Net income</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">9,815</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">15,861</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">14,552</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">19,698</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Earnings per share:</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Basic</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">0.19</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">0.30</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">0.28</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">0.37</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Diluted</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">0.18</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">0.30</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">0.27</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">0.36</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr> </table>  <div style="clear: both; max-height: 0px; background: none;"/> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;<div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div></div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 52%;"/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td colspan="14" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended December 31, 2019</div></div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Q1</div></div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Q2</div></div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Q3</div></div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Q4</div></div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td colspan="14" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands, except per share data)</div></div></div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top; font-size: 10pt;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Revenue</div></div></div> </td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">$</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">60,634</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">$</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">70,692</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">$</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">69,445</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">$</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">69,474</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top; font-size: 10pt;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Gross profit</div></div></div> </td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">33,789</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">39,984</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">38,020</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">39,353</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top; font-size: 10pt;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating expenses</div></div></div> </td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">49,463</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">59,638</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">61,481</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">63,580</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top; font-size: 10pt;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Net income</div></div></div> </td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">8,053</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">8,095</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">1,659</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">3,604</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top; font-size: 10pt;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Earnings per share:</div></div></div> </td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top; font-size: 10pt;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Basic</div></div></div> </td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">$</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">0.18</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">$</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">0.17</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">$</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">0.03</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">$</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">0.07</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top; font-size: 10pt;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Diluted</div></div></div> </td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">$</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">0.17</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">$</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">0.17</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">$</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">0.03</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">$</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">0.07</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td> </tr> </table> <span></span>
</td>
</tr>
</table>
<div style="display: none;"><table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_QuarterlyFinancialInformationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for quarterly financial data. Includes, but is not limited to, tabular presentation of financial information for fiscal quarters, effect of year-end adjustments, and an explanation of matters or transactions that affect comparability of the information.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 270<br> -URI http://asc.fasb.org/topic&amp;trid=2126967<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_QuarterlyFinancialInformationTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table></div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>38
<FILENAME>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743805835112">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UseOfEstimates', window );">Use of Estimates</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Use of Estimates </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The preparation of financial statements in conformity with accounting principles generally accepted in the United States (&#8220;GAAP&#8221;) requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting periods. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Significant estimates and assumptions by management affect the Company&#8217;s revenue recognition for multiple element arrangements, allowance for credit losses, the net realizable value of inventory, valuations and purchase price allocations related to business combinations, expected future cash flows including growth rates, discount rates, terminal values and other assumptions and estimates used to evaluate the recoverability of long-lived assets, estimated fair values of intangible assets and goodwill, amortization methods and periods, warranty reserves, certain accrued expenses, stock-based compensation, tax reserves and recoverability of the Company&#8217;s net deferred tax assets and related valuation allowance. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Although the Company regularly assesses these estimates, actual results could differ materially from these estimates. Changes in estimates are recorded in the period in which they become known. The Company bases its estimates on historical experience and various other assumptions that it believes to be reasonable under the circumstances. </div></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock', window );">Basis of presentation</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Basis of Presentation </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">The consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries, Repligen Sweden AB, Repligen GmbH, Spectrum<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">&#174;</div> LifeSciences LLC and its subsidiaries (&#8220;Spectrum&#8221;), C Technologies, Inc. (&#8220;C Technologies&#8221;), Engineered Molding Technology LLC (&#8220;EMT&#8221;), <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Non-Metallic</div> Solutions, Inc. (&#8220;NMS&#8221;), ARTeSYN Biosolutions Holdings Ireland Limited (&#8220;ARTeSYN&#8221;) and Repligen Singapore Pte. Ltd. All significant intercompany accounts and transactions have been eliminated in consolidation. Certain prior year balances have changed to reflect current year presentation. </div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock', window );">Foreign Currency</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Foreign Currency </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company translates the assets and liabilities of its foreign subsidiary at rates in effect at the end of the reporting period. Revenues and expenses are translated at average rates in effect during the reporting period. Translation adjustments, including adjustments related to the Company&#8217;s intercompany loan with Repligen Sweden AB and Repligen Sweden AB&#8217;s intercompany loan with Repligen GmbH, are remeasured at each period end and included in accumulated other comprehensive loss. </div></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueRecognitionPolicyTextBlock', window );">Revenue Recognition</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Revenue Recognition </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">We generate revenue from the sale of bioprocessing products, equipment devices, and related consumables used with these equipment devices to customers in the life sciences and biopharmaceutical industries. Under Accounting Standard Codification No. (&#8220;ASC&#8221;) 606, &#8220;<div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Revenue from Contracts with Customers,&#8221; </div></div>revenue is recognized when, or as, obligations under the terms of a contract are satisfied, which occurs when control of the promised products or services is transferred to customers. Revenue is measured as the amount of consideration the Company expects to receive in exchange for transferring products or services to a customer (&#8220;transaction price&#8221;). To the extent the transaction price includes variable consideration, the Company estimates the amount of variable consideration that should be included in the transaction price utilizing the expected value method or the most likely amount method, depending on the facts and circumstances relative to the contract. Variable consideration is included in the transaction price if, in the Company&#8217;s judgment, it is probable that a significant future reversal of cumulative revenue under the contract will not occur. Estimates of variable consideration and determination of whether to include estimated amounts in the transaction price are based largely on an assessment of the Company&#8217;s anticipated performance and all information (historical, current and forecasted) that is reasonably available. Sales, value add, and other taxes collected on behalf of third parties are excluded from revenue. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">When determining the transaction price of a contract, an adjustment is made if payment from a customer occurs either significantly before or significantly after performance, resulting in a significant financing component. Applying the practical expedient in paragraph <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">606-10-32-18,</div></div></div> the Company does not assess whether a significant financing component exists if the period between when the Company performs its obligations under the contract and when the customer pays is one year or less. None of the Company&#8217;s contracts contained a significant financing component as of December&#160;31, 2020. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Contracts with customers may contain multiple performance obligations. For such arrangements, the transaction price is allocated to each performance obligation based on the estimated relative standalone selling prices of the promised products or services underlying each performance obligation. The Company determines standalone selling prices based on the price at which the performance obligation is sold separately. If the standalone selling price is not observable through past transactions, the Company estimates the standalone selling price taking into account available information such as market conditions and internally approved pricing guidelines related to the performance obligations. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company recognizes product revenue under the terms of each customer agreement upon transfer of control to the customer, which occurs at a point in time. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Shipping and handling fees are recorded as a component of product revenue, with the associated costs recorded as a component of cost of product revenue. </div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock', window );">Risks and Uncertainties</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Risks and Uncertainties </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company evaluates its operations periodically to determine if any risks and uncertainties exist that could impact its operations in the near term. The Company does not believe that there are any significant risks that have not already been disclosed in the consolidated financial statements. A loss of certain suppliers could temporarily disrupt operations, although alternate sources of supply exist for these items. The Company has mitigated these risks by working closely with key suppliers, identifying alternate sources and developing contingency plans. </div></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy', window );">Cash, Cash Equivalents, Restricted Cash and Marketable Securities</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Cash, Cash Equivalents and Restricted Cash </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Cash and cash equivalents include cash on hand and on deposit. Highly liquid investments in money market mutual funds with an original maturity of three months or less are classified as cash equivalents. All cash equivalents are carried at cost, which approximates fair value. Restricted cash represents cash that is restricted as to withdrawal or usage. There was no restriction on the Company&#8217;s cash balance as of December&#160;31, 2020. In connection with the Company&#8217;s acquisition of C Technologies on May&#160;31, 2019, cash was held and due to employees based on their continued employment with the Company one year after the date of the close of the acquisition. As of December&#160;31, 2019, $9.0&#160;million, which represented this amount due to employees, was carried as restricted cash on the Company&#8217;s consolidated balance sheet. Subsequently, during the second quarter of 2020, this $9.0&#160;million was paid to employees. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following is a summary of the Company&#8217;s cash, cash equivalents, and restricted cash total as presented in the Company&#8217;s consolidated statements of cash flows for the years ended December&#160;31, 2020, 2019 and 2018: </div></div><div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 8pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 61%;"/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2018</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Cash and cash equivalents</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">717,292</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">528,392</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">193,822</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Restricted cash</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">9,015</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total cash, cash equivalents, and restricted cash</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">717,292</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">537,407</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">193,822</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table><div style="clear: both; max-height: 0px; background: none;"/><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">There were no realized gains or losses on investments for the years ended December&#160;31, 2020, 2019 and 2018. </div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueMeasurementPolicyPolicyTextBlock', window );">Fair Value Measurement</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Fair Value Measurement </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">In determining the fair value of its assets and liabilities, the Company uses various valuation approaches. The Company employs a hierarchy for inputs used in measuring fair value that maximizes the use of observable inputs and minimizes the use of unobservable inputs by requiring that observable inputs be used when available. Observable inputs are inputs that market participants would use in pricing the asset or liability based on market data obtained from sources independent of the Company. Unobservable inputs are inputs that reflect the Company&#8217;s assumptions about the inputs that market </div></div><div style="font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">participants would use in pricing the asset or liability and are developed based on the best information available in the circumstances. The fair value hierarchy is broken down into three levels based on the source of inputs as follows: </div></div><div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 10%; font-family: ARIAL;"/>
<td style="width: 2%; vertical-align: bottom; font-family: ARIAL;"/>
<td style="width: 89%; font-family: ARIAL;"/></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Level&#160;1&#160;&#8211;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">Valuations based on unadjusted quoted prices in active markets for identical assets or liabilities that the Company has the ability to access.</td></tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt; font-family: ARIAL;">&#160;</td>
<td colspan="2" style="height: 6pt; font-family: ARIAL;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Level&#160;2&#160;&#8211;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">Valuations based on quoted prices for similar assets or liabilities in active markets, quoted prices for identical or similar assets or liabilities in markets that are not active and models for which all significant inputs are observable, either directly or indirectly.</td></tr>
<tr style="font-size: 1pt;">
<td style="height: 6pt; font-family: ARIAL;">&#160;</td>
<td colspan="2" style="height: 6pt; font-family: ARIAL;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Level&#160;3&#160;&#8211;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">Valuations based on inputs that are unobservable and significant to the overall fair value measurement.</td></tr></table><div style="clear: both; max-height: 0px; background: none;"/><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The availability of observable inputs can vary among the various types of financial assets and liabilities. To the extent that the valuation is based on models or inputs that are less observable or unobservable in the market, the determination of fair value requires more judgment. In certain cases, the inputs used to measure fair value may fall into different levels of the fair value hierarchy. In such cases, for financial statement disclosure purposes, the level in the fair value hierarchy within which the fair value measurement is categorized is based on the lowest level input that is significant to the overall fair value measurement. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">As of December&#160;31, 2020 and 2019, cash and cash equivalents on the Company&#8217;s consolidated balance sheets included $549.0&#160;million and $415.6&#160;million, respectively, in money market accounts. These funds are valued on a recurring basis using Level&#160;1 inputs. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">In July 2019, the Company issued $287.5&#160;million aggregate principal amount of the Company&#8217;s 0.375% Convertible Senior Notes due July&#160;15, 2024 (the &#8220;2019 Notes&#8221;). Interest is payable semi-annually in arrears on January&#160;15 and July&#160;15 of each year. The 2019 Notes will mature on July&#160;15, 2024 unless earlier converted or repurchased in accordance with their terms. As of December&#160;31, 2020, the carrying value of the 2019 Notes was $243.7&#160;million, net of unamortized discount, and the fair value of the 2019 Notes was $501.0&#160;million. The fair value of the 2019 Notes is a Level&#160;1 valuation and was determined based on the most recent trade activity of the 2019 Notes as of December&#160;31, 2020. The 2019 Notes are discussed in more detail in Note 12, <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Convertible Senior Notes,&#8221; </div></div>to these consolidated financial statements. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">There were no remeasurements to fair value during the year ended December&#160;31, 2020 of financial assets and liabilities that are not measured at fair value on a recurring basis. </div></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditLossFinancialInstrumentPolicyTextBlock', window );">Allowance for credit losses</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Allowance for credit losses </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We establish an allowance for credit losses through a review of several factors, including historical collection experience, current aging status of the customer accounts, and current financial condition of our customers. Losses are charged against the allowance when the customer accounts are determined to be uncollectible. </div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryPolicyTextBlock', window );">Inventories</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Inventories </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">Inventories relate to the Company&#8217;s bioprocessing business. The Company values inventory at cost or, if lower, net realizable value, using the <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">first-in,</div> <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">first-out</div> method. The Company reviews its inventories at least quarterly and records a provision for excess and obsolete inventory based on its estimates of expected sales volume, production capacity and expiration dates of raw materials, <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">work-in-process</div></div> and finished products. The Company writes down inventory that has become obsolete, inventory that has a </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">cost basis in excess of its expected net realizable value, and inventory in excess of expected requirements to cost of product revenue. Manufacturing of bioprocessing finished goods is done to order and tested for quality specifications prior to shipment. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">A change in the estimated timing or amount of demand for the Company&#8217;s products could result in additional provisions for excess inventory quantities on hand. Any significant unanticipated changes in demand or unexpected quality failures could have a significant impact on the value of inventory and reported operating results. During all periods presented in the accompanying financial statements, there have been no material adjustments related to a revised estimate of inventory valuations. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Work-in-process</div></div> and finished products inventories consist of material, labor, outside processing costs and manufacturing overhead. </div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LoansAndLeasesReceivableLeaseFinancingPolicy', window );">Lease Accounting</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Lease Accounting </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">The Company adopted ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2016-02,</div> <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Leases (Topic 842)</div></div>&#8221; (&#8220;ASC 842&#8221;) as of January&#160;1, 2019. Under ASC 842, the Company determines whether the arrangement contains a lease at the inception of an arrangement. If a lease is identified in an arrangement, the Company recognizes a <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">right-of-use</div></div> asset and liability on its consolidated balance sheet and determines whether the lease should be classified as a finance or operating lease. The Company does not recognize assets or liabilities for leases with lease terms of less than 12 months. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">A lease qualifies as a finance lease if any of the following criteria are met at the inception of the lease: (i)&#160;there is a transfer of ownership of the leased asset to the Company by the end of the lease term, (ii)&#160;the Company holds an option to purchase the leased asset that it is reasonably certain to exercise, (iii)&#160;the lease term is for a major part of the remaining economic life of the leased asset, (iv)&#160;the present value of the sum of lease payments equals or exceeds substantially all of the fair value of the leased asset, or (v)&#160;the nature of the leased asset is specialized to the point that it is expected to provide the lessor no alternative use at the end of the lease term. All other leases are recorded as operating leases. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Finance and operating lease assets and liabilities are recognized at the lease commencement date based on the present value of the lease payments over the lease term using the discount rate implicit in the lease. If the rate implicit is not readily determinable, the Company utilizes its incremental borrowing rate at the lease commencement date. Operating lease assets are further adjusted for prepaid or accrued lease payments. Operating lease payments are expensed using the straight-line method as an operating expense over the lease term. Finance lease assets are amortized to depreciation expense using the straight-line method over the shorter of the useful life of the related asset or the lease term. Finance lease payments are bifurcated into (i)&#160;a portion that is recorded as imputed interest expense and (ii)&#160;a portion that reduces the finance liability associated with the lease. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">The Company does not separate lease and <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-lease</div> components when determining which lease payments to include in the calculation of its lease assets and liabilities. Variable lease payments are expensed as incurred. If a lease includes an option to extend or terminate the lease, the Company reflects the option in the lease term if it is reasonably certain it will exercise the option. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Finance leases are recorded in property, plant and equipment, net, other current liabilities and long-term finance lease liabilities and operating leases are recorded in operating lease right of use assets, operating lease liability and operating lease liability, long-term on the Company&#8217;s consolidated balance sheet. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Certain of the Company&#8217;s operating leases where the Company is the lessee provide for minimum annual payments that increase over the life of the lease. Some of these leases include obligations to pay </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">for other services, such as operations and maintenance. For leases of property, the Company accounts for these other services as a component of the lease. The aggregate minimum annual payments are expensed on the straight-line basis beginning when the Company takes possession of the property and extending over the term of the related lease, including renewal options when the exercise of the option is reasonably assured as an economic penalty may be incurred if the option is not exercised. The Company also accounts in its straight-line computation for the effect of any &#8220;rental holidays.&#8221; </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease assets represent the Company&#8217;s right to use an underlying asset for the lease term and lease liabilities represent the Company&#8217;s obligation to make lease payments arising from the lease. Operating lease assets and liabilities are recognized at the lease commencement date based on the estimated present value of the fixed lease payments, reduced by landlord incentives using a discount rate based on similarly secured borrowings available to the Company. Most of the leases do not provide implicit interest rates and therefore the Company determines the discount rate based on its incremental borrowing rate. The incremental borrowing rate for the Company&#8217;s leases is determined based on lease term and currency in which the lease payments are made. </div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_AccruedLiabilitiesPolicyTextBlock', window );">Accrued Liabilities</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Accrued Liabilities </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company estimates accrued liabilities by identifying services performed on the Company&#8217;s behalf, estimating the level of service performed and determining the associated cost incurred for such service as of each balance sheet date. For example, the Company would accrue for professional and consulting fees incurred with law firms, audit and accounting service providers and other third-party consultants. These expenses are determined by either requesting those service providers to estimate unbilled services at each reporting date for services incurred or tracking costs incurred by service providers under fixed fee arrangements. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company has processes in place to estimate the appropriate amounts to record for accrued liabilities, which principally involve the applicable personnel reviewing the services provided. In the event that the Company does not identify certain costs that have begun to be incurred or the Company under or over-estimates the level of services performed or the costs of such services, the reported expenses for that period may be too low or too high. The date on which certain services commence, the level of services performed on or before a given date, and the cost of such services often require the exercise of judgment. The Company makes these judgments based upon the facts and circumstances known at the date of the financial statements. </div></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxPolicyTextBlock', window );">Income Taxes</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Income Taxes </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">Deferred taxes are determined based on the difference between the financial statement and tax basis of assets and liabilities using enacted tax rates in effect in the years in which the differences are expected to reverse. Valuation allowances are provided, if, based upon the weight of available evidence, it is more likely than not that some or all of the deferred tax assets will not be realized. The Company accounts for uncertain tax positions using a <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">&#8220;more-likely-than-not&#8221;</div> threshold for recognizing and resolving uncertain tax positions. The evaluation of uncertain tax positions is based on factors including, but not limited to, changes in tax law, the measurement of tax positions taken or expected to be taken in tax returns, the effective settlement of matters subject to audit, new audit activity and changes in facts or circumstances related to a tax position. The Company evaluates this tax position on a quarterly basis. The Company also accrues for potential interest and penalties related to unrecognized tax benefits in income tax expense. </div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock', window );">Property, Plant &amp; Equipment</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Property, Plant&#160;&amp; Equipment </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Property, plant&#160;&amp; equipment is recorded at cost less allowances for depreciation. Depreciation is calculated using the straight-line method over the estimated useful life of the asset as follows: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 42%; font-family: ARIAL;"/>
<td style="width: 2%; vertical-align: bottom; font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; white-space: nowrap;"> <div style="font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: table-cell; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Classification</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:center;"> <div style="text-align: center; font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: inline-block; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Estimated&#160;Useful&#160;Life</div></div></div> </td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: bottom;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Buildings</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">Thirty years</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Leasehold&#160;improvements</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">Shorter of the term of the lease or estimated useful life</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: bottom;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Equipment</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><span style="-sec-ix-hidden:hidden18476318">Three</span> to twelve years</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Furniture, fixtures and office equipment</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><span style="-sec-ix-hidden:hidden18476319">Three</span> to eight years</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: bottom;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Computer hardware and software</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><span style="-sec-ix-hidden:hidden18476320">Three</span> to seven years or estimated useful life</td> </tr> </table>  <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Upon disposal of property, plant&#160;&amp; equipment, the cost of the asset and the accumulated depreciation are removed from the accounts and the resulting gain or loss is reflected in our results of operations. Fully depreciated assets are not removed from the accounts until they are physically disposed of. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Certain systems development costs related to the purchase, development and installation of computer software developed or obtained for internal use are capitalized and depreciated over the estimated useful life of the related project. Costs incurred prior to the development stage, as well as maintenance, training costs, and general and administrative expenses are expensed as incurred. </div></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerSharePolicyTextBlock', window );">Earnings Per Share</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Earnings Per Share </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">Basic earnings per share is computed by dividing net income available to common shareholders by the weighted average number of common shares outstanding during the period. Diluted earnings per share is computed by dividing net income available to common shareholders by the weighted-average number of common shares and dilutive common share equivalents then outstanding. Potential common share equivalents consist of restricted stock awards and the incremental common shares issuable upon the exercise of stock options and warrants. Under the treasury stock method, unexercised <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">&#8220;in-the-money&#8221;</div></div> stock options are assumed to be exercised at the beginning of the period or at issuance, if later. The assumed proceeds are then used to purchase common shares at the average market price during the period. In periods when the Company has a net loss, stock awards are excluded from the calculation of earnings per share as their inclusion would have an antidilutive effect. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">A reconciliation of basic and diluted share amounts is as follows: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 73%;"/>
<td style="width: 2%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 2%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 2%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended<br/> December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2020&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2019&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2018&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td colspan="10" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts&#160;in&#160;thousands,&#160;except<br/> per&#160;share&#160;data)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Net income</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">59,926</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">21,411</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">16,617</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Weighted average shares used in computing net income per share - basic</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">52,554</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">48,343</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">43,767</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Effect of dilutive shares:</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Options and stock units</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">971</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">864</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">581</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Convertible senior notes</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">367</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,123</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Dilutive potential common shares</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,338</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">864</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,704</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Weighted average shares used in computing net income per share - diluted</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">53,892</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">49,206</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">45,471</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Earnings per share:</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Basic</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">1.14</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">0.44</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">0.38</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Diluted</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">1.11</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">0.44</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">0.37</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table>  <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">At December&#160;31, 2020, there were outstanding options to purchase 696,711 shares of the Company&#8217;s common stock at a weighted average exercise price of $43.88 per share and 665,540 shares of common stock issuable upon the vesting of stock units which include restricted stock units and performance stock units. For the year ended December&#160;31, 2020, 98,048 shares of the Company&#8217;s common stock were excluded from the calculation of diluted earnings per share because they would have had an anti-dilutive effect. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">At December&#160;31, 2019, there were outstanding options to purchase 957,559 shares of the Company&#8217;s common stock at a weighted average exercise price of $30.81 per share and 734,984 shares of common stock issuable upon the vesting of stock units. For the year ended December&#160;31, 2019, 104,316 shares of the Company&#8217;s common stock were excluded from the calculation of diluted earnings per share because the exercise prices of the stock options were greater than or equal to the average price of the common shares and were therefore, anti-dilutive. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">At December&#160;31, 2018, there were outstanding options to purchase 998,226 shares of the Company&#8217;s common stock at a weighted average exercise price of $27.54 per share and 705,413 shares of common stock issuable upon the vesting of stock units. For the year ended December&#160;31, 2017, 479,854 shares of the Company&#8217;s common stock were excluded from the calculation of diluted earnings per share because the exercise prices of the stock options were greater than or equal to the average price of the common shares and were therefore, anti-dilutive. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">As provided by the terms of the indenture underlying the senior convertible notes, the Company has a choice to settle the conversion obligation for the 2019 Notes in cash, shares or any combination of the two.&#160;The Company currently intends to settle the par value of the 2019 Notes in cash and any excess conversion premium in shares. The Company applies the provisions of ASC 260, <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Earnings Per Share&#8221;,</div></div> Subsection <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">10-45-44,</div></div> to determine the diluted weighted average shares outstanding as it relates to the conversion spread on its convertible notes. Accordingly, the par value of the 2019 Notes is not included in the calculation of diluted income per share, but the dilutive effect of the conversion premium is considered in the calculation of diluted net income per share using the treasury stock method. The dilutive impact of the 2019 Notes is based on the difference between the Company&#8217;s current period average stock price and the conversion price of the convertible notes, provided there is a premium. Pursuant to this accounting standard, there is no dilution from the accreted principal of the 2019 Notes. For the years ended December&#160;31, 2020 and 2019, the dilutive effect of the conversion premium included in the calculation of diluted earnings was 366,534 shares and 1,123,139 shares, respectively. There was no dilutive effect of the conversion premium included in the calculation of diluted earnings per share for the year ended December&#160;31, 2019. </div> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingPolicyPolicyTextBlock', window );">Segment Reporting</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Segment Reporting </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company views its operations, makes decisions regarding how to allocate resources and manages its business as one reportable segment and one reporting unit. As a result, the financial information disclosed herein represents all of the material financial information related to the Company. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 4%;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following table represents product revenues by product line: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 61%;"/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:7.5px">(1)</div></div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:7.5px">(2)</div></div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2018</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Filtration products</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">174,896</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">119,534</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">90,586</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Chromatography products</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">73,551</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">64,635</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">45,326</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Process analytics products</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">33,346</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">16,405</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Proteins products</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">80,732</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">65,124</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">54,375</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Other</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">3,611</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">4,399</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">3,604</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total product revenue</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">366,136</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">270,097</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">193,891</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"/> <div style="width: 11%; line-height: 8pt; margin-top: 0pt; margin-bottom: 2pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%; vertical-align: top;;text-align:left;">(1)</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2020 revenue for filtration products includes revenue related to EMT from July&#160;13, 2020, NMS from October&#160;20, 2020 and ARTeSYN from December&#160;3, 2020. </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"/>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%; vertical-align: top;;text-align:left;">(2)</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2019 revenue for process analytics products includes revenue related to C Technologies from May&#160;31, 2019 through December&#160;31, 2019. </div></div> </td> </tr> </table>  <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Revenue from filtration products includes the XCell ATF systems and consumables as well as the KrosFlo and SIUS filtration products. Revenue from chromatography products includes the OPUS chromatography PPCs, chromatography resins and ELISA test kits. Revenue from process analytics products includes the SoloVPE and FlowVPE devices. Revenue from protein products includes the Protein A affinity ligands and cell culture growth factors. Other revenue primarily consists of revenue from the sale of operating room products to hospitals as well as freight revenue. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following table represents the Company&#8217;s total revenue by geographic area (based on the location of the customer): </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 57%;"/>
<td style="width: 11%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 10%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 10%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended<br/> December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2020&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2019&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2018&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Revenue by customers&#8217; geographic locations:</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">North America</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">48</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">51</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">48</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Europe</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">38</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">37</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">40</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">APAC/Other</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">14</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">12</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">12</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total revenue</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">100</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">100</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">100</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following table represents the Company&#8217;s total assets by geographic area: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 60%;"/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total assets by geographic locations:</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">North America</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">1,697,149</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">1,260,217</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Europe</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">188,698</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">133,599</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">APAC</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">17,040</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">6,297</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total assets by geographic location</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">1,902,887</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">1,400,113</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following table represents the Company&#8217;s long-lived assets by geographic area: </div></div><div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 70%;"/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in<br/> thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Long-lived assets by geographic locations:</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">North America</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">78,429</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">66,756</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Europe</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">12,918</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">6,775</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">APAC</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,272</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">869</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total long-lived assets by geographic location</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">92,619</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">74,400</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskCreditRisk', window );">Concentrations of Credit Risk and Significant Customers</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Concentrations of Credit Risk and Significant Customers </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Financial instruments that subject the Company to significant concentrations of credit risk primarily consist of cash and cash equivalents, marketable securities and accounts receivable. Per the Company&#8217;s investment policy, cash equivalents and marketable securities are invested in financial instruments with high credit ratings and credit exposure to any one issue, issuer (with the exception of U.S. Treasury obligations) and type of instrument is limited. At December&#160;31, 2020 and 2019, the Company had no investments associated with foreign exchange contracts, options contracts or other foreign hedging arrangements. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">Concentration of credit risk with respect to accounts receivable is limited to customers to whom the Company makes significant sales. While a reserve for the potential <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">write-off</div> of accounts receivable is maintained, the Company has not written off any significant accounts to date. To control credit risk, the Company performs regular credit evaluations of its customers&#8217; financial condition. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Revenue from significant customers that represent 10% or more of the Company&#8217;s total revenue is as follows: </div></div><div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 8pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 57%;"/>
<td style="width: 13%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 12%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 12%; vertical-align: bottom;"/>
<td/>
<td/>
<td/></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended<br/> December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2020&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2019&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2018&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">MilliporeSigma</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">11</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">13</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">15</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Cytiva (formerly GE Healthcare)</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">N/A</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">12</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">15</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td></tr></table><div style="clear: both; max-height: 0px; background: none;"/><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Significant accounts receivable balances representing 10% or more of the Company&#8217;s total trade accounts receivable and royalties and other receivable balances at December&#160;31, 2020 and 2019, include the accounts receivable balance with Cytiva (formerly GE Healthcare), which represented 11% and 18%, respectively of the Company&#8217;s total trade accounts receivable and royalties and other receivable balances. </div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock', window );">Business Combinations, Goodwill and Intangible Assets</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Business Combinations, Goodwill and Intangible Assets </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Business Combinations </div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total consideration transferred for acquisitions is allocated to the tangible and intangible assets acquired and liabilities assumed, if any, based on their fair values at the dates of acquisition. This purchase price allocation process requires management to make significant estimates and assumptions with respect to intangible assets and deferred revenue. The fair value of identifiable intangible assets is based on detailed valuations that use information and assumptions determined by management. Any excess of purchase price over the fair value of the net tangible and intangible assets acquired is allocated to </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">goodwill. While the Company uses its best estimates and assumptions to accurately value assets acquired and liabilities assumed at the acquisition date as well as any contingent consideration, where applicable, that the Company&#8217;s estimates are inherently uncertain and subject to refinement. As a result, during the measurement period, which may be up to one year from the acquisition date, the Company records adjustments to the assets acquired and liabilities assumed with the corresponding offset to goodwill. Upon conclusion of the measurement period or final determination of the values of assets acquired or liabilities assumed, whichever comes first, any subsequent adjustments are recorded to the Company&#8217;s consolidated statements of comprehensive income. Any excess of the fair value of the net tangible and intangible assets acquired over the purchase price is recognized in the consolidated statements of comprehensive income. The fair value of contingent consideration includes estimates and judgments made by management regarding the probability that future contingent payments will be made and the extent of royalties to be earned in excess of the defined minimum royalties. Management updates these estimates and the related fair value of contingent consideration at each reporting period. During the measurement period, these changes in the fair value of contingent consideration are recorded to goodwill. Subsequent to the end of the measurement period, they will be recorded in the consolidated statements of comprehensive income. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">The Company uses the income approach to determine the fair value of certain identifiable intangible assets including customer relationships and developed technology. This approach determines fair value by estimating <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">after-tax</div> cash flows attributable to these assets over their respective useful lives and then discounting these <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">after-tax</div> cash flows back to a present value. The Company bases its assumptions on estimates of future cash flows, expected growth rates, expected trends in technology, etc. Discount rates used to arrive at a present value as of the date of acquisition are based on the time value of money and certain industry-specific risk factors. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Goodwill </div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Goodwill is not amortized and is reviewed for impairment at least annually at the reporting unit level. As of December&#160;31, 2018, the Company concluded that it operated as two reporting units and performed the 2018 goodwill impairment test using two reporting units. In 2019, the Company reorganized its reporting structure and changed the way the CODM views the Company&#8217;s operations and allocates its resources. Accordingly, the Company operates as one reporting unit as of the goodwill impairment measurement date of December&#160;31, 2020. During the qualitative assessment of the Company&#8217;s one reporting unit during the 2020 goodwill impairment testing, it was determined that it was not more likely than not that its fair value was less than its carrying amount. As such, a quantitative impairment assessment was not required as of December&#160;31, 2020. If an event occurs or circumstances change that would more likely than not reduce the fair value of its reporting unit below its carrying value, the Company will evaluate its goodwill for impairment between annual tests. There was no impairment to goodwill and therefore no impairment charge recorded for the year ended December&#160;31, 2019. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Intangible Assets </div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Intangible assets with a definite life are amortized over their useful lives using the straight-line method and the amortization expense is recorded within cost of product revenue, research and development and selling, general and administrative expense in the consolidated statements of comprehensive income. Intangible assets and their related useful lives are reviewed at least annually to determine if any adverse conditions exist that would indicate the carrying value of these assets may not be recoverable. More frequent impairment assessments are conducted if certain conditions exist, including a change in the competitive landscape, any internal decisions to pursue new or different technology strategies, a loss of a significant customer, or a significant change in the marketplace, including changes in the prices paid for the Company&#8217;s products or changes in the size of the market for the Company&#8217;s products. If impairment indicators are present, the Company determines whether the underlying intangible asset is </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">recoverable through estimated future undiscounted cash flows. If the asset is not found to be recoverable, it is written down to the estimated fair value of the asset based on the sum of the future discounted cash flows expected to result from the use and disposition of the asset. If the estimate of an intangible asset&#8217;s remaining useful life is changed, the remaining carrying amount of the intangible asset is amortized prospectively over the revised remaining useful life. The Company continues to believe that its definite-lived intangible assets are recoverable at December&#160;31, 2020. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Indefinite-lived intangible assets are reviewed for impairment at least annually. There has been no impairment of our intangible assets for the periods presented. </div></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy', window );">Stock Based Compensation</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Stock Based Compensation </div></div></div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company measures stock-based compensation cost at the grant date based on the estimated fair value of the award and recognizes it as expense over the employee&#8217;s requisite service period on a straight-line basis. The Company records the expense for share-based awards subject to performance-based milestone vesting over the remaining service period when management determines that achievement of the milestone is probable. Management evaluates whether the achievement of a performance-based milestone is probable as of the reporting date. The Company has no awards that are subject to market conditions. The Company recognizes stock-based compensation expense based upon options that are ultimately expected to vest, and accordingly, such compensation expense has been adjusted by an amount of estimated forfeitures. </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company uses the Black-Scholes option pricing model to calculate the fair value of share-based awards on the grant date.&#160;The following assumptions are used in calculating the fair value of share-based awards: </div></div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Expected term</div></div> &#8211; The expected term of options granted represents the period of time for which the options are expected to be outstanding. For purposes of estimating the expected term, the Company has aggregated all individual option awards into one group as the Company does not expect substantial differences in exercise behavior among its employees. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Expected volatility</div></div> &#8211; The expected volatility is a measure of the amount by which the Company&#8217;s stock price is expected to fluctuate during the expected term of options granted. The Company determines the expected volatility based primarily upon the historical volatility of the Company&#8217;s common stock over a period commensurate with the option&#8217;s expected term. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Risk-free interest rate</div></div> &#8211; The risk-free interest rate is the implied yield available on U.S. Treasury <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">zero-coupon</div> issues with a remaining term equal to the option&#8217;s expected term on the grant date. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Expected dividend yield</div></div> &#8211; The Company has never declared or paid any cash dividends on any of its capital stock and does not expect to do so in the foreseeable future.&#160;Accordingly, the Company uses an expected dividend yield of zero to calculate the grant-date fair value of a stock option. </div><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Estimated forfeiture rates</div></div> &#8211; The Company has applied, based on an analysis of its historical forfeitures, annual forfeiture rates of 8% for awards granted to <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-executive</div> level employees, 3% for awards granted to executive level employees and 0% for awards granted to <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-employee</div> members of the Board of Directors to all unvested stock options as of December&#160;31, 2020. The Company reevaluates this analysis periodically and adjusts these estimated forfeiture rates as necessary. Ultimately, the Company will only recognize an expense for those shares that vest. </div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdvertisingCostsPolicyTextBlock', window );">Advertising Costs</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Advertising Costs </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company expenses advertising costs as they are incurred. Advertising expense for the years ended December&#160;31, 2020, 2019 and 2018 was $0.3&#160;million, $0.1&#160;million and $0.2&#160;million, respectively. </div></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">Recent Accounting Standards Updates</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-weight:bold;display:inline;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Recent Accounting Standards Updates </div></div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">We consider the applicability and impact of all Accounting Standards Updates on the Company&#8217;s consolidated financial statements. Updates not listed below were assessed and determined to be either not applicable or are expected to have minimal impact on the Company&#8217;s consolidated financial position or results of operations. Recently issued Accounting Standards Updates that we feel may be applicable to the Company are as follows: </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Recently Issued Accounting Standard Updates &#8211; Adopted During the Period </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">On May&#160;21, 2020, the SEC announced that it would adopt amendments to the financial disclosure requirements for acquisitions and dispositions of businesses in Rules <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">3-05,</div> <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">3-14,</div> <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">8-04,</div> <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">8-05,</div> <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">8-06,</div> and Article 11 of Regulation <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">S-X,</div> all of which relate to financial statement disclosure requirements. In conjunction with the changes to amendments to these rules, the SEC also amended the significance tests in the &#8220;significant subsidiary&#8221; definition in Rule <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">1-02(w),</div> Securities Act Rule 405, and Exchange Act <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Rule&#160;12b-2</div> to improve their application and to assist registrants in making more meaningful determinations of whether a subsidiary or an acquired or disposed of business is significant. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Specific changes to the significance test include changes to the investment test component, which compares the registrant&#8217;s and its other subsidiaries&#8217; investment in and advances to the tested subsidiary to the registrant&#8217;s aggregate worldwide market value if available, instead of the registrant&#8217;s total assets on a consolidated basis under the unamended Rule. The amendments also changed the income test component by adding a revenue component to it. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The amendments are effective on January&#160;1, 2021. However, voluntary compliance with the final amendments was permitted in advance of the effective date. As a result of the 2020 acquisitions of EMT, NMS and ARTeSYN, the Company voluntarily adopted the amendments prior to their effective date and determined the acquired businesses are not significant subsidiaries and therefore no separate financial statements are required. </div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">In August 2018, the Financial Accounting Standards Board (&#8220;FASB&#8221;) issued Accounting Standards Update No. (&#8220;ASU&#8221;) <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2018-13,</div> <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Fair Value Measurement (Topic 820): Disclosure Framework &#8211; Changes to the Disclosure Requirements for Fair Value Measurement.&#8221; </div></div>ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2018-13</div> includes amendments that aim to improve the effectiveness of fair value measurement disclosures. The amendments in this guidance modify the disclosure requirements on fair value measurements based on the concepts in FASB Concepts Statement, <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Conceptual Framework for Financial Reporting&#8212;Chapter 8: Notes to Financial Statements</div></div>,<div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8221;</div></div> including the consideration of costs and benefits. The Company adopted ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2018-13</div> on January&#160;1, 2020. The adoption did not have a material impact on the Company&#8217;s consolidated financial statements as of and for the year ended December&#160;31, 2020. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">In August 2018, the FASB issued ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2018-15,</div> <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Intangibles &#8211; Goodwill and Other &#8211; <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Internal-Use</div> Software (Subtopic <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">350-40):</div> Customer&#8217;s Accounting for Implementation Costs Incurred in a Cloud Computing Arrangement That Is a Service Contract.&#8221; </div></div>ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2018-15</div> aligns the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">internal-use</div> software (and hosting arrangements that include an <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">internal-use</div> software license). The guidance also requires the entity to expense the capitalized implementation costs of a hosting arrangement that is a service contract </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">over the term of the hosting arrangement, which includes reasonably certain renewals. The Company adopted ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2018-13</div> on January&#160;1, 2020. The adoption did not have a material impact on the Company&#8217;s consolidated financial statements as of and for the year ended December&#160;31, 2020. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">In June 2016, the FASB issued ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2016-13,</div> &#8220;<div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Financial Instruments-Credit Losses (Topic 326).&#8221;</div></div> ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2016-13</div> significantly changes how entities will account for credit losses for most financial assets and certain other instruments that are not measured at fair value through net income. ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2016-13</div> replaces the existing incurred loss model with an expected credit loss model that requires entities to estimate an expected lifetime credit loss on most financial assets and certain other instruments, including short-term trade receivables and contract assets, and expands disclosure requirements for credit quality of financial assets. The Company adopted ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2016-13</div> on January&#160;1, 2020. The Company assessed all potential impacts that the adoption of this guidance has on its consolidated financial statements. Based on the composition of the Company&#8217;s investment portfolio, accounts receivable, current market conditions and historical credit loss activity, the adoption of ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2016-13</div> by the Company did not have a material impact on its consolidated financial position, results of operations or cash flows as of and for the year ended December&#160;31, 2020. The Company continues to monitor processes and controls for indications of an adjustment for future economic conditions at quarterly and annual reporting periods. See Note 6, <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Credit Losses,&#8221; </div></div>below for more information on the Company&#8217;s adoption of ASC 326. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">In November 2018, the FASB issued ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2018-18,</div> <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Collaborative Arrangements (Topic 808): Clarifying the Interaction between Topic 808 and Topic 606.&#8221; </div></div>ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2018-18</div> clarifies the interaction between Topic 808, <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Collaborative Arrangements,&#8221; </div></div>and Topic 606, <div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8220;Revenue from Contracts with Customers,&#8221; </div></div>by making targeted improvements to GAAP for collaborative arrangements and providing guidance on whether certain transactions between collaborative arrangement participants should be accounted for with revenue under Topic 606. This includes improving comparability in the presentation of revenue for certain transactions between collaborative arrangement participants by allowing presentation of the units of account in collaborative arrangements that are within the scope of Topic 606 together with revenue accounted for under Topic 606. The Company adopted ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2018-13</div> on January&#160;1, 2020. The adoption did not have a material impact on the Company&#8217;s consolidated financial statements as of and for the year ended December&#160;31, 2020. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;">In December 2019, the FASB issued ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2019-12,</div> &#8220;<div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Income Taxes (Topic 740) &#8211; Simplifying the Accounting for Income Taxes.&#8221; </div></div>ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2019-12</div> simplifies the accounting for income taxes by removing certain exceptions to the general principles in Topic 740, including, but not limited to, the exception to the incremental approach for intraperiod tax allocation when there is a loss from continuing operations and income or a gain from other items, the exceptions related to the recognition of a deferred tax liability related to an equity method investment and the exception to methodology for calculating income taxes in an interim period when a <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">year-to-date</div></div> loss exceeds the anticipated loss for the year. The Company adopted ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2018-13</div> on January&#160;1, 2020. The adoption did not have a material impact on the Company&#8217;s consolidated financial statements as of and for the year ended December&#160;31, 2020. </div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt;"><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Recently Issued Accounting Standard Updates &#8211; Not Yet Adopted </div></div></div> <div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;">In August 2020, the FASB issued ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2020-06,</div> &#8220;<div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">Debt&#8212;Debt with Conversion and Other Options (Subtopic <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">470-20)</div> and Derivatives and Hedging&#8212;Contracts in Entity</div></div><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8217;</div></div><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">s Own Equity (Subtopic <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">815-40).</div></div></div><div style="font-style: normal; letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-style:italic;display:inline;">&#8221;</div></div> ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2020-06</div> simplifies the accounting for convertible debt instruments and convertible preferred stock by reducing the number of accounting models and the number of embedded conversion features that could be recognized separately from the primary contract. ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2020-06</div> also enhances transparency and improves disclosures for convertible instruments and earnings per share guidance. ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2020-06</div> is effective for annual reporting periods beginning after December&#160;15, 2021, including interim periods within those fiscal years. Early adoption is permitted, but no earlier than fiscal years beginning after December&#160;15, 2020. This update permits the use of either the modified retrospective or fully </div> retrospective method of transition. The Company is currently evaluating the timing and impact of the adoption of ASU <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2020-06</div> on the Company&#8217;s consolidated financial statements.<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_AccruedLiabilitiesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Accrued Liabilities, Policy [Text Block]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_AccruedLiabilitiesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Risks and Uncertainties in Entities Business [Policy Text Block]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdvertisingCostsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for advertising cost.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 720<br> -SubTopic 35<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6420018&amp;loc=d3e36677-107848<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdvertisingCostsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the basis of presentation and significant accounting policies concepts. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).  Accounting policies describe all significant accounting policies of the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -URI http://asc.fasb.org/topic&amp;trid=2122369<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Entity's cash and cash equivalents accounting policy with respect to restricted balances.  Restrictions may include legally restricted deposits held as compensating balances against short-term borrowing arrangements, contracts entered into with others, or company statements of intention with regard to particular deposits; however, time deposits and short-term certificates of deposit are not generally included in legally restricted deposits.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(1)(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121583591&amp;loc=d3e4273-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskCreditRisk">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for credit risk.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 825<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=108315417&amp;loc=d3e61044-112788<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskCreditRisk</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditLossFinancialInstrumentPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for credit loss on financial instrument measured at amortized cost basis, net investment in lease, off-balance sheet credit exposure, and available-for-sale debt security. Includes, but is not limited to, methodology used to estimate allowance for credit loss, how writeoff of uncollectible amount is recognized, and determination of past due status and nonaccrual status.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 35<br> -Paragraph 7A<br> -URI http://asc.fasb.org/extlink&amp;oid=121565518&amp;loc=SL120269220-210453<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3D<br> -URI http://asc.fasb.org/extlink&amp;oid=121599337&amp;loc=SL120267969-210447<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=121582814&amp;loc=SL82922895-210455<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 35<br> -Paragraph 13A<br> -URI http://asc.fasb.org/extlink&amp;oid=121565518&amp;loc=SL120267917-210453<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 35<br> -Paragraph 8A<br> -URI http://asc.fasb.org/extlink&amp;oid=121648281&amp;loc=SL120267834-210445<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 30<br> -Paragraph 4A<br> -URI http://asc.fasb.org/extlink&amp;oid=121647444&amp;loc=SL120269210-210444<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 17<br> -URI http://asc.fasb.org/extlink&amp;oid=121599337&amp;loc=SL82919260-210447<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=121599878&amp;loc=SL120267845-210446<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 14<br> -URI http://asc.fasb.org/extlink&amp;oid=121599337&amp;loc=SL82919253-210447<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 21<br> -URI http://asc.fasb.org/extlink&amp;oid=121599337&amp;loc=SL82919272-210447<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 30<br> -Paragraph 5A<br> -URI http://asc.fasb.org/extlink&amp;oid=121647444&amp;loc=SL120254536-210444<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3C<br> -URI http://asc.fasb.org/extlink&amp;oid=121599337&amp;loc=SL120267966-210447<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 30<br> -Paragraph 1B<br> -URI http://asc.fasb.org/extlink&amp;oid=121614247&amp;loc=SL120267897-210452<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=121599337&amp;loc=SL82919244-210447<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 50<br> -Paragraph 3D<br> -URI http://asc.fasb.org/extlink&amp;oid=121582814&amp;loc=SL120267862-210455<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 50<br> -Paragraph 3C<br> -URI http://asc.fasb.org/extlink&amp;oid=121582814&amp;loc=SL120267859-210455<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 50<br> -Paragraph 3A<br> -URI http://asc.fasb.org/extlink&amp;oid=121582814&amp;loc=SL120267853-210455<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditLossFinancialInstrumentPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerSharePolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3630-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerSharePolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueMeasurementPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for fair value measurements of financial and non-financial assets, liabilities and instruments classified in shareholders' equity. Disclosures include, but are not limited to, how an entity that manages a group of financial assets and liabilities on the basis of its net exposure measures the fair value of those assets and liabilities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueMeasurementPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -URI http://asc.fasb.org/topic&amp;trid=2175825<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for goodwill and intangible assets. This accounting policy also may address how an entity assesses and measures impairment of goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI http://asc.fasb.org/extlink&amp;oid=120406818&amp;loc=d3e32247-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32847-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 954<br> -SubTopic 740<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6491622&amp;loc=d3e9504-115650<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 19<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32840-109319<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=116657188&amp;loc=SL116659661-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32639-109319<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=120406818&amp;loc=d3e32280-109318<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32809-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=116847112&amp;loc=d3e4556-108314<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6361739&amp;loc=d3e7789-107766<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=116847112&amp;loc=d3e4492-108314<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 270<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=116846552&amp;loc=d3e543-108305<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -URI http://asc.fasb.org/topic&amp;trid=2126998<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.6(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LoansAndLeasesReceivableLeaseFinancingPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for recording, valuing, and reporting amounts due from lessees pursuant to contractual arrangements, which are secured, at a minimum, by the asset being rented, and in measuring certain revenues, expenses and gains and losses arising from creating, acquiring, collecting, terminating, modifying and holding lease agreements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121603689&amp;loc=d3e36975-112693<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=121578510&amp;loc=d3e41551-112718<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=121568338&amp;loc=d3e45377-112738<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LoansAndLeasesReceivableLeaseFinancingPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=120429125&amp;loc=d3e99779-112916<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.13(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=120429125&amp;loc=d3e99893-112916<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRecognitionPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18823-107790<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18823-107790<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRecognitionPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for segment reporting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8864-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8864-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e9038-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8864-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8864-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 29<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8864-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8864-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b),(f)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5047-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UseOfEstimates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6191-108592<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6161-108592<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6143-108592<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6061-108592<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6132-108592<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UseOfEstimates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<FILENAME>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743805500408">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock', window );">Schedule of Cash, Cash Equivalents and Restricted Cash</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following is a summary of the Company&#8217;s cash, cash equivalents, and restricted cash total as presented in the Company&#8217;s consolidated statements of cash flows for the years ended December&#160;31, 2020, 2019 and 2018: </div></div><div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 8pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 61%;"/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2018</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Cash and cash equivalents</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">717,292</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">528,392</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">193,822</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Restricted cash</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">9,015</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total cash, cash equivalents, and restricted cash</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">717,292</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">537,407</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">193,822</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock', window );">Property, Plant and Equipment</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Property, plant&#160;&amp; equipment is recorded at cost less allowances for depreciation. Depreciation is calculated using the straight-line method over the estimated useful life of the asset as follows: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 42%; font-family: ARIAL;"/>
<td style="width: 2%; vertical-align: bottom; font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; white-space: nowrap;"> <div style="font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: table-cell; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Classification</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:center;"> <div style="text-align: center; font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: inline-block; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Estimated&#160;Useful&#160;Life</div></div></div> </td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: bottom;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Buildings</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">Thirty years</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Leasehold&#160;improvements</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">Shorter of the term of the lease or estimated useful life</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: bottom;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Equipment</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><span style="-sec-ix-hidden:hidden18476318">Three</span> to twelve years</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Furniture, fixtures and office equipment</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><span style="-sec-ix-hidden:hidden18476319">Three</span> to eight years</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: bottom;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Computer hardware and software</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><span style="-sec-ix-hidden:hidden18476320">Three</span> to seven years or estimated useful life</td> </tr> </table> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock', window );">Reconciliation of Basic and Diluted Shares Amounts</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">A reconciliation of basic and diluted share amounts is as follows: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 73%;"/>
<td style="width: 2%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 2%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 2%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended<br/> December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2020&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2019&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2018&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td colspan="10" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts&#160;in&#160;thousands,&#160;except<br/> per&#160;share&#160;data)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Net income</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">59,926</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">21,411</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">16,617</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Weighted average shares used in computing net income per share - basic</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">52,554</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">48,343</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">43,767</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Effect of dilutive shares:</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Options and stock units</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">971</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">864</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">581</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Convertible senior notes</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">367</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,123</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Dilutive potential common shares</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,338</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">864</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,704</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Weighted average shares used in computing net income per share - diluted</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">53,892</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">49,206</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">45,471</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Earnings per share:</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Basic</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">1.14</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">0.44</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">0.38</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Diluted</div></div> </td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">1.11</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">0.44</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">0.37</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock', window );">Summary of Product Revenues by Product Line</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 4%;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following table represents product revenues by product line: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 61%;"/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:7.5px">(1)</div></div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:7.5px">(2)</div></div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2018</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Filtration products</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">174,896</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">119,534</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">90,586</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Chromatography products</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">73,551</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">64,635</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">45,326</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Process analytics products</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">33,346</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">16,405</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Proteins products</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">80,732</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">65,124</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">54,375</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Other</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">3,611</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">4,399</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">3,604</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total product revenue</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">366,136</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">270,097</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">193,891</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"/> <div style="width: 11%; line-height: 8pt; margin-top: 0pt; margin-bottom: 2pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%; vertical-align: top;;text-align:left;">(1)</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2020 revenue for filtration products includes revenue related to EMT from July&#160;13, 2020, NMS from October&#160;20, 2020 and ARTeSYN from December&#160;3, 2020. </div></div> </td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"/>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%; vertical-align: top;;text-align:left;">(2)</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2019 revenue for process analytics products includes revenue related to C Technologies from May&#160;31, 2019 through December&#160;31, 2019. </div></div> </td> </tr> </table> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock', window );">Total Assets by Geographic Area</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following table represents the Company&#8217;s total assets by geographic area: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 60%;"/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total assets by geographic locations:</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">North America</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">1,697,149</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">1,260,217</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Europe</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">188,698</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">133,599</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">APAC</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">17,040</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">6,297</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total assets by geographic location</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">1,902,887</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">1,400,113</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock', window );">Long Lived Assets by Geographic Area</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following table represents the Company&#8217;s long-lived assets by geographic area: </div></div><div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 70%;"/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in<br/> thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Long-lived assets by geographic locations:</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">North America</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">78,429</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">66,756</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Europe</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">12,918</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">6,775</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">APAC</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,272</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">869</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total long-lived assets by geographic location</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">92,619</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">74,400</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock', window );">Percentage of Revenue from Significant Customers</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Revenue from significant customers that represent 10% or more of the Company&#8217;s total revenue is as follows: </div></div><div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 8pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 57%;"/>
<td style="width: 13%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 12%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 12%; vertical-align: bottom;"/>
<td/>
<td/>
<td/></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended<br/> December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2020&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2019&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2018&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">MilliporeSigma</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">11</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">13</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">15</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Cytiva (formerly GE Healthcare)</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">N/A</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">12</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">15</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td></tr></table><span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=rgen_SalesRevenuesGoodsNetMember', window );">Total Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock', window );">Percentage by Geographic Area or Significant Customers</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following table represents the Company&#8217;s total revenue by geographic area (based on the location of the customer): </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 57%;"/>
<td style="width: 11%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 10%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 10%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended<br/> December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2020&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2019&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2018&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Revenue by customers&#8217; geographic locations:</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">North America</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">48</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">51</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">48</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Europe</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">38</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">37</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">40</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">APAC/Other</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">14</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">12</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">12</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total revenue</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">100</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">100</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">100</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Schedule of cash and cash equivalents and restricted cash.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Schedule Of Property And Equipment Useful Lives Table [Text Block]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of all significant reconciling items in the reconciliation of total assets from reportable segments to the entity's consolidated assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8906-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8924-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the names of foreign countries in which material long-lived assets other than financial instruments, long-term customer relationships of a financial institution, mortgage and other servicing rights, deferred policy acquisition costs, and deferred tax assets are located, and amount of such long-lived assets located in that country or foreign geographic area.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e9038-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of entity-wide revenues from external customers for each product or service or each group of similar products or services if the information is not provided as part of the reportable operating segment information.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e9031-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the extent of the entity's reliance on its major customers, if revenues from transactions with a single external customer amount to 10 percent or more of entity revenues, including the disclosure of that fact, the total amount of revenues from each such customer, and the identity of the reportable segment or segments reporting the revenues. The entity need not disclose the identity of a major customer or the amount of revenues that each segment reports from that customer. For these purposes, a group of companies known to the entity to be under common control is considered a single customer, and the federal government, a state government, a local government such as a county or municipality, or a foreign government is each considered a single customer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -URI http://asc.fasb.org/extlink&amp;oid=121572278&amp;loc=d3e13537-108611<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=121572278&amp;loc=d3e13531-108611<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6404-108592<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 16<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6327-108592<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6351-108592<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6442-108592<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=rgen_SalesRevenuesGoodsNetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=rgen_SalesRevenuesGoodsNetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743802176856">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Acquisitions (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_ArtesynBiosolutionsMember', window );">ARTeSYN Biosolutions</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock', window );">Schedule of Business Combination Consideration Transferred</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total consideration transferred is as follows (amounts in thousands): </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 81%; font-family: ARIAL;"/>
<td style="width: 7%; vertical-align: bottom; font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Cash consideration</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">130,713</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Equity consideration</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">69,422</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Contingent consideration</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,548</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Settlement of preexisting liabilities</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">2,310</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Fair value of net assets acquired</div></div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">$</div></div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">203,993</div></div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock', window );">Schedule of Recognized Identified Assets Acquired and Liabilities Assumed</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The components and estimated allocation of the purchase price consists of the following amounts (amounts in thousands): </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 81%; font-family: ARIAL;"/>
<td style="width: 7%; vertical-align: bottom; font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Cash and cash equivalents</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">2,982</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accounts receivable</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">4,811</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Inventory</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">8,592</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Prepaid expenses and other current assets</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">5,561</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Property and equipment</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,836</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease right of use asset</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,611</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Other noncurrent assets</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">26</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Customer relationships</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">38,400</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Developed technology</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">27,060</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Trademark and tradename</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,630</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Non-competition</div> agreements</div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">300</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Goodwill</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">128,658</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accounts payable</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(2,161</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accrued liabilities</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(8,856</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Deferred revenue</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(3,583</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Deferred tax liabilities, net</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(1,240</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Notes payable</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(24</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease liability</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(417</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease liability, long-term</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(1,193</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Fair value of net assets acquired</div></div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">$</div></div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">203,993</div></div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock', window );">Schedule of Identified Intangible Assets and Estimated Useful Lives</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following table sets forth the components of the identified intangible assets associated with the ARTeSYN Acquisition and their estimated useful lives: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 51%;"/>
<td style="width: 14%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 14%; vertical-align: bottom;"/>
<td/>
<td/>
<td/></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Useful&#160;life</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Fair&#160;Value</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts&#160;in&#160;thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Customer relationships</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">17 years</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">38,400</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Developed technology</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">15 years</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">27,060</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Trademark and tradename</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">21 years</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,630</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Non-competition</div> agreements</div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">3 years</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">300</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">67,390</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_NonMetallicSolutionsMember', window );">Non-Metallic Solutions</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="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock', window );">Schedule of Recognized Identified Assets Acquired and Liabilities Assumed</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The components and estimated allocation of the purchase price consist of the following amounts (amounts in thousands): </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 83%; font-family: ARIAL;"/>
<td style="width: 7%; vertical-align: bottom; font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Cash and cash equivalents</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">1,163</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accounts receivable</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">415</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Inventory</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">334</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Prepaid expenses and other current assets</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">13</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Property and equipment</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">73</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease right of use asset</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">194</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Customer relationships</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">6,370</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Developed technology</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,810</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Trademark and tradename</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">190</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Non-competition</div> agreements</div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">90</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Goodwill</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">6,784</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Deferred tax assets</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">24</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accounts payable</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(96</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accrued liabilities</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(999</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease liability</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(136</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease liability, long-term</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(59</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Fair value of net assets acquired</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">$</div></div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">16,170</div></div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock', window );">Schedule of Identified Intangible Assets and Estimated Useful Lives</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following table sets forth the components of the identified intangible assets associated with the NMS Acquisition and their estimated useful lives: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 51%;"/>
<td style="width: 15%; vertical-align: bottom;"/>
<td/>
<td style="white-space: nowrap;"/>
<td/>
<td style="width: 15%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom: 1pt solid rgb(0, 0, 0); white-space: nowrap;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Useful&#160;life</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Fair&#160;Value</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts&#160;in&#160;thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Customer relationships</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">14 years</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">6,370</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Developed technology</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">12 years</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,810</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Trademark and tradename</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">15 years</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">190</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Non-competition</div> agreements</div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">3 years</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">90</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">8,460</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_EngineeredMoldingTechnologyLlcMember', window );">Engineered Molding Technology LLC</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock', window );">Schedule of Recognized Identified Assets Acquired and Liabilities Assumed</a></td>
<td class="text">The components and allocation of the purchase price consist of the following amounts (amounts in thousands):
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 83%; font-family: ARIAL;"/>
<td style="width: 7%; vertical-align: bottom; font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Cash and cash equivalents</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">69</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accounts receivable</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,057</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Inventory</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">449</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Prepaid expenses and other current assets</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">7</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Property and equipment</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">472</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease right of use assets</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,050</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Customer relationships</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">11,080</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Developed technology</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">2,910</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Trademark and tradename</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">320</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Non-compete</div> agreements</div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">50</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Goodwill</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">12,585</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accounts payable</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(283</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accrued liabilities</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(202</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease liability</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(211</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease liability, long-term</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(839</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Fair value of net assets acquired</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">$</div></div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">28,514</div></div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock', window );">Schedule of Identified Intangible Assets and Estimated Useful Lives</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following table sets forth the components of the identified intangible assets associated with the EMT Acquisition and their estimated useful lives: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 51%;"/>
<td style="width: 14%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 14%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Useful&#160;life</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Fair&#160;Value</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts&#160;in&#160;thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Customer relationships</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">14 years</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">11,080</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Developed technology</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">11 years</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">2,910</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Trademark and tradename</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">14 years</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">320</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Non-competition</div> agreements</div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">3 years</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">50</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">14,360</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_CTechnologiesMember', window );">C Technologies, Inc.</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="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock', window );">Schedule of Recognized Identified Assets Acquired and Liabilities Assumed</a></td>
<td class="text">The components and allocation of the purchase price consists of the following amounts (amounts in thousands):
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 81%; font-family: ARIAL;"/>
<td style="width: 7%; vertical-align: bottom; font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Cash and cash equivalents</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">3,795</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Restricted cash</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">26,933</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accounts receivable</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">3,044</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Inventory</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">3,783</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Prepaid expenses and other current assets</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">93</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Fixed assets</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">40</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease right of use asset</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">3,836</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Customer relationships</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">59,680</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Developed technology</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">28,920</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Trademark and tradename</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,570</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Non-competition</div> agreements</div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">660</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Goodwill</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">142,314</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Deferred taxes</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">895</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accounts payable</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(436</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accrued liabilities</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(2,767</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accrued bonus</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(26,928</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Deferred revenue</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(1,709</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease liability</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(51</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease liability, long-term</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(3,785</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Fair value of net assets acquired</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">$</div></div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">239,887</div></div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;</div></div></td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionProFormaInformationTextBlock', window );">Unaudited Supplemental Pro Forma Information</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following pro forma financial information does not reflect any adjustments for anticipated expense savings resulting from the acquisition and is not necessarily indicative of the operating results that would have actually occurred had the transaction been consummated on January&#160;1, 2019 or of future results (amounts in thousands, except per share data): </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 66%;"/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2018</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total revenue</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">279,434</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">217,739</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Net income</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">23,394</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">21,195</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Earnings per share:</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Basic</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">0.48</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">0.44</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Diluted</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">0.48</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">0.43</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of business combination consideration transferred.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionProFormaInformationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of pro forma results of operations for a material business acquisition or series of individually immaterial business acquisitions that are material in the aggregate.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionProFormaInformationTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the characteristics, including initial carrying value, residual amount, weighted average useful life, of finite-lived intangible assets acquired during the period by major class. A major class is composed of intangible assets that can be grouped together because they are similar, either by nature or by their use in the operations of the company.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the amounts recognized as of the acquisition date for each major class of assets acquired and liabilities assumed. May include but not limited to the following: (a) acquired receivables; (b) contingencies recognized at the acquisition date; and (c) the fair value of noncontrolling interests in the acquiree.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121647850&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_ArtesynBiosolutionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_ArtesynBiosolutionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_NonMetallicSolutionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_NonMetallicSolutionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_EngineeredMoldingTechnologyLlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_EngineeredMoldingTechnologyLlcMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_CTechnologiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_CTechnologiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743802777064">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock', window );">Maturities of lease liabilities</a></td>
<td class="text">The maturities of the Company&#8217;s operating lease liabilities as of December&#160;31, 2020 are as follows (amounts in thousands):
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 68%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 82%; font-family: ARIAL;"/>
<td style="width: 8%; vertical-align: bottom; font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; white-space: nowrap; padding-bottom: 1pt;"> <div style="font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: table-cell; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">As of December&#160;31, 2020</div></div></div> </td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Amount</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2021</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">7,007</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2022</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">5,732</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2023</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">4,614</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2024</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">4,162</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2025</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">3,653</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2026 and thereafter</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">12,949</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total future minimum lease payments</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">38,117</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Less: amount of lease payment representing interest</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">6,438</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total operating lease liabilities</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">31,679</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock', window );">Abstract of operating lease liability</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total operating lease liabilities included on the Company&#8217;s consolidated balance sheet are as follows (amounts in thousands): </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 70%;"/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease liability</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">5,254</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">3,557</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease liability, long-term</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">26,425</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">26,995</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Minimum operating lease payments</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">31,679</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">30,552</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeaseCostTableTextBlock', window );">Lease, Cost</a></td>
<td class="text">For the year ended December&#160;31, 2020 and 2019, total lease cost is comprised of the following:
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 8pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 74%;"/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For&#160;the&#160;Years&#160;Ended<br/> December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; white-space: nowrap; padding-bottom: 1pt;"> <div style="font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: table-cell; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Lease Cost</div></div></div> </td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in<br/> thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease cost</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">5,645</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">4,480</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Variable operating lease cost</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">2,033</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,480</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Lease cost</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">7,678</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">5,960</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock', window );">Schedule Of Supplemental Disclosure Of Cash Flows Related To Operating Leases</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following information represents supplemental disclosure for the consolidated statements of cash flows related to operating leases (amounts in thousands): </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 8pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 72%;"/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended<br/> December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease cost</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(5,647</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(4,004</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr> </table> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock', window );">Schedule Of Discount Rate And Lease Term Used In Calculating Lease Liabilities And Assets</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The weighted average remaining lease term and the weighted average discount rate used to measure the Company&#8217;s operating lease liabilities as of December&#160;31, 2020 were: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 68%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 89%; font-family: ARIAL;"/>
<td style="width: 5%; vertical-align: bottom; font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Weighted average remaining lease term (years)</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">7.19</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Weighted average discount rate</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">4.90</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td> </tr> </table> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>na</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of discount rate and remaining lease term of operating and financial leases.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of supplemental disclosure for the consolidated statements of cash flows related to operating leases</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseCostTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=121609121&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseCostTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121609121&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<FILENAME>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743802581160">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue Recognition (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueTableTextBlock', window );">Disaggregation of Revenue</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Revenue for the years ended December&#160;31, 2020, 2019 and 2018 was as follows (amounts in thousands, except percentages): </div></div><div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 8pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 61%;"/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2018</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Product revenue</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">366,136</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">270,097</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">193,891</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Royalty and other income</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">124</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">148</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">141</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total revenue</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">366,260</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">270,245</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">194,032</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_ScheduleOfRevenueByMajorCustomersTableTextBlock', window );">Revenue from Significant Customers</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Revenue from significant customers that represent 10% or more of the Company&#8217;s total revenue is as follows (amounts in thousands): </div></div><div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 8pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 64%;"/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2018</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">MilliporeSigma</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">39,511</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">36,190</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">29,843</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Cytiva (formerly GE Healthcare)</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">N/A</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">31,441</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">29,616</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock', window );">Summary of Receivables and Deferred Revenue from Contracts with Customers</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following table provides information about receivables and deferred revenue from contracts with customers as of December&#160;31, 2020 (amounts in thousands): </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 76%;"/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Balances from contracts with customers only:</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accounts receivable</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">71,257</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">43,068</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Deferred revenue (included in accrued liabilities in the consolidated balance sheets)</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">15,318</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">5,005</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Revenue recognized during years presented relating to:</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The beginning deferred revenue balance</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">3,361</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">833</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Changes in pricing related to products or services satisfied in previous periods</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr> </table> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_ScheduleOfRevenueByMajorCustomersTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Schedule Of Revenue By Major Customers [Table Text Block]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_ScheduleOfRevenueByMajorCustomersTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130551-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130545-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743802169224">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Credit Losses (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditLossAbstract', window );"><strong>Credit Loss [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="top.Show.showAR( this, 'defref_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock', window );">Summary Of Allowance For Credit Losses For Accounts Receivables</a></td>
<td class="text">The following table provides a roll-forward of the allowance for credit losses in 2020 that is deducted from the amortized cost basis of accounts receivable to present the net amount expected to be collected (amounts in thousands):
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 91%;"/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Balance at January&#160;1, 2020</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">(525</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Current period change for expected credit losses</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">(133</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Balance at March&#160;31, 2020</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">(658</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Current period change for write-offs</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">37</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Current period change for expected credit losses</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">83</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Balance at June&#160;30, 2020</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">(538</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Current period change for expected credit losses</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">(83</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Balance at September&#160;30, 2020</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">(621</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Current period change for write-offs</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">65</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Current period change for expected credit losses</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">(206</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Balance at December&#160;31, 2020</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">(762</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of allowance for credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=121599337&amp;loc=SL82919249-210447<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditLossAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditLossAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>44
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743799194344">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Intangible Assets (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfGoodwillTextBlock', window );">Changes in Carrying Value of Goodwill</a></td>
<td class="text">The following table represents the changes in the carrying value of goodwill for the years ended December&#160;31, 2020 and 2019 (amounts in thousands):
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 86%; font-family: ARIAL;"/>
<td style="width: 5%; vertical-align: bottom; font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Balance as of December&#160;31, 2018</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">326,735</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Acquisition of C Technologies</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">142,021</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Cumulative translation adjustment</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(343</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Balance as of December&#160;31, 2019</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">468,413</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Measurement period adjustment - C Technologies</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">293</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Acquisition of EMT</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">12,585</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Acquisition of NMS</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">6,784</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Acquisition of ARTeSYN</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">128,658</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Cumulative translation adjustment</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,572</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Balance as of December&#160;31, 2020</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">618,305</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock', window );">Intangible assets</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Intangible assets, net consisted of the following at December&#160;31, 2020: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 45%;"/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="14" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31, 2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Gross</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Carrying</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Value</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Accumulated</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Amortization</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Net</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Carrying</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Value</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Weighted</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Average</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Useful&#160;Life</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(in years)</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Finite-lived intangible assets:</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Technology - developed</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">114,217</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(14,444</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">99,773</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">17</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Patents</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">240</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(240</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">8</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Customer relationships</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">217,790</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(37,333</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">180,457</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">16</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Trademarks</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">5,893</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(541</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">5,352</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">20</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Other intangibles</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">2,142</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(1,324</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">818</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">3</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total finite-lived intangible assets</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">340,282</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(53,882</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">286,400</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">16</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Indefinite-lived intangible asset:</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Trademarks</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">700</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">700</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total intangible assets</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">340,982</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(53,882</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">287,100</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr> </table>  <div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Intangible assets consisted of the following at December&#160;31, 2019: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 45%;"/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="14" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31, 2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Gross</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Carrying</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Value</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Accumulated</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Amortization</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Net</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Carrying</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Value</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Weighted</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Average</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Useful&#160;Life</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(in years)</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Finite-lived intangible assets:</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Technology - developed</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">82,169</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(9,669</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">72,500</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">19</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Patents</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">240</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(240</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">8</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Customer relationships</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">160,825</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(25,642</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">135,183</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">15</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Trademarks</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">3,752</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(333</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">3,419</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">20</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Other intangibles</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,697</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(947</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">750</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">3</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total finite-lived intangible assets</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">248,683</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(36,831</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">211,852</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">16</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Indefinite-lived intangible asset:</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Trademarks</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">700</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">700</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total intangible assets</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">249,383</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(36,831</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">212,552</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr> </table> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock', window );">Schedule of Amortization Expense for Amortized Intangible Assets</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Amortization expense for finite-lived intangible assets was $16.1&#160;million, $13.6&#160;million and $10.6&#160;million for the years ended December&#160;31, 2020, 2019 and 2018, respectively. As of December&#160;31, 2020, the Company expects to record the following amortization expense (amounts in thousands): </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 80%; font-family: ARIAL;"/>
<td style="width: 9%; vertical-align: bottom; font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; white-space: nowrap; padding-bottom: 1pt;"> <div style="font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 0pt; border-bottom: 1pt solid rgb(0, 0, 0); display: table-cell; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">For the Years Ended December&#160;31,</div></div></div> </td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Estimated<br/> Amortization<br/> Expense</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2021</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">20,767</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2022</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">20,765</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2023</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">20,648</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2024</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">20,080</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2025</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">19,813</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">2026 and thereafter</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">184,327</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">286,400</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Schedule Of Finite Lived And Indefinite Lived Intangible Assets [Table Text Block]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of amortization expense of assets, excluding financial assets, that lack physical substance, having a limited useful life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfGoodwillTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13854-109267<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfGoodwillTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>45
<FILENAME>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743799849416">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Balance Sheet Detail (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock', window );">Inventories</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Inventories, net consists of the following: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 70%;"/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts&#160;in&#160;thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Raw materials</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">48,746</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">29,328</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">Work-in-process</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">8,084</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">8,360</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Finished products</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">38,195</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">17,144</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total inventories, net</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">95,025</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">54,832</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock', window );">Prepaid Expenses and Other Current Assets</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Prepaid expenses and other current assets consist of the following: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 72%;"/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts&#160;in&#160;thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Equipment maintenance and services</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">4,601</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">1,662</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Prepaid income taxes</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">2,649</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">2,719</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Prepaid insurance</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,936</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">80</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Other</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">9,490</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,456</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total prepaid expenses and other current assets</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">18,676</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">5,917</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentTextBlock', window );">Property, Plant and Equipment</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Property, plant and equipment consist of the following: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 68%;"/>
<td style="width: 7%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 7%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Land</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">1,023</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">1,023</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Buildings</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,007</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">764</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Leasehold improvements</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">31,331</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">23,905</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Equipment</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">43,072</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">36,257</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Furniture, fixtures and office equipment</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">8,714</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">6,312</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Computer hardware and software</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">15,397</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">8,810</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Construction in progress</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">14,927</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">6,707</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Other</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">455</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">56</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total property, plant and equipment</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">115,926</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">83,834</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Less - Accumulated depreciation</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(49,056</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">(35,379</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total property, plant and equipment, net</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">66,870</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">48,455</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock', window );">Accrued Liabilities</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accrued liabilities consist of the following: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 70%;"/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts&#160;in&#160;thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Employee compensation</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">20,288</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">19,850</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Income taxes payable</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,423</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">3,874</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Royalty and license fees</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">466</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">123</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Warranties</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,576</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,500</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Professional fees</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,425</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,081</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Deferred revenue</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">15,318</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">5,005</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Other</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">12,589</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,898</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total accrued liabilities</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">53,085</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">33,331</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the amounts paid in advance for capitalized costs that will be expensed with the passage of time or the occurrence of a triggering event, and will be charged against earnings within one year or the normal operating cycle, if longer; the aggregate carrying amount of current assets, not separately presented elsewhere in the balance sheet; and other deferred costs.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.17)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of accrued liabilities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(c))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6361739&amp;loc=d3e7789-107766<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfInventoryCurrentTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<FILENAME>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743797485832">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock', window );">Income Before Income Taxes</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The components of income before income taxes are as follows: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 8pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 70%;"/>
<td style="width: 3%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 3%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 3%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For&#160;the&#160;Years&#160;Ended&#160;December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2020&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2019&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2018&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Domestic</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">27,545</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(5,432</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(73</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Foreign</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">31,672</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">31,583</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">21,509</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Income before income taxes</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">59,217</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">26,151</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">21,436</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock', window );">Income Tax Provision (Benefit)</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The components of the income tax provision are as follows: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 69%;"/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For&#160;the&#160;Years&#160;Ended&#160;December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2020&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2019&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2018&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Components of the income tax (benefit) provision:</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Current</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">5,193</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">8,290</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">4,354</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Deferred</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(5,902</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(5,287</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">465</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Equity</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,737</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(709</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">4,740</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">4,819</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Jurisdictional components of the income tax (benefit) provision:</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Federal</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(4,741</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(965</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(393</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">State</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(3,011</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(1,764</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">718</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Foreign</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">7,043</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">7,469</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">4,494</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(709</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">4,740</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">4,819</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock', window );">Consolidated Deferred Tax Assets (Liabilities)</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The components of deferred income taxes are as follows:</div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 68%;"/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Deferred tax assets:</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Temporary timing differences:</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Stock-based compensation expense</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">3,320</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">2,922</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating leases</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">7,257</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">7,295</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Accrued bonus</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">25</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,379</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Other</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">5,749</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">4,994</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 7em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total temporary timing differences</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">16,351</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">16,590</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Net operating loss carryforwards</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,539</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">221</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Tax business credits carryforwards</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">5,553</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">924</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total deferred tax assets</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">23,443</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">17,735</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Less: valuation allowance</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(727</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(6</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 7em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Net deferred tax assets</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">22,716</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">17,729</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Deferred tax liabilities:</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Goodwill</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(1,487</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(1,288</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Fixed assets</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(4,233</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(1,650</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Acquired intangible assets</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(27,152</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(24,605</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating lease right of use assets</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(5,744</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(6,144</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Conversion option on convertible notes</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(8,651</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(11,066</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 7em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total deferred tax liabilities</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(47,267</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(44,753</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total net deferred tax liabilities</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(24,551</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(27,024</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock', window );">Reconciliation of Federal Statutory Rate to Effective Income Tax Rate</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The reconciliation of the federal statutory rate to the effective income tax rate for the years ended December&#160;31, 2020, 2019 and 2018 is as follows: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 56%;"/>
<td style="width: 2%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 2%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 2%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 2%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 2%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 2%; vertical-align: bottom;"/>
<td/>
<td/>
<td/></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="22" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2018</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Amount</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">%</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Amount</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">%</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Amount</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">%</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="22" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands, except percentages)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Income before income taxes</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">59,217</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">26,151</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">21,436</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Expected tax at statutory rate</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">12,436</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">21.0</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">5,492</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">21.0</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">4,502</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">21.0</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Adjustments due to:</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Difference between U.S. and foreign tax</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">618</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1.0</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">436</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1.7</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">345</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1.6</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">State income and franchise tax</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">133</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">0.2</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(179</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(0.7</td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">91</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">0.4</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Business tax credits</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(4,660</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(7.9</td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(2,746</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">(10.5</td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(1,760</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(8.2</td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Permanent differences:</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Stock-based compensation expense</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(9,243</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">(15.6</td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(1,877</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(7.2</td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(1,213</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(5.7</td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">U.S. taxation of foreign earnings</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">51</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">0.1</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">2,227</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">8.5</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">2,190</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">10.2</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Executive compensation</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,401</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">2.4</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">841</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">3.2</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">367</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1.7</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Other</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">896</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1.5</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">92</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">0.4</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">97</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">0.5</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Change in U.S. federal tax rates</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(2,192</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(3.7</td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">0.0</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">0.0</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Change in U.S. state tax rates</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(708</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(1.2</td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">0.0</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">748</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">3.5</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Change in Netherlands tax rate</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">250</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">0.4</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(193</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(0.7</td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(388</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(1.8</td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Transition tax</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">0.0</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">0.0</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(1,338</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(6.2</td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Uncertain tax provisions</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(168</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(0.3</td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,069</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">4.1</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,021</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">4.8</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Change in valuation allowance</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(12</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(0.0</td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(125</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(0.5</td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">125</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">0.6</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Return to provision adjustments</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(89</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(0.2</td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(79</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(0.3</td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">33</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">0.2</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Other</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">578</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1.0</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(218</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(0.8</td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(1</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(0.1</td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Income tax provision</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(709</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(1.2</td>
<td style="vertical-align: bottom; white-space: nowrap;">%)&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">4,740</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">18.1</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">4,819</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">22.5</td>
<td style="vertical-align: bottom; white-space: nowrap;">%&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td></tr></table> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SummaryOfIncomeTaxExaminationsTextBlock', window );">Summary of Tax Returns Periods Subject to Examination by Federal, State and Foreign Tax Authorities</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The Company&#8217;s tax returns are subject to examination by federal, state and foreign tax authorities. The Company&#8217;s two major tax jurisdictions are subject to examination for the following periods: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 72%; font-family: ARIAL;"/>
<td style="width: 13%; vertical-align: bottom; font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/>
<td style="font-family: ARIAL;"/></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid; white-space: nowrap;;text-align:center;"><div style="text-align: center; font-family: ARIAL; font-size: 8pt; margin-top: 0pt; margin-bottom: 1pt; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 8pt; letter-spacing: 0px; top: 0px;;display:inline;">Jurisdiction</div></div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Fiscal&#160;Years&#160;Subject<br/> to Examination</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">United States - federal and state</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">2017-2020</div></td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Sweden</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">2013-2020</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr></table> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock', window );">Reconciliation of Unrecognized Tax Benefits</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The following is a tabular reconciliation of the total amounts of unrecognized tax benefits: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 64%;"/>
<td style="width: 11%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 11%; vertical-align: bottom;"/>
<td/>
<td/>
<td/></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For&#160;the&#160;Years&#160;Ended&#160;December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2020&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">&#160;&#160;&#160;&#160;2019&#160;&#160;&#160;&#160;</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Balance of gross unrecognized tax benefits, beginning of period</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">3,422</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">2,852</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Gross amounts of increases in unrecognized tax benefits as a result of tax positions taken in the current period</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">154</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">602</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Gross amounts of decreases in unrecognized tax benefits as a result of tax positions taken in the prior period</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(337</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(16</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Gross amounts of decrease due to release</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(39</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(16</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Balance of gross unrecognized tax benefits, end of period</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">3,200</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">3,422</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of income before income tax between domestic and foreign jurisdictions.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(h)(1)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SummaryOfIncomeTaxExaminationsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of income tax examinations that an enterprise is currently subject to or that have been completed in the current period typically including a description of the examination, the jurisdiction conducting the examination, the tax year(s) under examination, the likelihood of an unfavorable settlement, the range of possible losses, the liability recorded, the increase or decrease in the liability from the prior period, and any penalties and interest that have been recorded.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32718-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 55<br> -Paragraph 217<br> -URI http://asc.fasb.org/extlink&amp;oid=121610041&amp;loc=d3e36027-109320<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SummaryOfIncomeTaxExaminationsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of unrecognized tax benefits for which a material change is reasonably possible in the next twelve months, typically including the nature of the uncertainty, the event(s) that could cause a material change, and an estimate of the range of the reasonably possible change or a statement that an estimate of the range cannot be made. An unrecognized tax benefit is the difference between a tax position taken in a tax return and the amounts recognized in the financial statements for which it is more likely than not, based on the technical merits of the position, that the tax position will not be sustained upon examination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32718-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>47
<FILENAME>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743800195480">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock', window );">Stock-Based Compensation Expense</a></td>
<td class="text">The following table presents stock-based compensation expense in the Company&#8217;s consolidated statements of comprehensive income:
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 84%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 61%;"/>
<td style="width: 5%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 5%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 5%; vertical-align: bottom;"/>
<td/>
<td/>
<td/></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2018</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="10" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Cost of product revenue</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">1,929</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">1,368</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">1,019</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Research and development</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,534</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">1,373</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">917</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Selling, general and administrative</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">13,544</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">10,106</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">8,256</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total stock-based compensation</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">17,007</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">12,847</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">10,192</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td></tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div></td>
<td>&#160;</td></tr></table> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock', window );">Estimated Weighted Average Assumptions</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 12pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The fair value of share-based awards granted during the years ended December&#160;31, 2020, 2019 and 2018 were calculated using the following estimated assumptions: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 40%;"/>
<td style="width: 2%; vertical-align: bottom;"/>
<td/>
<td style="width: 2%; vertical-align: bottom;"/>
<td/>
<td style="width: 2%; vertical-align: bottom;"/>
<td/></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="5" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended December&#160;31,</div></div></td></tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2018</div></div></td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Expected term (in&#160;years)</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;;text-align:center;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">5.5-6.5</div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;;text-align:center;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">5.5-6.5</div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;;text-align:center;"><div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">5.5-7.5</div></td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Expected volatility (range)</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;;text-align:center;">45.14&#160;&#8211;&#160;50.87%</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;;text-align:center;">45.14&#160;&#8211;&#160;50.87%</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;;text-align:center;">45.14&#160;&#8211;&#160;50.87%</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Risk-free interest rate</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;;text-align:center;">0.34&#160;&#8211;&#160;1.15%</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;;text-align:center;">1.55 &#8211; 2.56%</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;;text-align:center;">2.63 &#8211; 2.96%</td></tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"><div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Expected dividend yield</div></div></td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;;text-align:center;">0%</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;;text-align:center;">0%</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;;text-align:center;">0%</td></tr></table> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock', window );">Summary of Option Activity</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Information regarding option activity for the year ended December&#160;31, 2020 under the Plans is summarized below: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 47%;"/>
<td style="width: 5%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 5%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 5%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 5%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Shares</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Weighted</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">average</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">exercise</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">price</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Weighted-</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Average</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Remaining</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Contractual</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Term</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(in Years)</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Aggregate</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Intrinsic</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Value</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(in&#160;Thousands)</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Options outstanding at December&#160;31, 2019</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">957,559</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">30.81</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Granted</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">79,698</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">115.81</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Exercised</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">(340,546</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">23.95</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Forfeited/expired/cancelled</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">$</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Options outstanding at December&#160;31, 2020</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">696,711</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">43.88</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">6.90</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">102,958</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Options exercisable at December&#160;31, 2020</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">311,988</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">31.75</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">5.91</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">49,879</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Vested and expected to vest at December&#160;31, 2020<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">(1)</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">667,220</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">6.86</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">99,096</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"/> <div style="width: 11%; line-height: 8pt; margin-top: 0pt; margin-bottom: 2pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%; vertical-align: top;;text-align:left;">(1)</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;">Represents the number of vested options as of December&#160;31, 2020 plus the number of unvested options expected to vest as of December&#160;31, 2020 based on the unvested outstanding options at December&#160;31, 2020 adjusted for estimated forfeiture rates of 8% for awards granted to <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-executive</div> level employees and 3% for awards granted to executive level employees. </div> </td> </tr> </table> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock', window );">Summary of Restricted Stock Unit Activity</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The fair value of stock units is calculated using the closing price of the Company&#8217;s common stock on the date of grant. Information regarding stock unit activity, which includes activity for restricted stock units and performance stock units, for the year ended December&#160;31, 2020 under the Plans is summarized below: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 84%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 51%;"/>
<td style="width: 7%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 7%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 7%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Shares</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Weighted-</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Average</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Remaining</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Contractual</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Term</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(in Years)</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Aggregate</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Intrinsic</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Value</div></div><br/> <div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(in&#160;Thousands)</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Unvested at December&#160;31, 2019</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">734,984</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Awarded</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">207,788</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Vested</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">(244,648</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Forfeited/expired/cancelled</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(32,584</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Unvested at December&#160;31, 2020</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">665,540</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">3.32</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">127,904</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Vested and expected to vest at December&#160;31, 2020<div style="font-size: 85%; vertical-align: top;;display:inline;;font-size:9.4px">(1)</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">650,047</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">3.01</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">124,568</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0pt; margin-bottom: 0pt; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr> </table> <div style="clear: both; max-height: 0px; background: none;"/> <div style="width: 11%; line-height: 8pt; margin-top: 0pt; margin-bottom: 2pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="border: 0px currentcolor; width: 100%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="page-break-inside: avoid;">
<td style="width: 4%; vertical-align: top;;text-align:left;">(1)</td>
<td style="vertical-align: top;;text-align:left;"> <div style="text-align: left; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; line-height: normal;">Represents the number of vested stock units as of December&#160;31, 2020 plus the number of unvested stock units expected to vest as of December&#160;31, 2020 based on the unvested outstanding stock units at December&#160;31, 2020 adjusted for estimated forfeiture rates of 8% for awards granted to <div style="white-space: nowrap; letter-spacing: 0px; top: 0px;;display:inline;">non-executive</div> level employees and 3% for awards granted to executive level employees. </div> </td> </tr> </table> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -URI http://asc.fasb.org/extlink&amp;oid=115993241&amp;loc=d3e301413-122809<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5047-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the number and weighted-average grant date fair value for restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock units that were granted, vested, or forfeited during the year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>48
<FILENAME>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743801897736">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Convertible Senior Notes (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConvertibleDebtTableTextBlock', window );">Carrying Value of Convertible Senior Notes</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">The carrying value of the Company&#8217;s convertible senior notes is as follows: </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 76%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 66%;"/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 6%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">December&#160;31,</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">2019</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="6" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">0.375% convertible senior notes due 2024:</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="text-decoration: underline; letter-spacing: 0px; top: 0px;;display:inline;">Convertible senior notes, current portion:</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Principal amount</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">287,500</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">$</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Unamortized debt discount</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(38,317</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Unamortized debt issuance costs</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(5,446</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total convertible senior notes, current portion</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">243,737</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-weight:bold;display:inline;"><div style="text-decoration: underline; letter-spacing: 0px; top: 0px;;display:inline;">Convertible senior notes:</div></div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Principal amount</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">287,500</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Unamortized debt discount</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(47,921</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Unamortized debt issuance costs</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;;text-align:right;">&#8212;&#160;&#160;</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(6,812</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Total convertible senior notes</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">243,737</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">232,767</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <span></span>
</td>
</tr>
</table>
<div style="display: none;"><table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConvertibleDebtTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of borrowings which can be exchanged for a specified number of another security at the option of the issuer or the holder. Disclosures include, but are not limited to, principal amount, amortized premium or discount, and amount of liability and equity components.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConvertibleDebtTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table></div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>49
<FILENAME>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743797635320">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accumulated Other Comprehensive Income (Loss) (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock', window );">Summary of Changes in Accumulated Other Comprehensive Income (Loss)</a></td>
<td class="text"><div style="font-family: ARIAL; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Changes in accumulated other comprehensive income (loss) consisted of the following for the years ended December&#160;31, 2020 and 2019 (amounts in thousands): </div></div> <div style="font-size: 12pt; margin-top: 0pt; margin-bottom: 0pt;"><div style="font-size: 12pt; letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></div>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 68%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 80%;"/>
<td style="width: 9%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Foreign<br/> Currency<br/> Translation<br/> Adjustment</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Balance as of December&#160;31, 2018</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">(11,893</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Other comprehensive loss</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(3,134</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Balance as of December&#160;31, 2019</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">(15,027</td>
<td style="vertical-align: bottom; white-space: nowrap;">)&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Other comprehensive income</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">17,112</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 1px solid rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Balance as of December&#160;31, 2020</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">2,085</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-size: 1px;">
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td style="vertical-align: bottom;"> <div style="margin-top: 0px; margin-bottom: 0px; border-top: 3px double rgb(0, 0, 0); line-height: normal;">&#160;</div> </td>
<td>&#160;</td> </tr> </table> <span></span>
</td>
</tr>
</table>
<div style="display: none;"><table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of accumulated other comprehensive income (loss).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6450520&amp;loc=d3e32583-110901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669686-108580<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32211-110900<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table></div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>50
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743797415944">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Selected Quarterly Financial Data (Unaudited) (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock', window );">Consolidated Statements of Operations Information for Each of Previous Eight Quarters</a></td>
<td class="text">
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 51%;"/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="14" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended December 31, 2020</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Q1</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Q2</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Q3</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;&#160;</td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Q4</div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td colspan="14" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands, except per share data)</div></div></td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Revenue</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">76,090</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">87,462</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">94,060</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">108,648</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Gross profit</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">44,108</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">50,599</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">54,434</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">60,485</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating expenses</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">64,184</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">67,925</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">73,099</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">91,229</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Net income</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">9,815</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">15,861</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">14,552</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;;text-align:right;">19,698</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Earnings per share:</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td>
<td style="vertical-align: bottom; font-family: ARIAL;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Basic</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">0.19</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">0.30</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">0.28</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">0.37</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Diluted</div></div> </td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">0.18</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">0.30</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">0.27</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td>
<td style="vertical-align: bottom;">&#160;&#160;</td>
<td style="vertical-align: bottom;">$</td>
<td style="vertical-align: bottom;;text-align:right;">0.36</td>
<td style="vertical-align: bottom; white-space: nowrap;">&#160;</td> </tr> </table>
<table cellpadding="0" cellspacing="0" style="margin: 0px auto; border: 0px currentcolor; width: 92%; font-family: ARIAL; font-size: 10pt; border-collapse: collapse; border-spacing: 0px;">
<tr style="font-size: 0px;">
<td style="width: 52%;"/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/>
<td style="width: 4%; vertical-align: bottom;"/>
<td/>
<td/>
<td/> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td colspan="14" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">For the Years Ended December 31, 2019</div></div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom; padding-bottom: 1pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Q1</div></div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Q2</div></div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Q3</div></div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td colspan="2" style="vertical-align: bottom; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1pt; border-bottom-style: solid;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Q4</div></div></div></td>
<td style="vertical-align: bottom; padding-bottom: 1pt;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td> </tr>
<tr style="font-family: ARIAL; font-size: 8pt; page-break-inside: avoid;">
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td colspan="14" style="vertical-align: bottom;;text-align:center;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">(Amounts in thousands, except per share data)</div></div></div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top; font-size: 10pt;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Revenue</div></div></div> </td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">$</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">60,634</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">$</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">70,692</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">$</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">69,445</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">$</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">69,474</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top; font-size: 10pt;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Gross profit</div></div></div> </td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">33,789</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">39,984</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">38,020</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">39,353</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top; font-size: 10pt;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Operating expenses</div></div></div> </td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">49,463</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">59,638</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">61,481</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">63,580</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top; font-size: 10pt;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Net income</div></div></div> </td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">8,053</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">8,095</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">1,659</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">3,604</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top; font-size: 10pt;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Earnings per share:</div></div></div> </td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td>
<td style="vertical-align: bottom;">&#160;</td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid;">
<td style="vertical-align: top; font-size: 10pt;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Basic</div></div></div> </td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">$</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">0.18</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">$</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">0.17</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">$</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">0.03</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">$</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">0.07</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td> </tr>
<tr style="font-family: ARIAL; font-size: 10pt; page-break-inside: avoid; background-color: rgb(204, 238, 255);">
<td style="vertical-align: top; font-size: 10pt;"> <div style="text-indent: -1em; font-family: ARIAL; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 3em; line-height: normal;"><div style="letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-family: ARIAL; font-size: 10pt; letter-spacing: 0px; top: 0px;;display:inline;">Diluted</div></div></div> </td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">$</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">0.17</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">$</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">0.17</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">$</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">0.03</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;&#160;</div></td>
<td style="vertical-align: bottom;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">$</div></td>
<td style="vertical-align: bottom;;text-align:right;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">0.07</div></td>
<td style="vertical-align: bottom; white-space: nowrap;"><div style="letter-spacing: 0px; top: 0px;;display:inline;">&#160;</div></td> </tr> </table> <span></span>
</td>
</tr>
</table>
<div style="display: none;"><table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of quarterly financial data. Includes, but is not limited to, financial information for fiscal quarters, cumulative effect of a change in accounting principle and earnings per share data.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 270<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121640914&amp;loc=d3e1280-108306<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table></div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>51
<FILENAME>R38.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743886621880">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary Of Significant Accounting Policies  -  Additional Information (Detail) - USD ($)<br></strong></div></th>
<th class="th" colspan="4">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
<th class="th"><div>Jun. 30, 2020</div></th>
<th class="th"><div>Jul. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_SummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Summary Of Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Stock options, outstanding</a></td>
<td class="nump">696,711<span></span>
</td>
<td class="nump">957,559<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Stock options, weighted average exercise price</a></td>
<td class="nump">$ 43.88<span></span>
</td>
<td class="nump">$ 30.81<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Common stock excluded from calculation of diluted earnings per share</a></td>
<td class="nump">98,048<span></span>
</td>
<td class="nump">104,316<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">479,854<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities', window );">Convertible senior notes</a></td>
<td class="nump">366,534<span></span>
</td>
<td class="nump">1,123,139<span></span>
</td>
<td class="nump">1,123,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdvertisingExpense', window );">Advertising Expense</a></td>
<td class="nump">$ 300,000<span></span>
</td>
<td class="nump">$ 100,000<span></span>
</td>
<td class="nump">$ 200,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">717,292,000<span></span>
</td>
<td class="nump">528,392,000<span></span>
</td>
<td class="nump">$ 193,822,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestrictedCashAndCashEquivalentsNoncurrent', window );">Restricted Cash</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 9,000,000.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 9,000,000.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember', window );">Accounts Receivable [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_SummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Summary Of Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration Risk, Percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAxis=us-gaap_MoneyMarketFundsMember', window );">Money Market Funds [Member] | Fair Value, Inputs, Level 1 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_SummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Summary Of Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 549,000,000.0<span></span>
</td>
<td class="nump">$ 415,600,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember', window );">0.375% Convertible Senior Notes due 2024</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_SummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Summary Of Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Principal amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 287,500,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentFrequencyOfPeriodicPayment', window );">Notes, frequency of periodic payment</a></td>
<td class="text">semi-annually<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Total convertible senior notes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">501,000,000.0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebtFairValue', window );">Fair value of convertible senior notes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 243,700,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Senior convertible notes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.375%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.375%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_TitleOfIndividualAxis=srt_ExecutiveOfficerMember', window );">Awards Granted to Executive Level Employees</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_SummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Summary Of Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_PercentageOfSharesSubjectToForfeiture', window );">Estimated forfeiture rates</a></td>
<td class="nump">3.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_TitleOfIndividualAxis=rgen_NonExecutiveMember', window );">Awards Granted to Non-Executive Level Employees</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_SummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Summary Of Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_PercentageOfSharesSubjectToForfeiture', window );">Estimated forfeiture rates</a></td>
<td class="nump">8.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=rgen_OptionToPurchaseCommonStockMember', window );">Option To Purchase Common Stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_SummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Summary Of Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Stock options, outstanding</a></td>
<td class="nump">696,711<span></span>
</td>
<td class="nump">957,559<span></span>
</td>
<td class="nump">998,226<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Stock options, weighted average exercise price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 30.81<span></span>
</td>
<td class="nump">$ 27.54<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted Stock Units (RSUs)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_SummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Summary Of Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Restricted stock units, outstanding</a></td>
<td class="nump">665,540<span></span>
</td>
<td class="nump">734,984<span></span>
</td>
<td class="nump">705,413<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=rgen_NonEmployeeDirectorStockOptionMember', window );">Non-Employee Directors</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_SummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Summary Of Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_PercentageOfSharesSubjectToForfeiture', window );">Estimated forfeiture rates</a></td>
<td class="nump">0.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Employee Stock Option [Member] | Awards Granted to Executive Level Employees</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_SummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Summary Of Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_PercentageOfSharesSubjectToForfeiture', window );">Estimated forfeiture rates</a></td>
<td class="nump">3.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Employee Stock Option [Member] | Awards Granted to Non-Executive Level Employees</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_SummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Summary Of Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_PercentageOfSharesSubjectToForfeiture', window );">Estimated forfeiture rates</a></td>
<td class="nump">8.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_MajorCustomersAxis=rgen_CytivaMember', window );">Cytiva [Member] | Accounts Receivable [Member] | Customer Concentration Risk [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_SummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Summary Of Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration Risk, Percentage</a></td>
<td class="nump">11.00%<span></span>
</td>
<td class="nump">18.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_PercentageOfSharesSubjectToForfeiture">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of shares subject to forfeiture.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_PercentageOfSharesSubjectToForfeiture</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_SummaryOfSignificantAccountingPoliciesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Summary Of Significant Accounting Policies [Line Items]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_SummaryOfSignificantAccountingPoliciesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdvertisingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount charged to advertising expense for the period, which are expenses incurred with the objective of increasing revenue for a specified brand, product or product line.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 720<br> -SubTopic 35<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6420018&amp;loc=d3e36677-107848<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdvertisingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3044-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6676-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskPercentage1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the "benchmark" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e9054-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6351-108592<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=121572278&amp;loc=d3e13531-108611<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121572278&amp;loc=d3e13537-108611<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6404-108592<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskPercentage1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentFaceAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Face (par) amount of debt instrument at time of issuance.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=119993939&amp;loc=d3e28551-108399<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=114775985&amp;loc=d3e28878-108400<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentFaceAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentFrequencyOfPeriodicPayment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Description of the frequency of periodic payments (monthly, quarterly, annual).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 470<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=75038535&amp;loc=d3e64711-112823<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentFrequencyOfPeriodicPayment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentInterestRateStatedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Contractual interest rate for funds borrowed, under the debt agreement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateStatedPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of convertible debt securities using the if-converted method.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 40<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1930-109256<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 42<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e2029-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=120520924&amp;loc=SL6031897-161870<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The fair value amount of long-term debt whether such amount is presented as a separate caption or as a parenthetical disclosure. Additionally, this element may be used in connection with the fair value disclosures required in the footnote disclosures to the financial statements. The element may be used in both the balance sheet and disclosure in the same submission.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestrictedCashAndCashEquivalentsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents restricted as to withdrawal or usage, classified as noncurrent. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6812-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121583591&amp;loc=SL98516268-108586<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3044-108585<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 954<br> -SubTopic 210<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=120413173&amp;loc=SL116631458-115580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedCashAndCashEquivalentsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of options outstanding, including both vested and non-vested options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAxis=us-gaap_MoneyMarketFundsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAxis=us-gaap_MoneyMarketFundsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=srt_ExecutiveOfficerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=srt_ExecutiveOfficerMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=rgen_NonExecutiveMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=rgen_NonExecutiveMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=rgen_OptionToPurchaseCommonStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=rgen_OptionToPurchaseCommonStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=rgen_NonEmployeeDirectorStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=rgen_NonEmployeeDirectorStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=rgen_CytivaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=rgen_CytivaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>52
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743798996264">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Schedule of Cash, Cash Equivalents and Restricted Cash (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsLineItems', window );"><strong>Cash and Cash Equivalents [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 717,292<span></span>
</td>
<td class="nump">$ 528,392<span></span>
</td>
<td class="nump">$ 193,822<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestrictedCash', window );">Restricted cash</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,015<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Total cash, cash equivalents, and restricted cash</a></td>
<td class="nump">$ 717,292<span></span>
</td>
<td class="nump">$ 537,407<span></span>
</td>
<td class="nump">$ 193,822<span></span>
</td>
<td class="nump">$ 173,759<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3044-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6676-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3521-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3044-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121583591&amp;loc=SL98516268-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestrictedCash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash restricted as to withdrawal or usage. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121583591&amp;loc=SL98516268-108586<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(1)(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedCash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>53
<FILENAME>R40.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743886368568">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Estimated Useful Life of Assets (Detail)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember', window );">Building [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated Useful Life</a></td>
<td class="text">30 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember', window );">Leasehold Improvements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentEstimatedUsefulLives', window );">Estimated Useful Life</a></td>
<td class="text">Shorter of the term of the lease or estimated useful life<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember', window );">Equipment [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated Useful Life</a></td>
<td class="text">12 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember', window );">Equipment [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated Useful Life</a></td>
<td class="text">3 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=rgen_FurnitureFixturesAndOfficeEquipmentMemberMember', window );">Furniture Fixtures And Office Equipment Member [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated Useful Life</a></td>
<td class="text">8 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=rgen_FurnitureFixturesAndOfficeEquipmentMemberMember', window );">Furniture Fixtures And Office Equipment Member [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated Useful Life</a></td>
<td class="text">3 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=rgen_ComputerHardwareAndSoftwareMemberMember', window );">Computer Hardware And Software member [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated Useful Life</a></td>
<td class="text">7 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=rgen_ComputerHardwareAndSoftwareMemberMember', window );">Computer Hardware And Software member [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated Useful Life</a></td>
<td class="text">3 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentEstimatedUsefulLives">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Describes the periods of time over which an entity anticipates to receive utility from its property, plant and equipment (that is, the periods of time over which an entity allocates the initial cost of its property, plant and equipment).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 35<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=68071081&amp;loc=d3e1205-110223<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentEstimatedUsefulLives</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=rgen_FurnitureFixturesAndOfficeEquipmentMemberMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=rgen_FurnitureFixturesAndOfficeEquipmentMemberMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=rgen_ComputerHardwareAndSoftwareMemberMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=rgen_ComputerHardwareAndSoftwareMemberMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>54
<FILENAME>R41.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743806658088">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Reconciliation of Basic and Diluted Shares Amounts (Detail) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="8">3 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Sep. 30, 2020</div></th>
<th class="th"><div>Jun. 30, 2020</div></th>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Sep. 30, 2019</div></th>
<th class="th"><div>Jun. 30, 2019</div></th>
<th class="th"><div>Mar. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems', window );"><strong>Schedule Of Earnings Per Share Basic And Diluted [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 19,698<span></span>
</td>
<td class="nump">$ 14,552<span></span>
</td>
<td class="nump">$ 15,861<span></span>
</td>
<td class="nump">$ 9,815<span></span>
</td>
<td class="nump">$ 3,604<span></span>
</td>
<td class="nump">$ 1,659<span></span>
</td>
<td class="nump">$ 8,095<span></span>
</td>
<td class="nump">$ 8,053<span></span>
</td>
<td class="nump">$ 59,926<span></span>
</td>
<td class="nump">$ 21,411<span></span>
</td>
<td class="nump">$ 16,617<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Weighted average shares used in computing net income per share - basic</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">52,554,000<span></span>
</td>
<td class="nump">48,343,000<span></span>
</td>
<td class="nump">43,767,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DilutiveSecuritiesAbstract', window );"><strong>Effect of dilutive shares:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesRestrictedStock', window );">Options and stock units</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">971,000<span></span>
</td>
<td class="nump">864,000<span></span>
</td>
<td class="nump">581,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities', window );">Convertible senior notes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">366,534<span></span>
</td>
<td class="nump">1,123,139<span></span>
</td>
<td class="nump">1,123,000<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment', window );">Dilutive potential common shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,338,000<span></span>
</td>
<td class="nump">864,000<span></span>
</td>
<td class="nump">1,704,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Weighted average shares used in computing net income per share - diluted</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">53,892,000<span></span>
</td>
<td class="nump">49,206,000<span></span>
</td>
<td class="nump">45,471,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasicAndDilutedAbstract', window );"><strong>Earnings per share:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic</a></td>
<td class="nump">$ 0.37<span></span>
</td>
<td class="nump">$ 0.28<span></span>
</td>
<td class="nump">$ 0.30<span></span>
</td>
<td class="nump">$ 0.19<span></span>
</td>
<td class="nump">$ 0.07<span></span>
</td>
<td class="nump">$ 0.03<span></span>
</td>
<td class="nump">$ 0.17<span></span>
</td>
<td class="nump">$ 0.18<span></span>
</td>
<td class="nump">$ 1.14<span></span>
</td>
<td class="nump">$ 0.44<span></span>
</td>
<td class="nump">$ 0.38<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted</a></td>
<td class="nump">$ 0.36<span></span>
</td>
<td class="nump">$ 0.27<span></span>
</td>
<td class="nump">$ 0.30<span></span>
</td>
<td class="nump">$ 0.18<span></span>
</td>
<td class="nump">$ 0.07<span></span>
</td>
<td class="nump">$ 0.03<span></span>
</td>
<td class="nump">$ 0.17<span></span>
</td>
<td class="nump">$ 0.17<span></span>
</td>
<td class="nump">$ 1.11<span></span>
</td>
<td class="nump">$ 0.44<span></span>
</td>
<td class="nump">$ 0.37<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Schedule Of Earnings Per Share Basic And Diluted [Line Items]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DilutiveSecuritiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DilutiveSecuritiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22583-107794<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1448-109256<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22595-107794<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1337-109256<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=120380238&amp;loc=d3e4984-109258<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=120380238&amp;loc=d3e3842-109258<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22644-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1252-109256<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=SL5780133-109256<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasicAndDilutedAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasicAndDilutedAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=120380238&amp;loc=d3e4984-109258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22644-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=120380238&amp;loc=d3e3842-109258<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1252-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22595-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22583-107794<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1337-109256<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of convertible debt securities using the if-converted method.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 40<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1930-109256<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 42<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e2029-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669619-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8924-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22595-107794<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669625-108580<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22499-107794<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8906-108599<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22583-107794<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=SL5780133-109256<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesRestrictedStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares of restricted stock determined by relating the portion of time within a reporting period that restricted shares have been outstanding to the total time in that period. Restricted shares are subject to sales, contractual, regulatory or other restrictions that prevent or inhibit the holder from freely disposing of them before the restriction ends.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e2646-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesRestrictedStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>55
<FILENAME>R42.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743898587160">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Product Revenues by Product Line (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="8">3 Months Ended</th>
<th class="th" colspan="5">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Sep. 30, 2020</div></th>
<th class="th"><div>Jun. 30, 2020</div></th>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Sep. 30, 2019</div></th>
<th class="th"><div>Jun. 30, 2019</div></th>
<th class="th"><div>Mar. 31, 2019</div></th>
<th class="th" colspan="2"><div>Dec. 31, 2020</div></th>
<th class="th" colspan="2"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 108,648<span></span>
</td>
<td class="nump">$ 94,060<span></span>
</td>
<td class="nump">$ 87,462<span></span>
</td>
<td class="nump">$ 76,090<span></span>
</td>
<td class="nump">$ 69,474<span></span>
</td>
<td class="nump">$ 69,445<span></span>
</td>
<td class="nump">$ 70,692<span></span>
</td>
<td class="nump">$ 60,634<span></span>
</td>
<td class="nump">$ 366,260<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 270,245<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 194,032<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=rgen_FiltrationProductsMember', window );">Filtration Products [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">174,896<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">119,534<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[2]</sup></td>
<td class="nump">90,586<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=rgen_ChromatographyProductsMember', window );">Chromatography Products [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">73,551<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">64,635<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[2]</sup></td>
<td class="nump">45,326<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=rgen_ProcessAnalyticsProductsMember', window );">Process Analytics Products [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">33,346<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">16,405<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[2]</sup></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=rgen_ProteinsProductsMember', window );">Proteins Products [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">80,732<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">65,124<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[2]</sup></td>
<td class="nump">54,375<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=rgen_OtherProductsMember', window );">Other products [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,611<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">4,399<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[2]</sup></td>
<td class="nump">3,604<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_ProductMember', window );">Products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 366,136<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">$ 270,097<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[2]</sup></td>
<td class="nump">$ 193,891<span></span>
</td>
</tr>
<tr><td colspan="14"></td></tr>
<tr><td colspan="14"><table class="outerFootnotes" width="100%">
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top">2020 revenue for filtration products includes revenue related to EMT from July 13, 2020, NMS from October 20, 2020 and ARTeSYN from December 3, 2020.</td>
</tr>
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[2]</td>
<td style="vertical-align: top;" valign="top">2019 revenue includes process analytics revenue related to C Technologies from June 1, 2019 through December 31, 2019.</td>
</tr>
</table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e9038-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130545-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8906-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130543-203045<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e9031-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI http://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=rgen_FiltrationProductsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=rgen_FiltrationProductsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=rgen_ChromatographyProductsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=rgen_ChromatographyProductsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=rgen_ProcessAnalyticsProductsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=rgen_ProcessAnalyticsProductsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=rgen_ProteinsProductsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=rgen_ProteinsProductsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=rgen_OtherProductsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=rgen_OtherProductsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_ProductMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_ProductMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>56
<FILENAME>R43.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743800161736">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Percentage of Revenue by Geographic Area (Detail) - Total Revenue - Geographic Concentration Risk [Member]<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Revenues, percentage by country</a></td>
<td class="nump">100.00%<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=rgen_SalesRevenuesGoodsNetMember', window );">North America [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Revenues, percentage by country</a></td>
<td class="nump">48.00%<span></span>
</td>
<td class="nump">51.00%<span></span>
</td>
<td class="nump">48.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=rgen_SalesRevenuesGoodsNetMember', window );">Europe [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Revenues, percentage by country</a></td>
<td class="nump">38.00%<span></span>
</td>
<td class="nump">37.00%<span></span>
</td>
<td class="nump">40.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=rgen_SalesRevenuesGoodsNetMember', window );">APAC Other [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Revenues, percentage by country</a></td>
<td class="nump">14.00%<span></span>
</td>
<td class="nump">12.00%<span></span>
</td>
<td class="nump">12.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskPercentage1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the "benchmark" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e9054-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6351-108592<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=121572278&amp;loc=d3e13531-108611<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121572278&amp;loc=d3e13537-108611<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6404-108592<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskPercentage1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=rgen_SalesRevenuesGoodsNetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=rgen_SalesRevenuesGoodsNetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_GeographicConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=us-gaap_GeographicConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=srt_NorthAmericaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=srt_NorthAmericaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=srt_EuropeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=srt_EuropeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=rgen_APACOtherMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=rgen_APACOtherMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>57
<FILENAME>R44.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743802562472">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Total Assets by Geographic Area (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingAssetReconcilingItemLineItems', window );"><strong>Segment Reporting, Asset Reconciling Item [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Assets', window );">Assets</a></td>
<td class="nump">$ 1,902,887<span></span>
</td>
<td class="nump">$ 1,400,113<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=srt_NorthAmericaMember', window );">North America</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingAssetReconcilingItemLineItems', window );"><strong>Segment Reporting, Asset Reconciling Item [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Assets', window );">Assets</a></td>
<td class="nump">1,697,149<span></span>
</td>
<td class="nump">1,260,217<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=srt_EuropeMember', window );">Europe</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingAssetReconcilingItemLineItems', window );"><strong>Segment Reporting, Asset Reconciling Item [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Assets', window );">Assets</a></td>
<td class="nump">188,698<span></span>
</td>
<td class="nump">133,599<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=rgen_APACMember', window );">APAC</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingAssetReconcilingItemLineItems', window );"><strong>Segment Reporting, Asset Reconciling Item [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Assets', window );">Assets</a></td>
<td class="nump">$ 17,040<span></span>
</td>
<td class="nump">$ 6,297<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI http://asc.fasb.org/extlink&amp;oid=121559654&amp;loc=d3e5710-111685<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingAssetReconcilingItemLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingAssetReconcilingItemLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=srt_NorthAmericaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=srt_NorthAmericaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=srt_EuropeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=srt_EuropeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=rgen_APACMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=rgen_APACMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>58
<FILENAME>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743801497736">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Long Lived Assets by Geographic Area (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingAssetReconcilingItemLineItems', window );"><strong>Segment Reporting, Asset Reconciling Item [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_AssetsNonCurrentExcludingDifferedTaxAssets', window );">Long Lived Assets</a></td>
<td class="nump">$ 92,619<span></span>
</td>
<td class="nump">$ 74,400<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=srt_NorthAmericaMember', window );">North America</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingAssetReconcilingItemLineItems', window );"><strong>Segment Reporting, Asset Reconciling Item [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_AssetsNonCurrentExcludingDifferedTaxAssets', window );">Long Lived Assets</a></td>
<td class="nump">78,429<span></span>
</td>
<td class="nump">66,756<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=srt_EuropeMember', window );">Europe</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingAssetReconcilingItemLineItems', window );"><strong>Segment Reporting, Asset Reconciling Item [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_AssetsNonCurrentExcludingDifferedTaxAssets', window );">Long Lived Assets</a></td>
<td class="nump">12,918<span></span>
</td>
<td class="nump">6,775<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=rgen_APACMember', window );">APAC</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingAssetReconcilingItemLineItems', window );"><strong>Segment Reporting, Asset Reconciling Item [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_AssetsNonCurrentExcludingDifferedTaxAssets', window );">Long Lived Assets</a></td>
<td class="nump">$ 1,272<span></span>
</td>
<td class="nump">$ 869<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_AssetsNonCurrentExcludingDifferedTaxAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of total non-current assets excluding deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_AssetsNonCurrentExcludingDifferedTaxAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingAssetReconcilingItemLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingAssetReconcilingItemLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=srt_NorthAmericaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=srt_NorthAmericaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=srt_EuropeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=srt_EuropeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=rgen_APACMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=rgen_APACMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>59
<FILENAME>R46.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743802674264">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Percentage of Revenue from Significant Customers (Detail) - Customer Concentration Risk - Sales Revenue<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember', window );">MilliporeSigma</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EntityWideRevenueMajorCustomerLineItems', window );"><strong>Revenue, Major Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Revenue from significant customers as a percentage of total revenue</a></td>
<td class="nump">11.00%<span></span>
</td>
<td class="nump">13.00%<span></span>
</td>
<td class="nump">15.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember', window );">Cytiva (formerly GE Healthcare)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EntityWideRevenueMajorCustomerLineItems', window );"><strong>Revenue, Major Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Revenue from significant customers as a percentage of total revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12.00%<span></span>
</td>
<td class="nump">15.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskPercentage1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the "benchmark" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e9054-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6351-108592<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=121572278&amp;loc=d3e13531-108611<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121572278&amp;loc=d3e13537-108611<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6404-108592<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskPercentage1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EntityWideRevenueMajorCustomerLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EntityWideRevenueMajorCustomerLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=rgen_MilliporeSigmaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=rgen_MilliporeSigmaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=rgen_CytivaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=rgen_CytivaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>60
<FILENAME>R47.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743886743928">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Acquisitions - Additional Information (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">7 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Oct. 27, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Jul. 13, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts', window );">Transaction costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Business acquisition, goodwill acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">468,413<span></span>
</td>
<td class="nump">$ 618,305<span></span>
</td>
<td class="nump">468,413<span></span>
</td>
<td class="nump">$ 326,735<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_TitleOfIndividualAxis=us-gaap_TrustForBenefitOfEmployeesMember', window );">Employees</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts', window );">Transaction costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CompensationExpenseExcludingCostOfGoodAndServiceSold', window );">Compensation Expense, Excluding Cost of Good and Service Sold</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember', window );">Selling, general and administrative</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts', window );">Transaction costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_CTechnologiesMember', window );">C Technologies, Inc.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual', window );">Business acquisition, revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">16,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss', window );">Business acquisitions proforma net loss</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 7,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 23,394<span></span>
</td>
<td class="nump">$ 21,195<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Business acquisition, goodwill acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">142,314<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1', window );">Deferred tax liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_CTechnologiesMember', window );">C Technologies, Inc. | Employees</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CompensationExpenseExcludingCostOfGoodAndServiceSold', window );">Compensation Expense, Excluding Cost of Good and Service Sold</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_CTechnologiesMember', window );">C Technologies, Inc. | Goodwill [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue', window );">Intangible Asset Residual Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">142,300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_ArtesynBiosolutionsMember', window );">ARTeSYN Biosolutions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesGross', window );">Cash consideration</a></td>
<td class="nump">$ 130,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 130,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued', window );">Shares issued for business acquisition</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">372,990<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Value of common stock issued</a></td>
<td class="nump">70,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 69,422<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Business combination, consideration transferred</a></td>
<td class="nump">$ 200,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">203,993<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets', window );">Fair value of tangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,900<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Fair value of acquired finite lived intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">67,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue', window );">Intangible Asset Residual Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">128,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred', window );">Business combination contingent consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,548<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices', window );">Business Combination settlement of preexisting invoices</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,310<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Business acquisition, goodwill acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">128,658<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_ArtesynBiosolutionsMember', window );">ARTeSYN Biosolutions | Goodwill [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue', window );">Intangible Asset Residual Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">128,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_NonMetallicSolutionsMember', window );">Non-Metallic Solutions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Business combination, consideration transferred</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">16,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets', window );">Fair value of tangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">900<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Fair value of acquired finite lived intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue', window );">Intangible Asset Residual Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts', window );">Transaction costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_BusinessCombinationsCashDepositedInEscrowAccount', window );">Business combinations cash deposited in escrow account</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Business acquisition, goodwill acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,784<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_NonMetallicSolutionsMember', window );">Non-Metallic Solutions | Goodwill [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue', window );">Intangible Asset Residual Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_EngineeredMoldingTechnologyLlcMember', window );">Engineered Molding Technology LLC</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Business combination, consideration transferred</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">28,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets', window );">Fair value of tangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationAcquisitionRelatedCosts', window );">Business Combination, Acquisition Related Costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Fair value of acquired finite lived intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired', window );">Business acquisition, voting interest acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_BusinessCombinationConsiderationIndemnificationEscrow', window );">Business acquisition, Indemnification escrow</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Business acquisition, goodwill acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,585<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_EngineeredMoldingTechnologyLlcMember', window );">Engineered Molding Technology LLC | Goodwill [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue', window );">Intangible Asset Residual Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 12,600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_BusinessCombinationConsiderationIndemnificationEscrow">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Business Combination Consideration Indemnification Escrow</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_BusinessCombinationConsiderationIndemnificationEscrow</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Tangible Assets</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Business combination settlement of preexisting invoices.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_BusinessCombinationsCashDepositedInEscrowAccount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Business combinations cash deposited in escrow account.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_BusinessCombinationsCashDepositedInEscrowAccount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate expected value at the end of their useful life of a major finite-lived intangible asset class acquired during the period either individually or as part of a group of assets (in either an asset acquisition or business combination). A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of direct costs of the business combination including legal, accounting, and other costs incurred to consummate the business acquisition.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares of equity interests issued or issuable to acquire entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=120321790&amp;loc=d3e6927-128479<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of voting equity interests acquired at the acquisition date in the business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The pro forma net Income or Loss for the period as if the business combination or combinations had been completed at the beginning of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationAcquisitionRelatedCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This element represents acquisition-related costs incurred to effect a business combination which costs have been expensed during the period. Such costs include finder's fees; advisory, legal, accounting, valuation, and other professional or consulting fees; general administrative costs, including the costs of maintaining an internal acquisitions department; and may include costs of registering and issuing debt and equity securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 25<br> -Paragraph 23<br> -URI http://asc.fasb.org/extlink&amp;oid=116868678&amp;loc=d3e1043-128460<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationAcquisitionRelatedCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationConsiderationTransferred1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=116859721&amp;loc=d3e6613-128477<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120321790&amp;loc=d3e6927-128479<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=116859721&amp;loc=d3e6578-128477<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferred1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of equity interests of the acquirer, including instruments or interests issued or issuable in consideration for the business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=116859721&amp;loc=d3e6613-128477<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=116859721&amp;loc=d3e6578-128477<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities incurred by the acquirer as part of consideration transferred in a business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=116859721&amp;loc=d3e6578-128477<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 25<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=6911189&amp;loc=d3e6405-128476<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=120321790&amp;loc=d3e6927-128479<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=116859721&amp;loc=d3e6613-128477<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120321790&amp;loc=d3e7008-128479<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This element represents the amount of revenue of the acquiree since the acquisition date included in the consolidated income statement for the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of intangible assets, excluding goodwill, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121647850&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationExpenseExcludingCostOfGoodAndServiceSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for salary, wage, profit sharing; incentive and equity-based compensation; and other employee benefit. Other employee benefit expense includes, but is not limited to, service component of net periodic benefit cost for defined benefit plan. Excludes compensation cost in cost of good and service sold.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(b)(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationExpenseExcludingCostOfGoodAndServiceSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=120320667&amp;loc=SL49117168-202975<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireBusinessesGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120321790&amp;loc=d3e6927-128479<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireBusinessesGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=us-gaap_TrustForBenefitOfEmployeesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=us-gaap_TrustForBenefitOfEmployeesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_CTechnologiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_CTechnologiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByAssetClassAxis=us-gaap_GoodwillMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByAssetClassAxis=us-gaap_GoodwillMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_ArtesynBiosolutionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_ArtesynBiosolutionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_NonMetallicSolutionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_NonMetallicSolutionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_EngineeredMoldingTechnologyLlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_EngineeredMoldingTechnologyLlcMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>61
<FILENAME>R48.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743798817336">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Acquisitions (Consideration Transferred) (Detail) - ARTeSYN Biosolutions - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Oct. 27, 2020</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_CashConsiderationExcludingRestrictedCash', window );">Cash consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 130,713<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Equity consideration</a></td>
<td class="nump">$ 70,000<span></span>
</td>
<td class="nump">69,422<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred', window );">Contingent consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,548<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices', window );">Settlement of preexisting liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,310<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Fair value of net assets acquired</a></td>
<td class="nump">$ 200,000<span></span>
</td>
<td class="nump">$ 203,993<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Business combination settlement of preexisting invoices.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_CashConsiderationExcludingRestrictedCash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Cash consideration excluding restricted cash.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_CashConsiderationExcludingRestrictedCash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationConsiderationTransferred1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=116859721&amp;loc=d3e6613-128477<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120321790&amp;loc=d3e6927-128479<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=116859721&amp;loc=d3e6578-128477<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferred1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of equity interests of the acquirer, including instruments or interests issued or issuable in consideration for the business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=116859721&amp;loc=d3e6613-128477<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=116859721&amp;loc=d3e6578-128477<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities incurred by the acquirer as part of consideration transferred in a business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=116859721&amp;loc=d3e6578-128477<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 25<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=6911189&amp;loc=d3e6405-128476<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=120321790&amp;loc=d3e6927-128479<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=116859721&amp;loc=d3e6613-128477<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_ArtesynBiosolutionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_ArtesynBiosolutionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>62
<FILENAME>R49.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743802279416">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Acquisitions (Fair Value of Net Assets Acquired) (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">$ 618,305<span></span>
</td>
<td class="nump">$ 468,413<span></span>
</td>
<td class="nump">$ 326,735<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_ArtesynBiosolutionsMember', window );">ARTeSYN Biosolutions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents', window );">Cash and cash equivalents</a></td>
<td class="nump">2,982<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables', window );">Accounts receivable</a></td>
<td class="nump">4,811<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory', window );">Inventory</a></td>
<td class="nump">8,592<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">5,561<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment', window );">Property and equipment</a></td>
<td class="nump">1,836<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset', window );">Operating lease right of use asset</a></td>
<td class="nump">1,611<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets', window );">Other noncurrent assets</a></td>
<td class="nump">26<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="nump">67,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">128,658<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable', window );">Accounts payable</a></td>
<td class="num">(2,161)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities', window );">Accrued liabilities</a></td>
<td class="num">(8,856)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityCurrent', window );">Deferred revenue</a></td>
<td class="num">(3,583)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilitiesCurrent', window );">Deferred tax liabilities ,net</a></td>
<td class="num">(1,240)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesNotesPayable', window );">Notes payable</a></td>
<td class="num">(24)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent', window );">Operating lease liability</a></td>
<td class="num">(417)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent', window );">Operating lease liability, long-term</a></td>
<td class="num">(1,193)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet', window );">Fair value of net assets acquired</a></td>
<td class="nump">203,993<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_ArtesynBiosolutionsMember', window );">ARTeSYN Biosolutions | Customer relationships</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="nump">38,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_ArtesynBiosolutionsMember', window );">ARTeSYN Biosolutions | Developed technology</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="nump">27,060<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_ArtesynBiosolutionsMember', window );">ARTeSYN Biosolutions | Trademark and tradename</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="nump">1,630<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_ArtesynBiosolutionsMember', window );">ARTeSYN Biosolutions | Non-compete agreements</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="nump">300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_NonMetallicSolutionsMember', window );">Non-Metallic Solutions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents', window );">Cash and cash equivalents</a></td>
<td class="nump">1,163<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables', window );">Accounts receivable</a></td>
<td class="nump">415<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory', window );">Inventory</a></td>
<td class="nump">334<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">13<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment', window );">Property and equipment</a></td>
<td class="nump">73<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset', window );">Operating lease right of use asset</a></td>
<td class="nump">194<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets', window );">Deferred tax</a></td>
<td class="nump">24<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="nump">8,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">6,784<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable', window );">Accounts payable</a></td>
<td class="num">(96)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities', window );">Accrued liabilities</a></td>
<td class="num">(999)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent', window );">Operating lease liability</a></td>
<td class="num">(136)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent', window );">Operating lease liability, long-term</a></td>
<td class="num">(59)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet', window );">Fair value of net assets acquired</a></td>
<td class="nump">16,170<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_NonMetallicSolutionsMember', window );">Non-Metallic Solutions | Customer relationships</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="nump">6,370<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_NonMetallicSolutionsMember', window );">Non-Metallic Solutions | Developed technology</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="nump">1,810<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_NonMetallicSolutionsMember', window );">Non-Metallic Solutions | Trademark and tradename</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="nump">190<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_NonMetallicSolutionsMember', window );">Non-Metallic Solutions | Non-compete agreements</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="nump">90<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_EngineeredMoldingTechnologyLlcMember', window );">Engineered Molding Technology LLC</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents', window );">Cash and cash equivalents</a></td>
<td class="nump">69<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables', window );">Accounts receivable</a></td>
<td class="nump">1,057<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory', window );">Inventory</a></td>
<td class="nump">449<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">7<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment', window );">Property and equipment</a></td>
<td class="nump">472<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset', window );">Operating lease right of use asset</a></td>
<td class="nump">1,050<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="nump">14,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">12,585<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable', window );">Accounts payable</a></td>
<td class="num">(283)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities', window );">Accrued liabilities</a></td>
<td class="num">(202)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent', window );">Operating lease liability</a></td>
<td class="num">(211)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent', window );">Operating lease liability, long-term</a></td>
<td class="num">(839)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet', window );">Fair value of net assets acquired</a></td>
<td class="nump">28,514<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_EngineeredMoldingTechnologyLlcMember', window );">Engineered Molding Technology LLC | Customer relationships</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="nump">11,080<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_EngineeredMoldingTechnologyLlcMember', window );">Engineered Molding Technology LLC | Developed technology</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="nump">2,910<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_EngineeredMoldingTechnologyLlcMember', window );">Engineered Molding Technology LLC | Trademark and tradename</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="nump">320<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_EngineeredMoldingTechnologyLlcMember', window );">Engineered Molding Technology LLC | Non-compete agreements</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="nump">50<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_CTechnologiesMember', window );">C Technologies</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents', window );">Cash and cash equivalents</a></td>
<td class="nump">3,795<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRestrictedCash', window );">Restricted cash</a></td>
<td class="nump">26,933<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables', window );">Accounts receivable</a></td>
<td class="nump">3,044<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory', window );">Inventory</a></td>
<td class="nump">3,783<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">93<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment', window );">Property and equipment</a></td>
<td class="nump">40<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset', window );">Operating lease right of use asset</a></td>
<td class="nump">3,836<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets', window );">Deferred tax</a></td>
<td class="nump">895<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">142,314<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable', window );">Accounts payable</a></td>
<td class="num">(436)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities', window );">Accrued liabilities</a></td>
<td class="num">(2,767)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedBonus', window );">Accrued bonus</a></td>
<td class="num">(26,928)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityCurrent', window );">Deferred revenue</a></td>
<td class="num">(1,709)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent', window );">Operating lease liability</a></td>
<td class="num">(51)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent', window );">Operating lease liability, long-term</a></td>
<td class="num">(3,785)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet', window );">Fair value of net assets acquired</a></td>
<td class="nump">239,887<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_CTechnologiesMember', window );">C Technologies | Customer relationships</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="nump">59,680<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_CTechnologiesMember', window );">C Technologies | Developed technology</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="nump">28,920<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_CTechnologiesMember', window );">C Technologies | Trademark and tradename</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="nump">1,570<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_CTechnologiesMember', window );">C Technologies | Non-compete agreements</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Business combination, intangible assets</a></td>
<td class="nump">$ 660<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedBonus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Accrued Bonus.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedBonus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Current Liabilities Accrued Liabilities</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesNotesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Business combination recognized identifiable assets acquired and liabilities assumed current liabilities notes payable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesNotesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Business combination recognized identifiable assets acquired and liabilities assumed deferred tax liability current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Lease Liability Current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Lease Liability Non Current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Lease Right Of Use Asset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRestrictedCash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of restricted cash, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRestrictedCash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions, acquired at the acquisition date. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121647850&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121647850&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount due from customers or clients for goods or services, including trade receivables, that have been delivered or sold in the normal course of business, and amounts due from others, including related parties expected to be converted to cash, sold or exchanged within one year or the normal operating cycle, if longer, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121647850&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities incurred for goods and services received that are used in an entity's business and related party payables, assumed at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121647850&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax asset attributable to deductible temporary differences and carryforwards acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121647850&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary difference assumed at the acquisition date that are classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121647850&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of intangible assets, excluding goodwill, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121647850&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of inventory recognized as of the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121647850&amp;loc=d3e4845-128472<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 55<br> -Paragraph 37<br> -URI http://asc.fasb.org/extlink&amp;oid=121600890&amp;loc=d3e2207-128464<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of other assets expected to be realized or consumed after one year or the normal operating cycle, if longer, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121647850&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of property, plant, and equipment recognized as of the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 55<br> -Paragraph 37<br> -URI http://asc.fasb.org/extlink&amp;oid=121600890&amp;loc=d3e2207-128464<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121647850&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount recognized for assets, including goodwill, in excess of (less than) the aggregate liabilities assumed.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121647850&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=120320667&amp;loc=SL49117168-202975<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_ArtesynBiosolutionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_ArtesynBiosolutionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksAndTradeNamesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksAndTradeNamesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_NonMetallicSolutionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_NonMetallicSolutionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_EngineeredMoldingTechnologyLlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_EngineeredMoldingTechnologyLlcMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_CTechnologiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_CTechnologiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>63
<FILENAME>R50.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743800456216">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Acquisitions (Estimated Useful Life and Fair Value) (Detail)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2020 </div>
<div>USD ($)</div>
</th></tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_ArtesynBiosolutionsMember', window );">ARTeSYN Biosolutions</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="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="nump">$ 67,390<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_ArtesynBiosolutionsMember', window );">ARTeSYN Biosolutions | Customer Relationships [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">17 years<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="nump">$ 38,400<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_ArtesynBiosolutionsMember', window );">ARTeSYN Biosolutions | Developed Technology Rights [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">15 years<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="nump">$ 27,060<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_ArtesynBiosolutionsMember', window );">ARTeSYN Biosolutions | Trademark and tradename [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">21 years<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="nump">$ 1,630<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_ArtesynBiosolutionsMember', window );">ARTeSYN Biosolutions | Noncompete Agreements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">3 years<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="nump">$ 300<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_NonMetallicSolutionsMember', window );">Non-Metallic Solutions</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="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="nump">$ 8,460<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_NonMetallicSolutionsMember', window );">Non-Metallic Solutions | Customer Relationships [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">14 years<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="nump">$ 6,370<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_NonMetallicSolutionsMember', window );">Non-Metallic Solutions | Developed Technology Rights [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">12 years<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="nump">$ 1,810<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_NonMetallicSolutionsMember', window );">Non-Metallic Solutions | Trademark and tradename [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">15 years<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="nump">$ 190<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_NonMetallicSolutionsMember', window );">Non-Metallic Solutions | Noncompete Agreements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">3 years<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="nump">$ 90<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_EngineeredMoldingTechnologyLlcMember', window );">Engineered Molding Technology LLC</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="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="nump">$ 14,360<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_EngineeredMoldingTechnologyLlcMember', window );">Engineered Molding Technology LLC | Customer Relationships [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">14 years<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="nump">$ 11,080<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_EngineeredMoldingTechnologyLlcMember', window );">Engineered Molding Technology LLC | Developed Technology Rights [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">11 years<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="nump">$ 2,910<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_EngineeredMoldingTechnologyLlcMember', window );">Engineered Molding Technology LLC | Trademark and tradename [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">14 years<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="nump">$ 320<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_EngineeredMoldingTechnologyLlcMember', window );">Engineered Molding Technology LLC | Noncompete Agreements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">3 years<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Fair Value</a></td>
<td class="nump">$ 50<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of identifiable intangible assets recognized as of the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 55<br> -Paragraph 37<br> -URI http://asc.fasb.org/extlink&amp;oid=121600890&amp;loc=d3e2207-128464<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121647850&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_ArtesynBiosolutionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_ArtesynBiosolutionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_NonMetallicSolutionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_NonMetallicSolutionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_EngineeredMoldingTechnologyLlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_EngineeredMoldingTechnologyLlcMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>64
<FILENAME>R51.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743798770696">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Acquisitions (Unaudited Supplemental Pro Forma Information) (Detail) - C Technologies [Member] - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="1">7 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionsProFormaRevenue', window );">Total revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 279,434<span></span>
</td>
<td class="nump">$ 217,739<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 7,400<span></span>
</td>
<td class="nump">$ 23,394<span></span>
</td>
<td class="nump">$ 21,195<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic', window );">Basic</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.48<span></span>
</td>
<td class="nump">$ 0.44<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted', window );">Diluted</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.48<span></span>
</td>
<td class="nump">$ 0.43<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The pro forma basic net income per share for a period as if the business combination or combinations had been completed at the beginning of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The pro forma diluted net income per share for a period as if the business combination or combinations had been completed at the beginning of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The pro forma net Income or Loss for the period as if the business combination or combinations had been completed at the beginning of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionsProFormaRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The pro forma revenue for a period as if the business combination or combinations had been completed at the beginning of the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionsProFormaRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_CTechnologiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_CTechnologiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>65
<FILENAME>R52.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743805441736">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases - Additional Information (Detail)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jul. 07, 2020 </div>
<div>ft&#178;</div>
</th>
<th class="th">
<div>Dec. 31, 2019 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating lease right of use assets</a></td>
<td class="nump">$ 25,176<span></span>
</td>
<td class="nump">$ 25,176<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 25,707<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Operating lease liabilities</a></td>
<td class="nump">31,679<span></span>
</td>
<td class="nump">31,679<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 30,552<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_IncreaseDecreaseInOperatingLeaseLiabilities', window );">Increase in operating lease liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertySubjectToOrAvailableForOperatingLeaseAxis=rgen_MarlboroughMassachusettsMember', window );">Marlborough Massachusetts [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_IncreaseDecreaseInRightOfUseAssets', window );">Increase in right of use asset</a></td>
<td class="nump">2,800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_IncreaseDecreaseInOperatingLeaseLiabilities', window );">Increase in operating lease liabilities</a></td>
<td class="nump">$ 2,800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AreaOfLand', window );">Expansion of existing premises | ft&#178;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">66,939<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_IncreaseDecreaseInOperatingLeaseLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents Increase Decrease In operating Lease Liabilities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_IncreaseDecreaseInOperatingLeaseLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_IncreaseDecreaseInRightOfUseAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents Increase Decrease In Right Of Use Assets And Lease Liabilities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_IncreaseDecreaseInRightOfUseAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AreaOfLand">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Area of land held.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AreaOfLand</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:areaItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121603541&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121603541&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertySubjectToOrAvailableForOperatingLeaseAxis=rgen_MarlboroughMassachusettsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertySubjectToOrAvailableForOperatingLeaseAxis=rgen_MarlboroughMassachusettsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>66
<FILENAME>R53.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743805825752">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leases (Maturities of lease liabilities) (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2021</a></td>
<td class="nump">$ 7,007<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo', window );">2022</a></td>
<td class="nump">5,732<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree', window );">2023</a></td>
<td class="nump">4,614<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour', window );">2024</a></td>
<td class="nump">4,162<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive', window );">2025</a></td>
<td class="nump">3,653<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive', window );">2026 and thereafter</a></td>
<td class="nump">12,949<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Total future minimum lease payments</a></td>
<td class="nump">38,117<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount', window );">Less: amount of lease payment representing interest</a></td>
<td class="nump">6,438<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Total operating lease liabilities</a></td>
<td class="nump">$ 31,679<span></span>
</td>
<td class="nump">$ 30,552<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121609121&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease due after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121609121&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121609121&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121609121&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121609121&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121609121&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121609121&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121609121&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121603541&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>67
<FILENAME>R54.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743890607080">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leases (Consolidated Balance Sheet) (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Operating lease liability</a></td>
<td class="nump">$ 5,254<span></span>
</td>
<td class="nump">$ 3,557<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Operating lease liability, long-term</a></td>
<td class="nump">26,425<span></span>
</td>
<td class="nump">26,995<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Minimum operating lease payments</a></td>
<td class="nump">$ 31,679<span></span>
</td>
<td class="nump">$ 30,552<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121603541&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121603541&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121603541&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>68
<FILENAME>R55.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743802751000">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases (Consolidated Statements of Comprehensive Income) (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseCost', window );">Operating lease cost</a></td>
<td class="nump">$ 5,645<span></span>
</td>
<td class="nump">$ 4,480<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_VariableOperatingLeaseCost', window );">Variable operating lease cost</a></td>
<td class="nump">2,033<span></span>
</td>
<td class="nump">1,480<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeaseCost', window );">Lease, cost</a></td>
<td class="nump">$ 7,678<span></span>
</td>
<td class="nump">$ 5,960<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_VariableOperatingLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of variable lease cost, excluded from lease liability, recognized when obligation for payment is incurred for operating leases.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_VariableOperatingLeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lease cost recognized by lessee for lease contract.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=121609121&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=121568110&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=121568110&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121609121&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>69
<FILENAME>R56.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743805720888">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases (Consolidated Statements of Cash flows Related to Operating Leases) (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeasePayments', window );">Operating lease cost</a></td>
<td class="num">$ (5,647)<span></span>
</td>
<td class="num">$ (4,004)<span></span>
</td>
</tr>
</table>
<div style="display: none;"><table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasePayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121603541&amp;loc=SL77918643-209977<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=121609121&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasePayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table></div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>70
<FILENAME>R57.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743802817544">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leases (Operating Lease Liabilities) (Detail)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1', window );">Weighted average remaining lease term (years)</a></td>
<td class="text">7 years 2 months 8 days<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent', window );">Weighted average discount rate</a></td>
<td class="nump">4.90%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average discount rate for operating lease calculated at point in time.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=121609121&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=121568110&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=121568110&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=121609121&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>71
<FILENAME>R58.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743805510200">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Disaggregation of Product Revenues from Contracts with Customers by Major Product Line (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="8">3 Months Ended</th>
<th class="th" colspan="5">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Sep. 30, 2020</div></th>
<th class="th"><div>Jun. 30, 2020</div></th>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Sep. 30, 2019</div></th>
<th class="th"><div>Jun. 30, 2019</div></th>
<th class="th"><div>Mar. 31, 2019</div></th>
<th class="th" colspan="2"><div>Dec. 31, 2020</div></th>
<th class="th" colspan="2"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 108,648<span></span>
</td>
<td class="nump">$ 94,060<span></span>
</td>
<td class="nump">$ 87,462<span></span>
</td>
<td class="nump">$ 76,090<span></span>
</td>
<td class="nump">$ 69,474<span></span>
</td>
<td class="nump">$ 69,445<span></span>
</td>
<td class="nump">$ 70,692<span></span>
</td>
<td class="nump">$ 60,634<span></span>
</td>
<td class="nump">$ 366,260<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 270,245<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 194,032<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_ProductMember', window );">Product</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">366,136<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">270,097<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[2]</sup></td>
<td class="nump">193,891<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_RoyaltyMember', window );">Royalty and Other Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 124<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 148<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 141<span></span>
</td>
</tr>
<tr><td colspan="14"></td></tr>
<tr><td colspan="14"><table class="outerFootnotes" width="100%">
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top">2020 revenue for filtration products includes revenue related to EMT from July 13, 2020, NMS from October 20, 2020 and ARTeSYN from December 3, 2020.</td>
</tr>
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[2]</td>
<td style="vertical-align: top;" valign="top">2019 revenue includes process analytics revenue related to C Technologies from June 1, 2019 through December 31, 2019.</td>
</tr>
</table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e9038-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130545-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8906-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130543-203045<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e9031-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI http://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_ProductMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_ProductMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_RoyaltyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_RoyaltyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>72
<FILENAME>R59.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743805455304">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue from Significant Customers (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="8">3 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Sep. 30, 2020</div></th>
<th class="th"><div>Jun. 30, 2020</div></th>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Sep. 30, 2019</div></th>
<th class="th"><div>Jun. 30, 2019</div></th>
<th class="th"><div>Mar. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 108,648<span></span>
</td>
<td class="nump">$ 94,060<span></span>
</td>
<td class="nump">$ 87,462<span></span>
</td>
<td class="nump">$ 76,090<span></span>
</td>
<td class="nump">$ 69,474<span></span>
</td>
<td class="nump">$ 69,445<span></span>
</td>
<td class="nump">$ 70,692<span></span>
</td>
<td class="nump">$ 60,634<span></span>
</td>
<td class="nump">$ 366,260<span></span>
</td>
<td class="nump">$ 270,245<span></span>
</td>
<td class="nump">$ 194,032<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_MajorCustomersAxis=rgen_MilliporeSigmaMember', window );">MilliporeSigma</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 39,511<span></span>
</td>
<td class="nump">36,190<span></span>
</td>
<td class="nump">29,843<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_MajorCustomersAxis=rgen_CytivaMember', window );">Cytiva (formerly GE Healthcare)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 31,441<span></span>
</td>
<td class="nump">$ 29,616<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e9038-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130545-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8906-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130543-203045<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e9031-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI http://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=rgen_MilliporeSigmaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=rgen_MilliporeSigmaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=rgen_CytivaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=rgen_CytivaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>73
<FILENAME>R60.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743802823368">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Summary of Receivables and Deferred Revenue from Contracts with Customers (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetAndLiabilityAbstract', window );"><strong>Balances from contracts with customers only:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable</a></td>
<td class="nump">$ 71,257<span></span>
</td>
<td class="nump">$ 43,068<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredRevenue', window );">Deferred revenue (included in accrued liabilities in the consolidated balance sheets)</a></td>
<td class="nump">15,318<span></span>
</td>
<td class="nump">5,005<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract', window );"><strong>Revenue recognized during years presented relating to:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiability', window );">The beginning deferred revenue balance</a></td>
<td class="nump">$ 3,361<span></span>
</td>
<td class="nump">$ 833<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121593590&amp;loc=d3e4428-111522<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6676-107765<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=121593590&amp;loc=d3e4531-111522<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetAndLiabilityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetAndLiabilityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121556615&amp;loc=SL49130531-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130549-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121556615&amp;loc=SL49130532-203044<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>74
<FILENAME>R61.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743797759144">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Credit Losses - Summary Of Allowance For Credit Losses For Accounts Receivables (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="4">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Sep. 30, 2020</div></th>
<th class="th"><div>Jun. 30, 2020</div></th>
<th class="th"><div>Mar. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditLossAbstract', window );"><strong>Credit Loss [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivable', window );">Beginning balance</a></td>
<td class="num">$ (621)<span></span>
</td>
<td class="num">$ (538)<span></span>
</td>
<td class="num">$ (658)<span></span>
</td>
<td class="num">$ (525)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs', window );">Current period change for write-offs</a></td>
<td class="nump">65<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">37<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProvisionForDoubtfulAccounts', window );">Current period change for expected credit losses</a></td>
<td class="num">(206)<span></span>
</td>
<td class="num">(83)<span></span>
</td>
<td class="nump">83<span></span>
</td>
<td class="num">(133)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivable', window );">Ending balance</a></td>
<td class="num">$ (762)<span></span>
</td>
<td class="num">$ (621)<span></span>
</td>
<td class="num">$ (538)<span></span>
</td>
<td class="num">$ (658)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121599337&amp;loc=SL82919249-210447<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=121611835&amp;loc=d3e5074-111524<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=121599337&amp;loc=SL82919249-210447<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121599878&amp;loc=SL82895884-210446<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of direct write-downs of accounts receivable charged against the allowance.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=121599337&amp;loc=SL82919249-210447<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditLossAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditLossAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProvisionForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expense (reversal of expense) for expected credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121599337&amp;loc=SL82919249-210447<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProvisionForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>75
<FILENAME>R62.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743800022584">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Credit Losses - Additional Information (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditLossAbstract', window );"><strong>Credit Loss [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable</a></td>
<td class="nump">$ 71,257<span></span>
</td>
<td class="nump">$ 43,068<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Accounts receivable, reserve for doubtful accounts</a></td>
<td class="nump">$ 762<span></span>
</td>
<td class="nump">$ 525<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121593590&amp;loc=d3e4428-111522<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6676-107765<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=121593590&amp;loc=d3e4531-111522<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=121611835&amp;loc=d3e5074-111524<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121599878&amp;loc=SL82895884-210446<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditLossAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditLossAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>76
<FILENAME>R63.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743886812648">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Changes in Carrying Value of Goodwill (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillLineItems', window );"><strong>Goodwill [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Balance</a></td>
<td class="nump">$ 468,413<span></span>
</td>
<td class="nump">$ 326,735<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillForeignCurrencyTranslationGainLoss', window );">Cumulative translation adjustment</a></td>
<td class="nump">1,572<span></span>
</td>
<td class="num">(343)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Balance</a></td>
<td class="nump">618,305<span></span>
</td>
<td class="nump">468,413<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_CTechnologiesMember', window );">C Technologies</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillLineItems', window );"><strong>Goodwill [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAcquiredDuringPeriod', window );">Goodwill arising from Acquisition</a></td>
<td class="nump">12,585<span></span>
</td>
<td class="nump">$ 142,021<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Balance</a></td>
<td class="nump">142,314<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_SpectrumIncMember', window );">Spectrum Inc.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillLineItems', window );"><strong>Goodwill [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAcquiredDuringPeriod', window );">Goodwill arising from Acquisition</a></td>
<td class="nump">293<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_NonMetallicSolutionsMember', window );">NMS</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillLineItems', window );"><strong>Goodwill [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAcquiredDuringPeriod', window );">Goodwill arising from Acquisition</a></td>
<td class="nump">6,784<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Balance</a></td>
<td class="nump">6,784<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rgen_ArtesynBiosolutionsMember', window );">ARTeSYN</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillLineItems', window );"><strong>Goodwill [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAcquiredDuringPeriod', window );">Goodwill arising from Acquisition</a></td>
<td class="nump">128,658<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Balance</a></td>
<td class="nump">$ 128,658<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=120320667&amp;loc=SL49117168-202975<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAcquiredDuringPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from a business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAcquiredDuringPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillForeignCurrencyTranslationGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of foreign currency translation gain (loss) which increases (decreases) an asset representing future economic benefits from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillForeignCurrencyTranslationGainLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_CTechnologiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_CTechnologiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_SpectrumIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_SpectrumIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_NonMetallicSolutionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_NonMetallicSolutionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=rgen_ArtesynBiosolutionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=rgen_ArtesynBiosolutionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>77
<FILENAME>R64.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743800775528">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Intangible Assets (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_IntangibleAssetsLineItems', window );"><strong>Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">$ 340,282<span></span>
</td>
<td class="nump">$ 248,683<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IntangibleAssetsGrossExcludingGoodwill', window );">Gross Carrying Value</a></td>
<td class="nump">340,982<span></span>
</td>
<td class="nump">249,383<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(53,882)<span></span>
</td>
<td class="num">(36,831)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(53,882)<span></span>
</td>
<td class="num">(36,831)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">286,400<span></span>
</td>
<td class="nump">211,852<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Net Carrying Value</a></td>
<td class="nump">$ 287,100<span></span>
</td>
<td class="nump">$ 212,552<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">16 years<span></span>
</td>
<td class="text">16 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksMember', window );">Trademark</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_IntangibleAssetsLineItems', window );"><strong>Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill', window );">Gross Carrying Value</a></td>
<td class="nump">$ 700<span></span>
</td>
<td class="nump">$ 700<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_IndefiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">700<span></span>
</td>
<td class="nump">700<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember', window );">Technology&#8212;developed</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_IntangibleAssetsLineItems', window );"><strong>Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">114,217<span></span>
</td>
<td class="nump">82,169<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(14,444)<span></span>
</td>
<td class="num">(9,669)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">$ 99,773<span></span>
</td>
<td class="nump">$ 72,500<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">17 years<span></span>
</td>
<td class="text">19 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_PatentsMember', window );">Patents</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_IntangibleAssetsLineItems', window );"><strong>Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">$ 240<span></span>
</td>
<td class="nump">$ 240<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">$ (240)<span></span>
</td>
<td class="num">$ (240)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">8 years<span></span>
</td>
<td class="text">8 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer relationships</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_IntangibleAssetsLineItems', window );"><strong>Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">$ 217,790<span></span>
</td>
<td class="nump">$ 160,825<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(37,333)<span></span>
</td>
<td class="num">(25,642)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">$ 180,457<span></span>
</td>
<td class="nump">$ 135,183<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">16 years<span></span>
</td>
<td class="text">15 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksMember', window );">Trademark</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_IntangibleAssetsLineItems', window );"><strong>Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">$ 5,893<span></span>
</td>
<td class="nump">$ 3,752<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(541)<span></span>
</td>
<td class="num">(333)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">$ 5,352<span></span>
</td>
<td class="nump">$ 3,419<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">20 years<span></span>
</td>
<td class="text">20 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_OtherIntangibleAssetsMember', window );">Other intangibles</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_IntangibleAssetsLineItems', window );"><strong>Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">$ 2,142<span></span>
</td>
<td class="nump">$ 1,697<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(1,324)<span></span>
</td>
<td class="num">(947)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">$ 818<span></span>
</td>
<td class="nump">$ 750<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average Useful Life (in years)</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">3 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indefinite Lived Intangible Assets Accumulated Amortization</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_IndefiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indefinite Lived Intangible Assets Net</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_IndefiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_IntangibleAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Intangible Assets [Line Items]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_IntangibleAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 928<br> -SubTopic 340<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6473545&amp;loc=d3e61844-108004<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=120154696&amp;loc=d3e54445-107959<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsGrossExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated amortization of intangible assets, excluding goodwill.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsGrossExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph ((a)(1),(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16212-109274<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_PatentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_PatentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_OtherIntangibleAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_OtherIntangibleAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>78
<FILENAME>R65.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743800302136">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Intangible Assets - Additional Information (Detail) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_FiniteLivedIntangibleLiabilitiesLineItems', window );"><strong>Finite-Lived Intangible Liabilities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization expense</a></td>
<td class="nump">$ 16.1<span></span>
</td>
<td class="nump">$ 13.6<span></span>
</td>
<td class="nump">$ 10.6<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_FiniteLivedIntangibleLiabilitiesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Finite-Lived Intangible Liabilities [Line Items]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_FiniteLivedIntangibleLiabilitiesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16225-109274<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>79
<FILENAME>R66.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743798962632">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Amortization Expense for Amortized Intangible Assets (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_FiniteLivedIntangibleLiabilitiesLineItems', window );"><strong>Finite-Lived Intangible Liabilities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths', window );">2021</a></td>
<td class="nump">$ 20,767<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo', window );">2022</a></td>
<td class="nump">20,765<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree', window );">2023</a></td>
<td class="nump">20,648<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour', window );">2024</a></td>
<td class="nump">20,080<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive', window );">2025</a></td>
<td class="nump">19,813<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive', window );">2026 and thereafter</a></td>
<td class="nump">184,327<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Total</a></td>
<td class="nump">$ 286,400<span></span>
</td>
<td class="nump">$ 211,852<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_FiniteLivedIntangibleLiabilitiesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Finite-Lived Intangible Liabilities [Line Items]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_FiniteLivedIntangibleLiabilitiesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=120154696&amp;loc=d3e54445-107959<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>80
<FILENAME>R67.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743799081288">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Schedule of Inventories (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryLineItems', window );"><strong>Inventory [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryRawMaterialsNetOfReserves', window );">Raw materials</a></td>
<td class="nump">$ 48,746<span></span>
</td>
<td class="nump">$ 29,328<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryWorkInProcessNetOfReserves', window );">Work-in-process</a></td>
<td class="nump">8,084<span></span>
</td>
<td class="nump">8,360<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryFinishedGoodsNetOfReserves', window );">Finished products</a></td>
<td class="nump">38,195<span></span>
</td>
<td class="nump">17,144<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Total inventories, net</a></td>
<td class="nump">$ 95,025<span></span>
</td>
<td class="nump">$ 54,832<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryFinishedGoodsNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -URI http://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryFinishedGoodsNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6676-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.6(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryRawMaterialsNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -URI http://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryRawMaterialsNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryWorkInProcessNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -URI http://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryWorkInProcessNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>81
<FILENAME>R68.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743802466376">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Prepaid Expenses and Other Current Assets (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems', window );"><strong>Prepaid Expenses And Other Current Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_PrepaidServicesAndProfessionalFees', window );">Equipment maintenance and services</a></td>
<td class="nump">$ 4,601<span></span>
</td>
<td class="nump">$ 1,662<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PrepaidTaxes', window );">Prepaid taxes</a></td>
<td class="nump">2,649<span></span>
</td>
<td class="nump">2,719<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PrepaidInsurance', window );">Prepaid insurance</a></td>
<td class="nump">1,936<span></span>
</td>
<td class="nump">80<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherAssetsCurrent', window );">Other</a></td>
<td class="nump">9,490<span></span>
</td>
<td class="nump">1,456<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Total prepaid expenses and other current assets</a></td>
<td class="nump">$ 18,676<span></span>
</td>
<td class="nump">$ 5,917<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Prepaid Expenses And Other Current Assets [Line Items]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</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_rgen_PrepaidServicesAndProfessionalFees">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Prepaid Services and Professional Fees</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_PrepaidServicesAndProfessionalFees</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.8)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(7))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6676-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseAndOtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidInsurance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for insurance that provides economic benefits within a future period of one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 340<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6387103&amp;loc=d3e6435-108320<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 340<br> -SubTopic 10<br> -Section 05<br> -Paragraph 5<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=68074540&amp;loc=d3e5879-108316<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (g)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6676-107765<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6787-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidInsurance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for income and other taxes that provide economic benefits within a future period of one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (g)(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6676-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6787-107765<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 340<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6387103&amp;loc=d3e6435-108320<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 340<br> -SubTopic 10<br> -Section 05<br> -Paragraph 5<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=68074540&amp;loc=d3e5879-108316<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>82
<FILENAME>R69.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743801599432">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Property, Plant and Equipment (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Land', window );">Land</a></td>
<td class="nump">$ 1,023<span></span>
</td>
<td class="nump">$ 1,023<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BuildingsAndImprovementsGross', window );">Buildings</a></td>
<td class="nump">1,007<span></span>
</td>
<td class="nump">764<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeaseholdImprovementsGross', window );">Leasehold improvements</a></td>
<td class="nump">31,331<span></span>
</td>
<td class="nump">23,905<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MachineryAndEquipmentGross', window );">Equipment</a></td>
<td class="nump">43,072<span></span>
</td>
<td class="nump">36,257<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FurnitureAndFixturesGross', window );">Furniture, fixtures and office equipment</a></td>
<td class="nump">8,714<span></span>
</td>
<td class="nump">6,312<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalizedComputerSoftwareGross', window );">Computer hardware and software</a></td>
<td class="nump">15,397<span></span>
</td>
<td class="nump">8,810<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConstructionInProgressGross', window );">Construction in progress</a></td>
<td class="nump">14,927<span></span>
</td>
<td class="nump">6,707<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentOther', window );">Other</a></td>
<td class="nump">455<span></span>
</td>
<td class="nump">56<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Total property, plant and equipment</a></td>
<td class="nump">115,926<span></span>
</td>
<td class="nump">83,834<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Less - Accumulated depreciation</a></td>
<td class="num">(49,056)<span></span>
</td>
<td class="num">(35,379)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Total property, plant and equipment, net</a></td>
<td class="nump">$ 66,870<span></span>
</td>
<td class="nump">$ 48,455<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.14)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BuildingsAndImprovementsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation of building structures held for productive use including addition, improvement, or renovation to the structure, including, but not limited to, interior masonry, interior flooring, electrical, and plumbing.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6812-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BuildingsAndImprovementsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedComputerSoftwareGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated amortization of capitalized costs for computer software, including but not limited to, acquired and internally developed computer software.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedComputerSoftwareGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConstructionInProgressGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConstructionInProgressGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FurnitureAndFixturesGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation of equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FurnitureAndFixturesGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Land">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depletion of real estate held for productive use, excluding land held for sale.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.13)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6812-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Land</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseholdImprovementsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation of additions or improvements to assets held under a lease arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6812-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseholdImprovementsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MachineryAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation of tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6812-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MachineryAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.13)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation, depletion and amortization of other physical assets used in the normal conduct of business to produce goods and services and not intended for resale.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>83
<FILENAME>R70.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743799194344">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Balance Sheet - Additional Information (Detail) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation</a></td>
<td class="nump">$ 10.9<span></span>
</td>
<td class="nump">$ 7.3<span></span>
</td>
<td class="nump">$ 5.2<span></span>
</td>
</tr>
</table>
<div style="display: none;"><table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table></div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>84
<FILENAME>R71.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743802670472">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Schedule of Accrued Liabilities (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_ScheduleOfAccruedLiabilitiesLineItems', window );"><strong>Schedule of Accrued Liabilities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeRelatedLiabilitiesCurrent', window );">Employee compensation</a></td>
<td class="nump">$ 20,288<span></span>
</td>
<td class="nump">$ 19,850<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedIncomeTaxesCurrent', window );">Taxes</a></td>
<td class="nump">1,423<span></span>
</td>
<td class="nump">3,874<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedRoyaltiesCurrent', window );">Royalty and license fees</a></td>
<td class="nump">466<span></span>
</td>
<td class="nump">123<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrualClassifiedCurrent', window );">Warranties</a></td>
<td class="nump">1,576<span></span>
</td>
<td class="nump">1,500<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedProfessionalFeesCurrent', window );">Professional fees</a></td>
<td class="nump">1,425<span></span>
</td>
<td class="nump">1,081<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredRevenueCurrent', window );">Deferred revenue</a></td>
<td class="nump">15,318<span></span>
</td>
<td class="nump">5,005<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherAccruedLiabilitiesCurrent', window );">Other</a></td>
<td class="nump">12,589<span></span>
</td>
<td class="nump">1,898<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Total accrued liabilities</a></td>
<td class="nump">$ 53,085<span></span>
</td>
<td class="nump">$ 33,331<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_ScheduleOfAccruedLiabilitiesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Schedule of Accrued Liabilities [Line Items]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_ScheduleOfAccruedLiabilitiesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedIncomeTaxesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all currently due domestic and foreign income tax obligations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(15)(b)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedIncomeTaxesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedProfessionalFeesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred through that date and payable for professional fees, such as for legal and accounting services received. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6911-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6935-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedProfessionalFeesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedRoyaltiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred through that date and payable for royalties. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6911-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6935-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedRoyaltiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredRevenueCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredRevenueCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeRelatedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeRelatedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6911-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e7018-107765<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6935-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductWarrantyAccrualClassifiedCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers. For classified balance sheets, represents the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=68068213&amp;loc=d3e12524-110249<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 25<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=68070138&amp;loc=d3e11281-110244<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyAccrualClassifiedCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>85
<FILENAME>R72.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743797579400">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Before Income Taxes (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems', window );"><strong>Schedule of Income Before Income Tax [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic', window );">Domestic</a></td>
<td class="nump">$ 27,545<span></span>
</td>
<td class="num">$ (5,432)<span></span>
</td>
<td class="num">$ (73)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign', window );">Foreign</a></td>
<td class="nump">31,672<span></span>
</td>
<td class="nump">31,583<span></span>
</td>
<td class="nump">21,509<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before income taxes</a></td>
<td class="nump">$ 59,217<span></span>
</td>
<td class="nump">$ 26,151<span></span>
</td>
<td class="nump">$ 21,436<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Schedule of Income Before Income Tax [Line Items]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of earnings or loss from continuing operations before income taxes that is attributable to domestic operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(h)(1)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.3)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 940<br> -SubTopic 20<br> -Section 25<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=68072869&amp;loc=d3e41242-110953<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8924-108599<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of earnings or loss from continuing operations before income taxes that is attributable to foreign operations, which is defined as Income or Loss generated from operations located outside the entity's country of domicile.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(h)(1)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.3)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>86
<FILENAME>R73.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743802862248">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Current, Deferred and Equity Income Taxes (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_IncomeTaxesLineItems', window );"><strong>Income Taxes [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefit', window );">Current</a></td>
<td class="nump">$ 5,193<span></span>
</td>
<td class="nump">$ 8,290<span></span>
</td>
<td class="nump">$ 4,354<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_ProvisionForDeferredIncomeTaxExpenseBenefit', window );">Deferred</a></td>
<td class="num">(5,902)<span></span>
</td>
<td class="num">(5,287)<span></span>
</td>
<td class="nump">465<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions', window );">Equity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,737<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Total</a></td>
<td class="num">$ (709)<span></span>
</td>
<td class="nump">$ 4,740<span></span>
</td>
<td class="nump">$ 4,819<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_IncomeTaxesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Income Taxes [Line Items]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_IncomeTaxesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</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_rgen_ProvisionForDeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Provision for Deferred Income Tax Expense (Benefit)</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_ProvisionForDeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32639-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The tax effect of an increase or decrease in contributed capital (for example, deductible expenditures reported as a reduction of the proceeds from issuing capital stock) during the period charged or credited directly to shareholders' equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 11<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=120385591&amp;loc=d3e39076-109324<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=120385591&amp;loc=d3e38679-109324<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32672-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22663-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120385591&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>87
<FILENAME>R74.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743799110312">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Provision for Income Taxes by Jurisdiction (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_IncomeTaxesLineItems', window );"><strong>Income Taxes [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations', window );">Federal</a></td>
<td class="num">$ (4,741)<span></span>
</td>
<td class="num">$ (965)<span></span>
</td>
<td class="num">$ (393)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations', window );">State</a></td>
<td class="num">(3,011)<span></span>
</td>
<td class="num">(1,764)<span></span>
</td>
<td class="nump">718<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations', window );">Foreign</a></td>
<td class="nump">7,043<span></span>
</td>
<td class="nump">7,469<span></span>
</td>
<td class="nump">4,494<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Total</a></td>
<td class="num">$ (709)<span></span>
</td>
<td class="nump">$ 4,740<span></span>
</td>
<td class="nump">$ 4,819<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_IncomeTaxesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Income Taxes [Line Items]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_IncomeTaxesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current and deferred federal income tax expense (benefit) attributable to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32672-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current and deferred foreign income tax expense (benefit) attributable to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(h)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32672-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22663-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120385591&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of state and local current and deferred income tax expense (benefit) attributable to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32672-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>88
<FILENAME>R75.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743800890008">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - Additional Information (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Mar. 27, 2020</div></th>
<th class="th"><div>Jan. 01, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_IncomeTaxesLineItems', window );"><strong>Income Taxes [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Net operating loss carry forwards</a></td>
<td class="nump">$ 4,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount', window );">Valuation allowance increase (decrease)</a></td>
<td class="num">(700)<span></span>
</td>
<td class="nump">$ 100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate', window );">Impact of unrecognized tax benefits on effective tax rate</a></td>
<td class="nump">3,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense', window );">Interest and penalties related to income taxes</a></td>
<td class="nump">17,000<span></span>
</td>
<td class="nump">5,000<span></span>
</td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued', window );">Interest and penalties accrued</a></td>
<td class="nump">58,000<span></span>
</td>
<td class="nump">41,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Impact on assets and liabilities due to change in accounting principle</a></td>
<td class="nump">65,769<span></span>
</td>
<td class="nump">$ 5,843<span></span>
</td>
<td class="num">$ (677)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UndistributedEarningsOfForeignSubsidiaries', window );">Undistributed earnings of foreign subsidiaries</a></td>
<td class="nump">113,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_ForeignEarningsSubjectToOneTimeTransitionTax', window );">Foreign earnings subject to one time transition tax</a></td>
<td class="nump">$ 58,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_CoronavirusAidReliefAndEconomicSecurityFundValue', window );">Coronavirus aid relief and economic security fund value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,200,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201606Member', window );">Accounting Standards Update 2016-06 [Member] | Other Assets [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_IncomeTaxesLineItems', window );"><strong>Income Taxes [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Impact on assets and liabilities due to change in accounting principle</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,700<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201606Member', window );">Accounting Standards Update 2016-06 [Member] | Deferred tax liablities [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_IncomeTaxesLineItems', window );"><strong>Income Taxes [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Impact on assets and liabilities due to change in accounting principle</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201606Member', window );">Accounting Standards Update 2016-06 [Member] | accumulated deficit [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_IncomeTaxesLineItems', window );"><strong>Income Taxes [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Impact on assets and liabilities due to change in accounting principle</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 700<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxPeriodAxis=us-gaap_LatestTaxYearMember', window );">Latest Tax Year</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_IncomeTaxesLineItems', window );"><strong>Income Taxes [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherInformationPertainingToIncomeTaxes', window );">Net operating loss and business tax credit carry forwards expiration date</a></td>
<td class="text">at various dates through December 2040.<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember', window );">Domestic Tax Authority</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_IncomeTaxesLineItems', window );"><strong>Income Taxes [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxCreditCarryforwardAmount', window );">Business tax credits carry forwards</a></td>
<td class="nump">$ 3,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember', window );">Domestic Tax Authority | Tax Year 2040</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_IncomeTaxesLineItems', window );"><strong>Income Taxes [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxCreditCarryforwardAmount', window );">Business tax credits carry forwards</a></td>
<td class="nump">6,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_StateAndLocalJurisdictionMember', window );">State</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_IncomeTaxesLineItems', window );"><strong>Income Taxes [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Net operating loss carry forwards</a></td>
<td class="nump">1,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_StateAndLocalJurisdictionMember', window );">State | Tax Year 2040</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_IncomeTaxesLineItems', window );"><strong>Income Taxes [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxCreditCarryforwardAmount', window );">Business tax credits carry forwards</a></td>
<td class="nump">3,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=rgen_FederalAndStateMember', window );">Federal and State</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_IncomeTaxesLineItems', window );"><strong>Income Taxes [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Net operating loss carry forwards</a></td>
<td class="nump">$ 2,900<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_CoronavirusAidReliefAndEconomicSecurityFundValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Coronavirus Aid Relief and Economic Security Fund Value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_CoronavirusAidReliefAndEconomicSecurityFundValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_ForeignEarningsSubjectToOneTimeTransitionTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Foreign Earnings Subject To One Time Transition Tax</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_ForeignEarningsSubjectToOneTimeTransitionTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_IncomeTaxesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Income Taxes [Line Items]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_IncomeTaxesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32559-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLossCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherInformationPertainingToIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Description of events or transactions pertaining to income taxes classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 14<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32705-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherInformationPertainingToIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cumulative amount of the reporting entity's undistributed earnings or deficit.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (g)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=121322162&amp;loc=SL121327923-165333<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=121370832&amp;loc=SL117420844-207641<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=121370832&amp;loc=SL117420844-207641<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TaxCreditCarryforwardAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of the tax credit carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32559-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TaxCreditCarryforwardAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UndistributedEarningsOfForeignSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of undistributed earnings of foreign subsidiaries intended to be permanently reinvested outside the country of domicile.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 740<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6487024&amp;loc=d3e29054-158556<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6424122&amp;loc=d3e41874-109331<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 740<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6479915&amp;loc=d3e66715-112838<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 25<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=121573983&amp;loc=d3e28200-109314<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UndistributedEarningsOfForeignSubsidiaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount accrued for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32718-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32718-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The total amount of unrecognized tax benefits that, if recognized, would affect the effective tax rate.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the valuation allowance for a specified deferred tax asset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201606Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201606Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=us-gaap_OtherAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=us-gaap_OtherAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=rgen_DeferredTaxLiablitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=rgen_DeferredTaxLiablitiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=rgen_AccumulatedDeficitMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=rgen_AccumulatedDeficitMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TaxPeriodAxis=us-gaap_LatestTaxYearMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TaxPeriodAxis=us-gaap_LatestTaxYearMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TaxPeriodAxis=rgen_TaxYear2040Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TaxPeriodAxis=rgen_TaxYear2040Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_StateAndLocalJurisdictionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=us-gaap_StateAndLocalJurisdictionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=rgen_FederalAndStateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=rgen_FederalAndStateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>89
<FILENAME>R76.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743805669448">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Deferred Tax Assets (Liabilities) (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseAbstract', window );"><strong>Temporary timing differences:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 3,320<span></span>
</td>
<td class="nump">$ 2,922<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_DeferredTaxAssetsOperatingLeases', window );">Operating leases</a></td>
<td class="nump">7,257<span></span>
</td>
<td class="nump">7,295<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_DeferredTaxAssetsAccruedBonus', window );">Accrued bonus</a></td>
<td class="nump">25<span></span>
</td>
<td class="nump">1,379<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther', window );">Other</a></td>
<td class="nump">5,749<span></span>
</td>
<td class="nump">4,994<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpense', window );">Total temporary timing differences</a></td>
<td class="nump">16,351<span></span>
</td>
<td class="nump">16,590<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards', window );">Net operating loss carryforwards</a></td>
<td class="nump">1,539<span></span>
</td>
<td class="nump">221<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxCreditCarryforwards', window );">Tax business credits carryforwards</a></td>
<td class="nump">5,553<span></span>
</td>
<td class="nump">924<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsGross', window );">Total deferred tax assets</a></td>
<td class="nump">23,443<span></span>
</td>
<td class="nump">17,735<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsValuationAllowance', window );">Less: valuation allowance</a></td>
<td class="num">(727)<span></span>
</td>
<td class="num">(6)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsNet', window );">Net deferred tax assets</a></td>
<td class="nump">22,716<span></span>
</td>
<td class="nump">17,729<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesAbstract', window );"><strong>Deferred tax liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill', window );">Goodwill</a></td>
<td class="num">(1,487)<span></span>
</td>
<td class="num">(1,288)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_DeferredIncomeTaxLiabilitiesFixedAssets', window );">Fixed assets</a></td>
<td class="num">(4,233)<span></span>
</td>
<td class="num">(1,650)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets', window );">Acquired intangible assets</a></td>
<td class="num">(27,152)<span></span>
</td>
<td class="num">(24,605)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets', window );">Operating lease right of use assets</a></td>
<td class="num">(5,744)<span></span>
</td>
<td class="num">(6,144)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes', window );">Conversion option on convertible notes</a></td>
<td class="num">(8,651)<span></span>
</td>
<td class="num">(11,066)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilities', window );">Total deferred tax liabilities</a></td>
<td class="num">(47,267)<span></span>
</td>
<td class="num">(44,753)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilities', window );">Total net deferred tax liabilities</a></td>
<td class="num">$ (24,551)<span></span>
</td>
<td class="num">$ (27,024)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_DeferredIncomeTaxLiabilitiesFixedAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Deferred income tax liabilities, fixed assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DeferredIncomeTaxLiabilitiesFixedAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_DeferredTaxAssetsAccruedBonus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Deferred tax assets, accrued bonus.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DeferredTaxAssetsAccruedBonus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_DeferredTaxAssetsOperatingLeases">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Deferred Tax Assets Operating Leases.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DeferredTaxAssetsOperatingLeases</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Deferred Tax Liabilities, Conversion Option on Convertible Notes</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Deferred tax liabilities, operating lease right of use assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(15)(b)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsOperatingLossCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxCreditCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, before allocation of a valuation allowances, of deferred tax assets attributable to deductible tax credit carryforwards including, but not limited to, research, foreign, general business, alternative minimum tax, and other deductible tax credit carryforwards.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32632-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32559-109319<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxCreditCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, before allocation of valuation allowances, of deferred tax asset attributable to deductible differences from reserves and accruals, compensation and benefit costs, and other provisions, reserves, and allowances.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from share-based compensation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32632-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences from provisions, reserves, allowances, and accruals, classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=120406818&amp;loc=d3e31931-109318<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from goodwill.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32621-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 740<br> -Section 25<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121554379&amp;loc=d3e9972-128506<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 740<br> -Section 25<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=121554379&amp;loc=d3e9979-128506<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from intangible assets other than goodwill.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32632-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>90
<FILENAME>R77.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743887140952">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Reconciliation of Federal Statutory Rate to Effective Income Tax Rate (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_IncomeTaxRateReconciliationLineItems', window );"><strong>Income Tax Rate Reconciliation [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before income taxes</a></td>
<td class="nump">$ 59,217<span></span>
</td>
<td class="nump">$ 26,151<span></span>
</td>
<td class="nump">$ 21,436<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate', window );">Expected tax at statutory rate</a></td>
<td class="nump">12,436<span></span>
</td>
<td class="nump">5,492<span></span>
</td>
<td class="nump">4,502<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract', window );"><strong>Adjustments due to:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential', window );">Difference between U.S. and foreign tax</a></td>
<td class="nump">618<span></span>
</td>
<td class="nump">436<span></span>
</td>
<td class="nump">345<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes', window );">State income and franchise tax</a></td>
<td class="nump">133<span></span>
</td>
<td class="num">(179)<span></span>
</td>
<td class="nump">91<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationTaxCredits', window );">Business tax credits</a></td>
<td class="num">(4,660)<span></span>
</td>
<td class="num">(2,746)<span></span>
</td>
<td class="num">(1,760)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost', window );">Stock-based compensation expense</a></td>
<td class="num">(9,243)<span></span>
</td>
<td class="num">(1,877)<span></span>
</td>
<td class="num">(1,213)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings', window );">U.S. taxation of foreign earnings</a></td>
<td class="nump">51<span></span>
</td>
<td class="nump">2,227<span></span>
</td>
<td class="nump">2,190<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation', window );">Executive compensation</a></td>
<td class="nump">1,401<span></span>
</td>
<td class="nump">841<span></span>
</td>
<td class="nump">367<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationNondeductibleExpenseOther', window );">Other</a></td>
<td class="nump">896<span></span>
</td>
<td class="nump">92<span></span>
</td>
<td class="nump">97<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationChangeInEnactedTaxRate', window );">Change in U.S. federal tax rates</a></td>
<td class="num">(2,192)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_IncomeTaxReconciliationChangeInStateTaxRate', window );">Change in U.S. state tax rates</a></td>
<td class="num">(708)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">748<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_IncomeTaxReconciliationChangeInForeignTaxRateAmount', window );">Change in Netherlands tax rate</a></td>
<td class="nump">250<span></span>
</td>
<td class="num">(193)<span></span>
</td>
<td class="num">(388)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_TransitionTaxForAccumulatedForeignEarningsProvisionalIncomeTaxExpense', window );">Transition tax</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,338)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationTaxContingencies', window );">Uncertain tax provisions</a></td>
<td class="num">(168)<span></span>
</td>
<td class="nump">1,069<span></span>
</td>
<td class="nump">1,021<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance', window );">Change in valuation allowance</a></td>
<td class="num">(12)<span></span>
</td>
<td class="num">(125)<span></span>
</td>
<td class="nump">125<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_IncomeTaxReconciliationReturnToProvisionAdjustments', window );">Return to provision adjustments</a></td>
<td class="num">(89)<span></span>
</td>
<td class="num">(79)<span></span>
</td>
<td class="nump">33<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationOtherReconcilingItems', window );">Other</a></td>
<td class="nump">578<span></span>
</td>
<td class="num">(218)<span></span>
</td>
<td class="num">(1)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax (benefit) provision</a></td>
<td class="num">$ (709)<span></span>
</td>
<td class="nump">$ 4,740<span></span>
</td>
<td class="nump">$ 4,819<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Expected tax at statutory rate</a></td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract', window );"><strong>Adjustments due to:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential', window );">Difference between U.S. and foreign tax</a></td>
<td class="nump">1.00%<span></span>
</td>
<td class="nump">1.70%<span></span>
</td>
<td class="nump">1.60%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes', window );">State income and franchise tax</a></td>
<td class="nump">0.20%<span></span>
</td>
<td class="num">(0.70%)<span></span>
</td>
<td class="nump">0.40%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits', window );">Business tax credits</a></td>
<td class="num">(7.90%)<span></span>
</td>
<td class="num">(10.50%)<span></span>
</td>
<td class="num">(8.20%)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost', window );">Stock-based compensation expense</a></td>
<td class="num">(15.60%)<span></span>
</td>
<td class="num">(7.20%)<span></span>
</td>
<td class="num">(5.70%)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings', window );">U.S. taxation of foreign earnings</a></td>
<td class="nump">0.10%<span></span>
</td>
<td class="nump">8.50%<span></span>
</td>
<td class="nump">10.20%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation', window );">Executive compensation</a></td>
<td class="nump">2.40%<span></span>
</td>
<td class="nump">3.20%<span></span>
</td>
<td class="nump">1.70%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther', window );">Other</a></td>
<td class="nump">1.50%<span></span>
</td>
<td class="nump">0.40%<span></span>
</td>
<td class="nump">0.50%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate', window );">Change in U.S. federal tax rates</a></td>
<td class="num">(3.70%)<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_EffectiveIncomeTaxRateReconciliationChangeInStateTaxRate', window );">Change in U.S. state tax rates</a></td>
<td class="num">(1.20%)<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">3.50%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_EffectiveIncomeTaxRateReconciliationChangeInForeignTaxRateAmount', window );">Change in Netherlands tax rate</a></td>
<td class="nump">0.40%<span></span>
</td>
<td class="num">(0.70%)<span></span>
</td>
<td class="num">(1.80%)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTax', window );">Transition tax</a></td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="num">(6.20%)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies', window );">Uncertain tax provisions</a></td>
<td class="num">(0.30%)<span></span>
</td>
<td class="nump">4.10%<span></span>
</td>
<td class="nump">4.80%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance', window );">Change in valuation allowance</a></td>
<td class="nump">0.00%<span></span>
</td>
<td class="num">(0.50%)<span></span>
</td>
<td class="nump">0.60%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments', window );">Return to provision adjustments</a></td>
<td class="num">(0.20%)<span></span>
</td>
<td class="num">(0.30%)<span></span>
</td>
<td class="nump">0.20%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments', window );">Other</a></td>
<td class="nump">1.00%<span></span>
</td>
<td class="num">(0.80%)<span></span>
</td>
<td class="num">(0.10%)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations', window );">Income tax (benefit) provision</a></td>
<td class="num">(1.20%)<span></span>
</td>
<td class="nump">18.10%<span></span>
</td>
<td class="nump">22.50%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_EffectiveIncomeTaxRateReconciliationChangeInForeignTaxRateAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Effective Income Tax Rate Reconciliation, Change in Foreign Tax Rate, Amount.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_EffectiveIncomeTaxRateReconciliationChangeInForeignTaxRateAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_EffectiveIncomeTaxRateReconciliationChangeInStateTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Effective Income Tax Rate Reconciliation Change In State Tax Rate</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_EffectiveIncomeTaxRateReconciliationChangeInStateTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Effective Income Tax Rate Reconciliation, Nondeductible Expense, Executive Compensation</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Effective Income Tax Rate Reconciliation, Return to Provision Adjustments</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Effective income tax rate reconciliation change in rate due to transition tax attributable to the Tax Cuts and Jobs Act of 2017.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_IncomeTaxRateReconciliationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Income Tax Rate Reconciliation [Line Items]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_IncomeTaxRateReconciliationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</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_rgen_IncomeTaxReconciliationChangeInForeignTaxRateAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Income Tax Reconciliation, Change in Foreign Tax Rate, Amount.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_IncomeTaxReconciliationChangeInForeignTaxRateAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_IncomeTaxReconciliationChangeInStateTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Income Tax Reconciliation Change In State Tax Rate</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_IncomeTaxReconciliationChangeInStateTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Income Tax Reconciliation, Nondeductible Expense, Executive Compensation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_IncomeTaxReconciliationReturnToProvisionAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Income Tax Reconciliation Return to Provision Adjustments</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_IncomeTaxReconciliationReturnToProvisionAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_TransitionTaxForAccumulatedForeignEarningsProvisionalIncomeTaxExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Transition tax for accumulated foreign earnings, provisional income tax expense.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_TransitionTaxForAccumulatedForeignEarningsProvisionalIncomeTaxExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of domestic federal statutory tax rate applicable to pretax income (loss).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the valuation allowance for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the income tax rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to statutory income tax expense (benefit) outside of the country of domicile.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other nondeductible expenses.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to nondeductible expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to the repatriation of foreign earnings.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to income tax contingencies. Includes, but not limited to, domestic tax contingency, foreign tax contingency, state and local tax contingency, and other contingencies.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to tax credits. Including, but not limited to, research credit, foreign tax credit, investment tax credit, and other tax credits.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 940<br> -SubTopic 20<br> -Section 25<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=68072869&amp;loc=d3e41242-110953<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8924-108599<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32672-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22663-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120385591&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to increase (decrease) in the valuation allowance for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationChangeInEnactedTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations, attributable to increase (decrease) in the income tax rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=120406818&amp;loc=d3e32059-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationChangeInEnactedTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to foreign income tax expense (benefit).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of income tax expense or benefit for the period computed by applying the domestic federal statutory tax rates to pretax income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationNondeductibleExpenseOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other nondeductible expenses.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationNondeductibleExpenseOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of reported income tax expense (benefit) in excess of (less than) expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to nondeductible expense for award under share-based payment arrangement. Includes, but is not limited to, expense determined to be nondeductible upon grant or after for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationOtherReconcilingItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to tax exempt income, equity in earnings (loss) of an unconsolidated subsidiary, minority noncontrolling interest income (loss), tax holiday, disposition of a business, disposition of an asset, repatriation of foreign earnings, repatriation of foreign earnings jobs creation act of 2004, increase (decrease) in enacted tax rate, prior year income taxes, increase (decrease) in deferred tax asset valuation allowance, and other adjustments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationOtherReconcilingItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to repatriation of foreign earnings.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to state and local income tax expense (benefit).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationTaxContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to increase (decrease) in income tax contingencies. Including, but not limited to, domestic tax contingency, foreign tax contingency, state and local tax contingency, and other contingencies.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationTaxContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationTaxCredits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to tax credits. Including, but not limited to, research credit, foreign tax credit, investment tax credit, and other tax credits.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationTaxCredits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>91
<FILENAME>R78.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743932520888">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Tax Returns Periods Subject to Examination by Federal, State and Foreign Tax Authorities (Detail)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_US', window );">United States | Earliest Tax Year</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="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExaminationLineItems', window );"><strong>Income Tax Examination [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OpenTaxYear', window );">Fiscal year subject to examination</a></td>
<td class="text">2017<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_US', window );">United States | Latest Tax Year</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExaminationLineItems', window );"><strong>Income Tax Examination [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="top.Show.showAR( this, 'defref_us-gaap_OpenTaxYear', window );">Fiscal year subject to examination</a></td>
<td class="text">2020<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_SE', window );">Sweden | Earliest Tax Year</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="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExaminationLineItems', window );"><strong>Income Tax Examination [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OpenTaxYear', window );">Fiscal year subject to examination</a></td>
<td class="text">2013<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_SE', window );">Sweden | Latest Tax Year</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExaminationLineItems', window );"><strong>Income Tax Examination [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="top.Show.showAR( this, 'defref_us-gaap_OpenTaxYear', window );">Fiscal year subject to examination</a></td>
<td class="text">2020<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExaminationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExaminationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OpenTaxYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tax year that remains open to examination under enacted tax laws, in CCYY format.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32718-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OpenTaxYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>us-types:gYearListItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_US</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TaxPeriodAxis=us-gaap_EarliestTaxYearMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TaxPeriodAxis=us-gaap_EarliestTaxYearMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TaxPeriodAxis=us-gaap_LatestTaxYearMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TaxPeriodAxis=us-gaap_LatestTaxYearMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_SE">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_SE</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>92
<FILENAME>R79.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743797701400">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Reconciliation of Unrecognized Tax Benefits (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems', window );"><strong>Significant Change in Unrecognized Tax Benefits is Reasonably Possible [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefits', window );">Balance of gross unrecognized tax benefits, beginning of period</a></td>
<td class="nump">$ 3,422<span></span>
</td>
<td class="nump">$ 2,852<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions', window );">Gross amounts of increases in unrecognized tax benefits as a result of tax positions taken in the current period</a></td>
<td class="nump">154<span></span>
</td>
<td class="nump">602<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions', window );">Gross amounts of decreases in unrecognized tax benefits as a result of tax positions taken in the prior period</a></td>
<td class="num">(337)<span></span>
</td>
<td class="num">(16)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease', window );">Gross amounts of decrease due to release</a></td>
<td class="num">(39)<span></span>
</td>
<td class="num">(16)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefits', window );">Balance of gross unrecognized tax benefits, end of period</a></td>
<td class="nump">$ 3,200<span></span>
</td>
<td class="nump">$ 3,422<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Unrecognized Tax Benefits, Period Gross Decreases Release</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of unrecognized tax benefits.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10B<br> -URI http://asc.fasb.org/extlink&amp;oid=120406818&amp;loc=SL37586934-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in unrecognized tax benefits resulting from tax positions taken in prior period tax returns.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in unrecognized tax benefits resulting from tax positions that have been or will be taken in current period tax return.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>93
<FILENAME>R80.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743886315624">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Additional Information (Detail) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 08, 2020</div></th>
<th class="th"><div>Jul. 19, 2019</div></th>
<th class="th"><div>May 03, 2019</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_StockholdersEquityNoteDisclosureLineItems', window );"><strong>Stockholders Equity Note Disclosure [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, shares issued</a></td>
<td class="nump">1,725,000<span></span>
</td>
<td class="nump">1,587,000<span></span>
</td>
<td class="nump">3,144,531<span></span>
</td>
<td class="nump">54,760,837<span></span>
</td>
<td class="nump">52,078,258<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_CommonStockIssuePricePerShare', window );">Common stock issue price per share</a></td>
<td class="nump">$ 181.00<span></span>
</td>
<td class="nump">$ 87.00<span></span>
</td>
<td class="nump">$ 64.00<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercised number of shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">340,546<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfCommonStock', window );">Net proceeds from public offering</a></td>
<td class="nump">$ 297,800<span></span>
</td>
<td class="nump">$ 131,100<span></span>
</td>
<td class="nump">$ 189,600<span></span>
</td>
<td class="nump">$ 297,775<span></span>
</td>
<td class="nump">$ 320,713<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 17,007<span></span>
</td>
<td class="nump">$ 12,847<span></span>
</td>
<td class="nump">$ 10,192<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Stock options, outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">696,711<span></span>
</td>
<td class="nump">957,559<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue', window );">Aggregate intrinsic value of stock options exercised</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 36,600<span></span>
</td>
<td class="nump">$ 5,500<span></span>
</td>
<td class="nump">$ 5,300<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted average grant date fair value of share-based awards granted</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 53.06<span></span>
</td>
<td class="nump">$ 31.27<span></span>
</td>
<td class="nump">$ 18.90<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1', window );">Total fair value of stock options vested</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,800<span></span>
</td>
<td class="nump">$ 3,100<span></span>
</td>
<td class="nump">$ 2,300<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Total unrecognized compensation cost</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 46,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Unrecognized compensation cost, weighted average remaining requisite service period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 years 6 months 18 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares', window );">Number of unvested options and restricted stock units</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,853,028<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PlanNameAxis=rgen_StockOptionAndIncentivePlanMember', window );">2018 Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_StockholdersEquityNoteDisclosureLineItems', window );"><strong>Stockholders Equity Note Disclosure [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance', window );">Common stock shares reserved for Issuance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,778,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant', window );">Incentive options, vesting period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,306,943<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Employee Stock Option | Minimum | Vest Over Three Year</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_StockholdersEquityNoteDisclosureLineItems', window );"><strong>Stockholders Equity Note Disclosure [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage', window );">Incentive options, vesting percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Employee Stock Option | Maximum | Vest Over Five Year</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_StockholdersEquityNoteDisclosureLineItems', window );"><strong>Stockholders Equity Note Disclosure [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage', window );">Incentive options, vesting percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">33.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=rgen_OptionToPurchaseCommonStockMember', window );">Option To Purchase Common Stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_StockholdersEquityNoteDisclosureLineItems', window );"><strong>Stockholders Equity Note Disclosure [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Stock options, outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">696,711<span></span>
</td>
<td class="nump">957,559<span></span>
</td>
<td class="nump">998,226<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted Stock Units (RSUs)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_StockholdersEquityNoteDisclosureLineItems', window );"><strong>Stockholders Equity Note Disclosure [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Restricted stock units, outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">665,540<span></span>
</td>
<td class="nump">734,984<span></span>
</td>
<td class="nump">705,413<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharePrice', window );">Closing price of common stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 191.63<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested', window );">Aggregate intrinsic value of restricted stock units vested</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 28,300<span></span>
</td>
<td class="nump">$ 17,500<span></span>
</td>
<td class="nump">$ 6,200<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted average grant date fair value of restricted stock units granted</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 109.69<span></span>
</td>
<td class="nump">$ 49.68<span></span>
</td>
<td class="nump">$ 30.30<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue', window );">Total grant date fair value of restricted stock units vested</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 10,800<span></span>
</td>
<td class="nump">$ 8,500<span></span>
</td>
<td class="nump">$ 4,600<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_TitleOfIndividualAxis=rgen_UnderwriterMember', window );">Underwriters | Common Stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_StockholdersEquityNoteDisclosureLineItems', window );"><strong>Stockholders Equity Note Disclosure [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercised number of shares</a></td>
<td class="nump">225,000<span></span>
</td>
<td class="nump">207,000<span></span>
</td>
<td class="nump">410,156<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_CommonStockIssuePricePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Common stock issue price per share.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_CommonStockIssuePricePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Share-based Compensation Arrangement by Share-based Payment Award, Options and Equity Instruments Other Than Options, Nonvested, Number of Shares</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_StockholdersEquityNoteDisclosureLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Stockholders Equity Note Disclosure [Line Items]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_StockholdersEquityNoteDisclosureLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate number of common shares reserved for future issuance.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockCapitalSharesReservedForFutureIssuance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cost not yet recognized for nonvested award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the additional capital contribution to the entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value of share-based awards for which the grantee gained the right by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of options outstanding, including both vested and non-vested options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Price of a single share of a number of saleable stocks of a company.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of vesting of award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Intrinsic value of vested award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value of options vested. Excludes equity instruments other than options, for example, but not limited to, share units, stock appreciation rights, restricted stock.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=rgen_StockOptionAndIncentivePlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=rgen_StockOptionAndIncentivePlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheTwoMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=rgen_OptionToPurchaseCommonStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=rgen_OptionToPurchaseCommonStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=rgen_UnderwriterMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=rgen_UnderwriterMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>94
<FILENAME>R81.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743805794008">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation Expense (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 17,007<span></span>
</td>
<td class="nump">$ 12,847<span></span>
</td>
<td class="nump">$ 10,192<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember', window );">Cost of product revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation expense</a></td>
<td class="nump">1,929<span></span>
</td>
<td class="nump">1,368<span></span>
</td>
<td class="nump">1,019<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember', window );">Research and development</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation expense</a></td>
<td class="nump">1,534<span></span>
</td>
<td class="nump">1,373<span></span>
</td>
<td class="nump">917<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember', window );">Selling, general and administrative</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 13,544<span></span>
</td>
<td class="nump">$ 10,106<span></span>
</td>
<td class="nump">$ 8,256<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>95
<FILENAME>R82.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743801469048">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Estimated Weighted Average Assumptions (Detail)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum', window );">Expected volatility (range), minimum</a></td>
<td class="nump">45.14%<span></span>
</td>
<td class="nump">45.14%<span></span>
</td>
<td class="nump">45.14%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum', window );">Expected volatility (range), maximum</a></td>
<td class="nump">50.87%<span></span>
</td>
<td class="nump">50.87%<span></span>
</td>
<td class="nump">50.87%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum', window );">Risk-free interest rate, minimum</a></td>
<td class="nump">0.34%<span></span>
</td>
<td class="nump">1.55%<span></span>
</td>
<td class="nump">2.63%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum', window );">Risk-free interest rate, maximum</a></td>
<td class="nump">1.15%<span></span>
</td>
<td class="nump">2.56%<span></span>
</td>
<td class="nump">2.96%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate', window );">Expected dividend yield</a></td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1', window );">Expected term (in years)</a></td>
<td class="text">5 years 6 months<span></span>
</td>
<td class="text">5 years 6 months<span></span>
</td>
<td class="text">5 years 6 months<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1', window );">Expected term (in years)</a></td>
<td class="text">6 years 6 months<span></span>
</td>
<td class="text">6 years 6 months<span></span>
</td>
<td class="text">7 years 6 months<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The estimated measure of the maximum percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The estimated measure of the minimum percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The maximum risk-free interest rate assumption that is used in valuing an option on its own shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The minimum risk-free interest rate assumption that is used in valuing an option on its own shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.2)<br> -URI http://asc.fasb.org/extlink&amp;oid=115993241&amp;loc=d3e301413-122809<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>96
<FILENAME>R83.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743886417944">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Option Activity (Detail)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr><th class="th" colspan="2">
<div>Dec. 31, 2020 </div>
<div>USD ($) </div>
<div>$ / shares </div>
<div>shares</div>
</th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward', window );"><strong>Options Outstanding</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Options outstanding at December 31, 2019 | shares</a></td>
<td class="nump">957,559<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod', window );">Granted | shares</a></td>
<td class="nump">79,698<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercised | shares</a></td>
<td class="num">(340,546)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Options outstanding at December 31, 2020 | shares</a></td>
<td class="nump">696,711<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber', window );">Options exercisable at December 31, 2020 | shares</a></td>
<td class="nump">311,988<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber', window );">Vested and expected to vest at December 31, 2020 | shares</a></td>
<td class="nump">667,220<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward', window );"><strong>Weighted-Average Exercise Price Per Share</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Options outstanding at December 31, 2019 | $ / shares</a></td>
<td class="nump">$ 30.81<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Granted | $ / shares</a></td>
<td class="nump">115.81<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Exercised | $ / shares</a></td>
<td class="nump">23.95<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Options outstanding at December 31, 2020 | $ / shares</a></td>
<td class="nump">43.88<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice', window );">Options exercisable at December 31, 2020 | $ / shares</a></td>
<td class="nump">$ 31.75<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract', window );"><strong>Weighted-Average Remaining Contractual Term (in years)</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2', window );">Options outstanding at December 31, 2020</a></td>
<td class="text">6 years 10 months 24 days<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1', window );">Options exercisable at December 31, 2020</a></td>
<td class="text">5 years 10 months 28 days<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1', window );">Vested and expected to vest at December 31, 2020</a></td>
<td class="text">6 years 10 months 9 days<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract', window );"><strong>Aggregate Intrinsic Value</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue', window );">Options outstanding at December 31, 2020 | $</a></td>
<td class="nump">$ 102,958<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1', window );">Options exercisable at December 31, 2020 | $</a></td>
<td class="nump">49,879<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue', window );">Vested and expectd to vest at December 31, 2020 | $</a></td>
<td class="nump">$ 99,096<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
</tr>
<tr><td colspan="3"></td></tr>
<tr><td colspan="3"><table class="outerFootnotes" width="100%"><tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top">Represents the number of vested options as of December 31, 2020 plus the number of unvested options expected to vest as of December 31, 2020 based on the unvested outstanding options at December 31, 2020 adjusted for estimated forfeiture rates of 8% for awards granted to non-executive level employees and 3% for awards granted to executive level employees.</td>
</tr></table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Share-based Compensation Arrangement by Share-based Payment Award, Options, Aggregate Intrinsic Value [Abstract]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Net number of share options (or share units) granted during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of options outstanding, including both vested and non-vested options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of fully vested and expected to vest options outstanding that can be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which option holders acquired shares when converting their stock options into shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of difference between fair value of the underlying shares reserved for issuance and exercise price of vested portions of options outstanding and currently exercisable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>97
<FILENAME>R84.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743802536792">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Summary of Option Activity (Parenthetical) (Detail)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_TitleOfIndividualAxis=rgen_NonExecutiveMember', window );">Awards Granted to Non-Executive Level Employees</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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_PercentageOfSharesSubjectToForfeiture', window );">Estimated forfeiture rates</a></td>
<td class="nump">8.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_TitleOfIndividualAxis=srt_ExecutiveOfficerMember', window );">Awards Granted to Executive Level Employees</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_PercentageOfSharesSubjectToForfeiture', window );">Estimated forfeiture rates</a></td>
<td class="nump">3.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Employee Stock Option | Awards Granted to Non-Executive Level Employees</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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_PercentageOfSharesSubjectToForfeiture', window );">Estimated forfeiture rates</a></td>
<td class="nump">8.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Employee Stock Option | Awards Granted to Executive Level Employees</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_PercentageOfSharesSubjectToForfeiture', window );">Estimated forfeiture rates</a></td>
<td class="nump">3.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_PercentageOfSharesSubjectToForfeiture">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of shares subject to forfeiture.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_PercentageOfSharesSubjectToForfeiture</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=rgen_NonExecutiveMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=rgen_NonExecutiveMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=srt_ExecutiveOfficerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=srt_ExecutiveOfficerMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>98
<FILENAME>R85.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743899379544">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Restricted Stock Unit Activity (Detail) - Restricted Stock Units (RSUs)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2020 </div>
<div>USD ($) </div>
<div>shares</div>
</th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward', window );"><strong>Options Outstanding</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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Unvested at December 31, 2019</a></td>
<td class="nump">734,984<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Awarded</a></td>
<td class="nump">207,788<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Vested</a></td>
<td class="num">(244,648)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod', window );">Forfeited/expired/cancelled</a></td>
<td class="num">(32,584)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Unvested at December 31, 2020</a></td>
<td class="nump">665,540<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber', window );">Vested and expected to vest at December 31, 2020</a></td>
<td class="nump">650,047<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract', window );"><strong>Weighted-Average Remaining Contractual Term (in years)</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms', window );">Unvested at December 31, 2020</a></td>
<td class="text">3 years 3 months 25 days<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm', window );">Vested and expected to vest at December 31, 2020</a></td>
<td class="text">3 years 3 days<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract', window );"><strong>Aggregate Intrinsic Value</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="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding', window );">Unvested at December 31, 2020 | $</a></td>
<td class="nump">$ 127,904<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue', window );">Vested and expected to vest at December 31, 2020 | $</a></td>
<td class="nump">$ 124,568<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Vested And Expected To Vest Number</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Share based Compensation Arrangement by Share based Payment Award, Equity Instruments Other Than Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Share Based Compensation Arrangement by Share Based Payment Award Equity Instruments Other Than Options Vested and Expected to Vest Outstanding Weighted Average Remaining Contractual Term</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for equity-based awards excluding options, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Intrinsic value of outstanding award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>99
<FILENAME>R86.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743802823368">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Summary of Restricted Stock Unit Activity (Parenthetical) (Detail)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_TitleOfIndividualAxis=rgen_NonExecutiveMember', window );">Awards Granted to Non-Executive Level Employees</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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_PercentageOfSharesSubjectToForfeiture', window );">Estimated forfeiture rates</a></td>
<td class="nump">8.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_TitleOfIndividualAxis=srt_ExecutiveOfficerMember', window );">Awards Granted to Executive Level Employees</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_PercentageOfSharesSubjectToForfeiture', window );">Estimated forfeiture rates</a></td>
<td class="nump">3.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_PercentageOfSharesSubjectToForfeiture">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of shares subject to forfeiture.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_PercentageOfSharesSubjectToForfeiture</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=rgen_NonExecutiveMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=rgen_NonExecutiveMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=srt_ExecutiveOfficerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=srt_ExecutiveOfficerMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>100
<FILENAME>R87.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743802695240">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies - Additional Information (Detail)<br> $ in Millions</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>USD ($) </div>
<div>l</div>
</th>
<th class="th">
<div>Dec. 31, 2019 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_CommitmentsAndContingenciesLineItems', window );"><strong>Commitments and Contingencies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_CapacityOfBioreactors', window );">Bioreactors used in perfusion cell culture applications</a></td>
<td class="nump">2,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_CommitmentsAndContingenciesLineItems', window );"><strong>Commitments and Contingencies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_CapacityOfBioreactors', window );">Bioreactors used in perfusion cell culture applications</a></td>
<td class="nump">50<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=rgen_NGLImpactAMember', window );">NGL Impact A [Member] | Research and Development Arrangement [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_CommitmentsAndContingenciesLineItems', window );"><strong>Commitments and Contingencies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermPurchaseCommitmentAmount', window );">Payments to Navigo in connection with this program, which are recorded to research and development expenses | $</a></td>
<td class="nump">$ 0.9<span></span>
</td>
<td class="nump">$ 1.0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_CapacityOfBioreactors">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>It's represents about capacity of bioreactors.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_CapacityOfBioreactors</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:volumeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_CommitmentsAndContingenciesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Commitments and Contingencies [Line Items]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_CommitmentsAndContingenciesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermPurchaseCommitmentAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The minimum amount the entity agreed to spend under the long-term purchase commitment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermPurchaseCommitmentAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=rgen_NGLImpactAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=rgen_NGLImpactAMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis=us-gaap_ResearchAndDevelopmentArrangementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis=us-gaap_ResearchAndDevelopmentArrangementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>101
<FILENAME>R88.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743802678488">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Carrying Value of Convertible Senior Notes (Detail) - 0.375%Convertible Senior Notes due 2024 - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentCarryingAmount', window );">Principal amount</a></td>
<td class="nump">$ 287,500<span></span>
</td>
<td class="nump">$ 287,500<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentUnamortizedDiscount', window );">Unamortized debt discount</a></td>
<td class="num">(38,317)<span></span>
</td>
<td class="num">(47,921)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredFinanceCostsNet', window );">Unamortized debt issuance costs</a></td>
<td class="num">(5,446)<span></span>
</td>
<td class="num">(6,812)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Total convertible senior notes</a></td>
<td class="nump">$ 243,737<span></span>
</td>
<td class="nump">$ 232,767<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentCarryingAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, before unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120520924&amp;loc=SL6031897-161870<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(16))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentCarryingAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentUnamortizedDiscount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated amortization, of debt discount.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1A<br> -URI http://asc.fasb.org/extlink&amp;oid=119993939&amp;loc=d3e28541-108399<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=114775985&amp;loc=d3e28878-108400<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentUnamortizedDiscount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredFinanceCostsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.17)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=119993939&amp;loc=d3e28555-108399<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredFinanceCostsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=120520924&amp;loc=SL6031897-161870<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=rgen_ZeropointthreesevenfivepercentageconvertibleseniornotesduetwentytwentyfourmemberMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=rgen_ZeropointthreesevenfivepercentageconvertibleseniornotesduetwentytwentyfourmemberMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>102
<FILENAME>R89.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743803062360">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Convertible Senior Notes - Additional Information (Detail)<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">1 Months Ended</th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Jul. 22, 2019 </div>
<div>USD ($) </div>
<div>shares</div>
</th>
<th class="th">
<div>Jul. 19, 2019 </div>
<div>USD ($) </div>
<div>$ / shares</div>
</th>
<th class="th">
<div>Sep. 23, 2019 </div>
<div>USD ($) </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>USD ($) </div>
<div>Day</div>
</th>
<th class="th">
<div>Dec. 31, 2019 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jul. 16, 2019 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromConvertibleDebt', window );">Proceeds from issuance of convertible senior notes, net of costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 278,466,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger', window );">Notes threshold percentage of stock price trigger</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">130.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentConvertibleThresholdTradingDays', window );">Notes threshold trading days | Day</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_DebtInstrumentConvertibleIntoEquity', window );">Debt instrument amount convertible into equity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,000<span></span>
</td>
<td class="nump">$ 3,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1', window );">Notes threshold consecutive trading days | Day</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">30<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtConversionConvertedInstrumentAmount1', window );">Total consideration on conversion</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">198,757,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GainsLossesOnExtinguishmentOfDebt', window );">Loss on extinguishment of debt</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,650,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember', window );">0.375% Convertible Senior Notes due 2024</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Notes issued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 287,500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Notes, interest rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.375%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.375%<span></span>
</td>
<td class="nump">0.375%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromConvertibleDebt', window );">Proceeds from issuance of convertible senior notes, net of costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 278,500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateTerms', window );">Interest repayment terms</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">Interest is payable semi-annually in arrears on January 15 and July 15 of each year, beginning on January 15, 2020.<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentMaturityDate', window );">Notes, due date</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">Jul. 15,  2024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentConvertibleConversionRatio1', window );">Notes conversion ratio per $1,000 principal amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8.6749<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentConvertibleConversionPrice1', window );">Notes initial conversion price | $ / shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 115.28<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentRedemptionPricePercentage', window );">Notes redemption price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InterestExpenseDebtExcludingAmortization', window );">Contractual coupon interest</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,100,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AmortizationOfDebtDiscountPremium', window );">Accretion of the debt discount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,600,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AmortizationOfFinancingCosts', window );">Amortization of the debt issuance costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,400,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateEffectivePercentage', window );">Effective interest rate on the Notes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5.10%<span></span>
</td>
<td class="nump">5.10%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Notes, carrying value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 243,700,000<span></span>
</td>
<td class="nump">$ 243,700,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebtFairValue', window );">Fair value of the note</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">501,000,000.0<span></span>
</td>
<td class="nump">501,000,000.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_OptionToPurchaseAdditionalDebtFaceAmount', window );">Additional Notes issued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 37,500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_DiscountRate', window );">Discount rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentConvertibleBeneficialConversionFeature', window );">Proceeds allocated to the conversion feature</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 52,100,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent', window );">Transaction costs attributable to liability component</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,400,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_ConvertibleNotesTransactionCostsOfEquityComponent', window );">Transaction costs attributable to equity component</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,600,000<span></span>
</td>
<td class="nump">$ 1,600,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=rgen_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMember', window );">2.125% Convertible Senior Notes due 2021</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Notes issued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 92,000,000.0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Notes, interest rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2.125%<span></span>
</td>
<td class="nump">2.125%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InterestExpenseDebtExcludingAmortization', window );">Contractual coupon interest</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,300,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AmortizationOfDebtDiscountPremium', window );">Accretion of the debt discount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,400,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AmortizationOfFinancingCosts', window );">Amortization of the debt issuance costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 400,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateEffectivePercentage', window );">Effective interest rate on the Notes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6.60%<span></span>
</td>
<td class="nump">6.60%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarlyRepaymentOfSeniorDebt', window );">Repayment Of Senior Debt</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">92,300,000<span></span>
</td>
<td class="nump">$ 23,000,000.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentIncreaseAccruedInterest', window );">Accrued interest</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 300,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtConversionConvertedInstrumentAmount1', window );">Total consideration on conversion</a></td>
<td class="nump">$ 253,300,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_DebtInstrumentFaceAmountRemaining', window );">Face amount of remaining convertible debt</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">60,800,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent', window );">Equity component of converted debt</a></td>
<td class="nump">$ 163,600,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">38,300,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GainsLossesOnExtinguishmentOfDebt', window );">Loss on extinguishment of debt</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,100,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,600,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=rgen_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMember', window );">2.125% Convertible Senior Notes due 2021 | Common Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities', window );">Conversion of Convertible Securities Stock Issued | shares | shares</a></td>
<td class="nump">1,850,155<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">466,045<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities', window );">Conversion of Convertible Securities Stock Issued | value</a></td>
<td class="nump">$ 161,000,000.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 37,800,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_ConvertibleNotesTransactionCostsOfEquityComponent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Convertible notes transaction costs of equity component.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_ConvertibleNotesTransactionCostsOfEquityComponent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Convertible notes transaction costs of liability component.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_DebtInstrumentConvertibleIntoEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Debt instrument convertible into equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DebtInstrumentConvertibleIntoEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_DebtInstrumentFaceAmountRemaining">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Debt instrument face amount remaining</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DebtInstrumentFaceAmountRemaining</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_DiscountRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Discount rate.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DiscountRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_OptionToPurchaseAdditionalDebtFaceAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Option to purchase additional debt face amount.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_OptionToPurchaseAdditionalDebtFaceAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfDebtDiscountPremium">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense included in interest expense to amortize debt discount and premium associated with the related debt instruments. Excludes amortization of financing costs. Alternate captions include noncash interest expense.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1A<br> -URI http://asc.fasb.org/extlink&amp;oid=119993939&amp;loc=d3e28541-108399<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.8)<br> -URI http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfDebtDiscountPremium</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfFinancingCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense attributable to debt issuance costs.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=119993939&amp;loc=d3e28555-108399<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfFinancingCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtConversionConvertedInstrumentAmount1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The value of the financial instrument(s) that the original debt is being converted into in a noncash (or part noncash) transaction. "Part noncash" refers to that portion of the transaction not resulting in cash receipts or cash payments in the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=121583591&amp;loc=d3e4304-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=121583591&amp;loc=d3e4332-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtConversionConvertedInstrumentAmount1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentConvertibleBeneficialConversionFeature">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of a favorable spread to a debt holder between the amount of debt being converted and the value of the securities received upon conversion. This is an embedded conversion feature of convertible debt issued that is in-the-money at the commitment date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21538-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentConvertibleBeneficialConversionFeature</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The carrying amount of the equity component of convertible debt which may be settled in cash upon conversion.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120520924&amp;loc=SL6031897-161870<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentConvertibleConversionPrice1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The price per share of the conversion feature embedded in the debt instrument.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120520924&amp;loc=SL6031898-161870<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentConvertibleConversionPrice1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentConvertibleConversionRatio1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Ratio applied to the conversion of debt instrument into equity with equity shares divided by debt principal amount.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21521-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21506-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21475-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentConvertibleConversionRatio1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Threshold period of specified consecutive trading days within which common stock price to conversion price of convertible debt instrument must exceed threshold percentage for specified number of trading days to trigger conversion feature.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Minimum percentage of common stock price to conversion price of convertible debt instruments to determine eligibility of conversion.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentConvertibleThresholdTradingDays">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Threshold number of specified trading days that common stock price to conversion price of convertible debt instruments must exceed threshold percentage within a specified consecutive trading period to trigger conversion feature.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentConvertibleThresholdTradingDays</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentFaceAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Face (par) amount of debt instrument at time of issuance.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=119993939&amp;loc=d3e28551-108399<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=114775985&amp;loc=d3e28878-108400<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentFaceAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentIncreaseAccruedInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Increase for accrued, but unpaid interest on the debt instrument for the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(f))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentIncreaseAccruedInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentInterestRateEffectivePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Effective interest rate for the funds borrowed under the debt agreement considering interest compounding and original issue discount or premium.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120520924&amp;loc=SL6036836-161870<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=119993939&amp;loc=d3e28551-108399<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateEffectivePercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentInterestRateStatedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Contractual interest rate for funds borrowed, under the debt agreement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateStatedPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentInterestRateTerms">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Description of the interest rate as being fixed or variable, and, if variable, identification of the index or rate on which the interest rate is based and the number of points or percentage added to that index or rate to set the rate, and other pertinent information, such as frequency of rate resets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateTerms</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentMaturityDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Date when the debt instrument is scheduled to be fully repaid, in CCYY-MM-DD format.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (bbb)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=117815213&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentMaturityDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_DebtInstrumentRedemptionPricePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage price of original principal amount of debt at which debt can be redeemed by the issuer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 470<br> -Section 50<br> -Paragraph 3<br> -Subparagraph e<br> -URI http://asc.fasb.org/extlink&amp;oid=75038535&amp;loc=d3e64711-112823<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentRedemptionPricePercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarlyRepaymentOfSeniorDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for the extinguishment of long-term borrowing, with the highest claim on the assets of the entity in case of bankruptcy or liquidation, before its maturity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarlyRepaymentOfSeniorDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainsLossesOnExtinguishmentOfDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Difference between the fair value of payments made and the carrying amount of debt which is extinguished prior to maturity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 50<br> -Section 40<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=117329964&amp;loc=d3e12355-112629<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 50<br> -Section 40<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=117329964&amp;loc=d3e12317-112629<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainsLossesOnExtinguishmentOfDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestExpenseDebtExcludingAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the portion of interest incurred in the period on debt arrangements that was charged against earnings, excluding amortization of debt discount (premium) and financing costs.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestExpenseDebtExcludingAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=120520924&amp;loc=SL6031897-161870<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The fair value amount of long-term debt whether such amount is presented as a separate caption or as a parenthetical disclosure. Additionally, this element may be used in connection with the fair value disclosures required in the footnote disclosures to the financial statements. The element may be used in both the balance sheet and disclosure in the same submission.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromConvertibleDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the issuance of a long-term debt instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromConvertibleDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued during the period as a result of the conversion of convertible securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-30)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21475-112644<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The gross value of stock issued during the period upon the conversion of convertible securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-31)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=rgen_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=rgen_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>103
<FILENAME>R90.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743802580632">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Change in Change in Accumulated Other Comprehensive Loss (Detail) (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems', window );"><strong>Accumulated Other Comprehensive Income (Loss) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance</a></td>
<td class="nump">$ 1,059,768<span></span>
</td>
<td class="nump">$ 615,568<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance</a></td>
<td class="nump">1,529,150<span></span>
</td>
<td class="nump">1,059,768<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedTranslationAdjustmentMember', window );">Foreign Currency Translation Adjustment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems', window );"><strong>Accumulated Other Comprehensive Income (Loss) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance</a></td>
<td class="num">(15,027)<span></span>
</td>
<td class="num">(11,893)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent', window );">Other comprehensive loss</a></td>
<td class="nump">17,112<span></span>
</td>
<td class="num">(3,134)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance</a></td>
<td class="nump">$ 2,085<span></span>
</td>
<td class="num">$ (15,027)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of other comprehensive income (loss) attributable to parent entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669625-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=108774443&amp;loc=SL4569643-111683<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669619-108580<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI http://asc.fasb.org/extlink&amp;oid=108774443&amp;loc=SL4569616-111683<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI http://asc.fasb.org/extlink&amp;oid=27010918&amp;loc=d3e74512-122707<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedTranslationAdjustmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedTranslationAdjustmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>104
<FILENAME>R91.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743899380248">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Employee Benefit Plans - Additional Information (Detail) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RetirementPlanTypeAxis=us-gaap_PensionPlansDefinedBenefitMember', window );">Pension Plans, Defined Benefit | Sweden</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems', window );"><strong>Deferred Compensation Arrangement with Individual, Postretirement Benefits [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanContributionsByEmployer', window );">Defined contribution plan, company contribution</a></td>
<td class="nump">$ 1.4<span></span>
</td>
<td class="nump">$ 1.0<span></span>
</td>
<td class="nump">$ 0.7<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems', window );"><strong>Deferred Compensation Arrangement with Individual, Postretirement Benefits [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_DefinedContributionPlanEmployeeEligibilityAge', window );">Defined contribution plan, eligible age of employees</a></td>
<td class="text">21 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis=rgen_DefinedContribution401KPlanMember', window );">Defined Contribution 401 K Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems', window );"><strong>Deferred Compensation Arrangement with Individual, Postretirement Benefits [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanContributionsByEmployer', window );">Defined contribution plan, company contribution</a></td>
<td class="nump">$ 0.6<span></span>
</td>
<td class="nump">$ 0.6<span></span>
</td>
<td class="nump">$ 0.6<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_DefinedContributionPlanEmployeeEligibilityAge">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Defined Contribution Plan Employee Eligibility Age</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_DefinedContributionPlanEmployeeEligibilityAge</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanContributionsByEmployer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of contribution received by defined benefit plan from employer which increases plan assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 55<br> -Paragraph 17<br> -URI http://asc.fasb.org/extlink&amp;oid=118257860&amp;loc=d3e4179-114921<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iv)(01)<br> -URI http://asc.fasb.org/extlink&amp;oid=118255775&amp;loc=d3e1928-114920<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118255775&amp;loc=d3e2709-114920<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=118255775&amp;loc=d3e1928-114920<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 55<br> -Paragraph 18<br> -URI http://asc.fasb.org/extlink&amp;oid=118257860&amp;loc=d3e4587-114921<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iv)(01)<br> -URI http://asc.fasb.org/extlink&amp;oid=118255775&amp;loc=d3e1928-114920<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=118255775&amp;loc=d3e1928-114920<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanContributionsByEmployer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetirementPlanTypeAxis=us-gaap_PensionPlansDefinedBenefitMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetirementPlanTypeAxis=us-gaap_PensionPlansDefinedBenefitMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetirementPlanSponsorLocationAxis=us-gaap_ForeignPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetirementPlanSponsorLocationAxis=us-gaap_ForeignPlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis=rgen_DefinedContribution401KPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis=rgen_DefinedContribution401KPlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>105
<FILENAME>R92.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743899379896">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Related Party Transactions - Additional Information (Detail) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=us-gaap_PrincipalOwnerMember', window );">Principal Owner</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transaction [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProfessionalFees', window );">Spectrum Acquisition, tax preparation and other fees</a></td>
<td class="nump">$ 0.7<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=us-gaap_PrincipalOwnerMember', window );">Principal Owner | Minimum | Spectrum Inc.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transaction [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners', window );">Non controlling ownership interest minimum</a></td>
<td class="nump">5.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=rgen_CTechnologiesMember', window );">C Technologies</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transaction [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxesPayableCurrent', window );">Tax payable</a></td>
<td class="nump">$ 0.5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxesPaid', window );">Income tax paid</a></td>
<td class="nump">$ 0.3<span></span>
</td>
<td class="nump">$ 1.6<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxesPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121583591&amp;loc=d3e4297-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3536-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxesPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The equity interest of noncontrolling shareholders, partners or other equity holders in consolidated entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfessionalFees">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A fee charged for services from professionals such as doctors, lawyers and accountants. The term is often expanded to include other professions, for example, pharmacists charging to maintain a medicinal profile of a client or customer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 946<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07.2(a),(b),(c),(d))<br> -URI http://asc.fasb.org/extlink&amp;oid=120401555&amp;loc=SL114874292-224272<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 946<br> -SubTopic 220<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (k)<br> -URI http://asc.fasb.org/extlink&amp;oid=118262090&amp;loc=SL114874205-224268<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfessionalFees</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TaxesPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable for statutory income, sales, use, payroll, excise, real, property and other taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19,20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TaxesPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=us-gaap_PrincipalOwnerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=us-gaap_PrincipalOwnerMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_OwnershipAxis=rgen_SpectrumIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_OwnershipAxis=rgen_SpectrumIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=rgen_CTechnologiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=rgen_CTechnologiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>106
<FILENAME>R93.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="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.20.4</span><table class="report" border="0" cellspacing="2" id="idm139743804396440">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Operations Information for Each of Previous Eight Quarters (Detail) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="8">3 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Sep. 30, 2020</div></th>
<th class="th"><div>Jun. 30, 2020</div></th>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Sep. 30, 2019</div></th>
<th class="th"><div>Jun. 30, 2019</div></th>
<th class="th"><div>Mar. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_rgen_QuarterlyFinancialInformationLineItems', window );"><strong>Quarterly Financial Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 108,648<span></span>
</td>
<td class="nump">$ 94,060<span></span>
</td>
<td class="nump">$ 87,462<span></span>
</td>
<td class="nump">$ 76,090<span></span>
</td>
<td class="nump">$ 69,474<span></span>
</td>
<td class="nump">$ 69,445<span></span>
</td>
<td class="nump">$ 70,692<span></span>
</td>
<td class="nump">$ 60,634<span></span>
</td>
<td class="nump">$ 366,260<span></span>
</td>
<td class="nump">$ 270,245<span></span>
</td>
<td class="nump">$ 194,032<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">60,485<span></span>
</td>
<td class="nump">54,434<span></span>
</td>
<td class="nump">50,599<span></span>
</td>
<td class="nump">44,108<span></span>
</td>
<td class="nump">39,353<span></span>
</td>
<td class="nump">38,020<span></span>
</td>
<td class="nump">39,984<span></span>
</td>
<td class="nump">33,789<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingExpenses', window );">Operating expenses</a></td>
<td class="nump">91,229<span></span>
</td>
<td class="nump">73,099<span></span>
</td>
<td class="nump">67,925<span></span>
</td>
<td class="nump">64,184<span></span>
</td>
<td class="nump">63,580<span></span>
</td>
<td class="nump">61,481<span></span>
</td>
<td class="nump">59,638<span></span>
</td>
<td class="nump">49,463<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 19,698<span></span>
</td>
<td class="nump">$ 14,552<span></span>
</td>
<td class="nump">$ 15,861<span></span>
</td>
<td class="nump">$ 9,815<span></span>
</td>
<td class="nump">$ 3,604<span></span>
</td>
<td class="nump">$ 1,659<span></span>
</td>
<td class="nump">$ 8,095<span></span>
</td>
<td class="nump">$ 8,053<span></span>
</td>
<td class="nump">$ 59,926<span></span>
</td>
<td class="nump">$ 21,411<span></span>
</td>
<td class="nump">$ 16,617<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings per share</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic</a></td>
<td class="nump">$ 0.37<span></span>
</td>
<td class="nump">$ 0.28<span></span>
</td>
<td class="nump">$ 0.30<span></span>
</td>
<td class="nump">$ 0.19<span></span>
</td>
<td class="nump">$ 0.07<span></span>
</td>
<td class="nump">$ 0.03<span></span>
</td>
<td class="nump">$ 0.17<span></span>
</td>
<td class="nump">$ 0.18<span></span>
</td>
<td class="nump">$ 1.14<span></span>
</td>
<td class="nump">$ 0.44<span></span>
</td>
<td class="nump">$ 0.38<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted</a></td>
<td class="nump">$ 0.36<span></span>
</td>
<td class="nump">$ 0.27<span></span>
</td>
<td class="nump">$ 0.30<span></span>
</td>
<td class="nump">$ 0.18<span></span>
</td>
<td class="nump">$ 0.07<span></span>
</td>
<td class="nump">$ 0.03<span></span>
</td>
<td class="nump">$ 0.17<span></span>
</td>
<td class="nump">$ 0.17<span></span>
</td>
<td class="nump">$ 1.11<span></span>
</td>
<td class="nump">$ 0.44<span></span>
</td>
<td class="nump">$ 0.37<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgen_QuarterlyFinancialInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Quarterly Financial Information [Line Items]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgen_QuarterlyFinancialInformationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgen_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22583-107794<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1448-109256<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22595-107794<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1337-109256<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=120380238&amp;loc=d3e4984-109258<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=120380238&amp;loc=d3e3842-109258<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22644-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1252-109256<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=SL5780133-109256<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=120380238&amp;loc=d3e4984-109258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22644-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=120380238&amp;loc=d3e3842-109258<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1252-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22595-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22583-107794<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1337-109256<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8924-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8906-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669619-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8924-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22595-107794<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669625-108580<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22499-107794<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8906-108599<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22583-107794<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=SL5780133-109256<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e9038-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130545-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8906-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130543-203045<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e9031-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI http://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>107
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
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
M7X0B<QABTB9?EA/R_M</@XX&Y?SSCE^JW!Y4V!D5RLB#3/0V)7=)(((?!3J
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
MT</+'7XINA9"PG^PZVIWRK.T&.-TS3C0'$ Y*#R+*_Q&?;0GOWFQ>DX/.2V
MKS%:CR'F118Z%&6#MK/G;/_VY+)?=\\>0.:<C_LWASY#[^9PMO<9Q7[#^EUT
MMU6KH6"Z@9;X=08NNLUGH<V-4:O^R\JU,D8U_>52"@!N#>#]C0(MW=[8CS6[
MCW/G_P!02P,$%     @ SH)84O<9>B;E @  FPD  !@   !X;"]W;W)K<VAE
M971S+W-H965T,RYX;6R=EFMOVC 4AO^*%?5#*W7D KE0 1(%IE;J6E3:[;-)
M#L2J$S/;@6Z_?G:29@12+N5#8B?O>_P<<QR[MV'\3<0 $KTG-!5](Y9R=6.:
M(HPAP:+%5I"J-PO&$RQ5ER]-L>* H]R44-.Q+,],,$F-02]_-N6#'LLD)2E,
M.1)9DF#^YQ8HV_0-V_AX\$R6L=0/S$%OA9<P _FZFG+5,ZLH$4D@%82EB,.B
M;PSMFY%M:4.N^$E@([;:2*<R9^Q-=^ZCOF%I(J 02AT"J]L:1D"ICJ0X?I=!
MC6I,;=QN?T3_GB>ODIEC 2-&?Y%(QGTC,% $"YQ1^<PV=U FY.IX(:,BOZ)-
MH?6Z!@HS(5E2FA5!0M+BCM_+B=@RV)U/#$YI<$XUM$M#.T^T(,O3&F.)!SW.
M-HAKM8JF&_G<Y&Z5#4GUWSB37+TERB<'HZ?'V=/#_7CX,AFCV^'#\'$T0;.[
MR>1EABZGF$,J8Y DQ/0*?4.OLS&ZO+A"%XBDZ"5FF<!I)'JF5"0ZGAF6H]X6
MHSJ?C#J&L(7:]C5R+,=JL(].MMO=NMU4^5>3X%23X.3Q.I_$&X8ARU(I5%V&
M0-9X3N%:M07P-2"U5%#$LKE<9%157:%L2KD8P\W'T*MG/? ]IV>NM_/:U[B.
M6VEJ\.T*OGT0?JKJ'CB'"*EB"=^NT0ISM,8T@R;((I:_!6"U+'N'\HBHAMFI
M,#OG88I859= .),QX^0O1$VX14QO>[ZL_+=#?%Q7@W8K:/=+T$2(K!G8W0/9
M13VDJ$%Z%:3W)4CUT192K4^2+IM(O:.DAQ0U4K\B]0^2CEB2J$_W*77JGU*G
M1T0UQJ!B#,Y@/*E(@[UY"JS&*CU!6&/N5LS=\YD_K]'N_F+I^)X5M/T=W@:A
M8_F!XP;-O+;U?]>QSB<^4K!ER!.XFY3-X.;6SJF/+3\P7Y)4( H+9;5:OEJM
MO#@)%!W)5OEF.F=2;<UY,U:G)^!:H-XO&),?';T_5^>QP3]02P,$%     @
MSH)84CASN$0R!P  :1T  !@   !X;"]W;W)K<VAE971S+W-H965T-"YX;6RE
M6=MNXS80_17"Z,,ND(U%4M<@"9#X@J;87!!GMRB*/B@R;:N51%>DG>3O2TJR
MY(@C)D!?$HLZ,^*9H>9PJ/,77OXC-HQ)])IGA;@8;:3<GHW'(MFP/!:G?,L*
M=6?%RSR6ZK)<C\6V9/&R,LJS,7$<?YS':3&Z/*_&'LK+<[Z365JPAQ*)79['
MY=LUR_C+Q0B/#@./Z7HC]<#X\GP;K]F"R1_;AU)=C5LORS1GA4AY@4JVNAA=
MX;,Y#;5!A?B9LA=Q]!MI*L^<_Z,O;I87(T?/B&4LD=I%K/[MV81EF?:DYO%O
MXW34/E,;'O\^>)]7Y!69YUBP"<]^3Y=R<S$*1VC)5O$NDX_\Y5?6$/*TOX1G
MHOJ+7AJL,T+)3DB>-\9J!GE:U/_CUR80GS$@C0'I&6 Z8$ ; ]HW< <,W,;
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
M7:,-VEGP6$R2V>CT_$#DH\ ?&E?AV3=() OG'F3Q,9\D0W$(#68D"(I?2[Q
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
M#(XT(X5/F_ZI'%NCZ>KVVMI,%Y.+.)+/+;8(&]=@RE0@(VO>P[4!-):QT:^
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
MDGQCZY^,8<4W*136HYF\B3C7+DR0Z&1[.JFS,:G69I[$);4&RE-,VW?D2B5
M%AW;F6_+>>MBU)8;ELD8 "BD1( ST2EUU<) QE&>W&/$:X_1PQ9#F72E[MQ[
MNT^FS,JO-VMVNLI&Z%@>S2J)=\L2%)SXA'$TMZP8\4($$[8PK:N_&OJY)DC1
M%G"N.684664H=1NN.B4S=&J?L?M%XJV2E%,J*??6?K4^#BS-2<<L-P!S059\
M/XM3 B0<6P)C,%4![$0-F.%RJ#3Y,I*4U)1BQ+&SWB=AD[!F;X_HMN:NS._L
MI" J2,X +=:8YY=+^-FEE1FJY[UE=(M%,O,NN.+MF<:&=]P5*^'-I>."B= 6
M$O(-$.V[=X1'-)K "AB%^>I=?@HX4TK%:$G*JG7\(A>I-KYF:8U%%( GI3RB
M[INRQ$@PS0F_[D!?\A%R:J&11#8=V$!C=$[\=6@Q1=44B"31%O1'0;.[:R03
MT TV A^ E62"OSTSQUUT^P2W)_.+[4/SA+GZY01XBJRDHF&#+!>N GQL73"2
M"M4.?DR^P-@W7L7D &?[^MA<J:=()<V]$AMNZ**<$)1\$;/S=/TSJV,PY#B&
M@X6?G8HU"4MPPEN@8!PXS@ VH2",K%=HI?PCZ15\\M.&<_!*(>XB^EX95\OI
M?(6/$^%P)(3NU'+]&?.X@3X+8B\BU)K<C\J/B0W5I=+]*B?.V_R_CG7J^PXV
M=9_FH!1LLJ6-12-6*((U8K!&"-8(5C"6Z(WU4&[(M_T;J)_O*$N<J\IN.KXO
M?^^JS@(O7RYE.$';X19!]6,98Z P+[)!Z0UY*F5WCXUO.$MP(+3!]K"?D'4M
MN>)2N?;6CO[$HW^$T6>O6YUG9-=]!*T'"H]([(RBVAC619,-JV&8$V_#"(OO
M];"A@^I\",HSA]Z/F%YV]JZM"HUA3[R8^M+0G01IX,T&M97J/'Y-[@>LO$NJ
M[)X+*D!?@HRA/^BAZ!,2+EB(0!5)'OJB@R<9!]++0Z+(-;\T,@A,294E%0E9
MA\#=&]J. \8^V5*0@+-9F7PHN5#B&VUE:Z<Q3F\];;".VIP"C+*T"5S5]C;X
M-!!HYN3XT9'Y?'>LI32&$83R;.,B&/6QQB(.DW!(F#=U/&'%D\3UX^!1O@:L
ML638YCBEYLCL*;EL1E2:-FV3<JRX^HK]/"I7..A&@MYL@#H</(X?#-Q  [\!
MKF&KH6ED[P%9,+F]P"ZVJ-Q -*D\YXHQ&^V(T=1B.YC0PTI0NFVPC9FAG8R,
M3+'VP%BTP8G$ 3*.WB9501QX _NZW>&#6#>>8EH)?W% +-(7NC9X)>,NTR".
M$1B\G=6LT +_#/4\.G0X&-D9[3^YW&'ICL!(E7314FX"'YT=!439-E1^1V:H
MRVLP]=)O=$[@_&N@'7T-6NXE B A]OVO@K2M!D,OWL;&T4V):8&<5W!B$/H"
MFH6%E^5.'1RB!"@\<[SO.YLA?)A-Q4T#C)KUS2*>K/2:74@W"5NA3'*WHBR0
MHSS.>B*F^UZ)[Q@]J M0?VI$66-&_UV1^@);)=>66==$<!9WN*V=!.<Y)A3F
M^@[4*CRJ/"&F>[-#<_:3HX!OHO/+^')V ;_,IO%B.L7R@(OX8KH\^[5+HH)#
MDQO/Q-6A*$=^(]G6^2P^/U]$BU4\7\RCQ3Q>7BS/WMK@E:46GOW%V<\>^AG#
M;8$1ALOE-%I=+*+SU?3,3Q:J.5FHH*RC^<72UDY,X^EL?O;&S'\8)+$:'IO/
M5S3S-%Y.%O_\MLT9GL_CU>4L6ES&L\E%M#B/%\OIV=L>G[XX8WD#>!]/%_#?
M9+S@_^:K,\/>].4T^')Y=M6<2%HS>5*^[#!4[=\.7UQ>Q$N8UHB:$\4\@B[F
M-*QH[0DORT2V6/Z;Q7R\6GEXP>.\N#B/SQ<3;[U@[CYSWHD?;WF328'M;Q-,
M[TD#?DBZPM@*8>\[CGP8D_YT"<OE*IXL5G\&/81VX#).,;6&@3$WA=^STT)[
MK=*DY8M[$X8AEWB79)0G!A0\LBS#[LDXZA."9)$^EA NSY? I)?_*X0PGXQ7
MTPXA+.>+^'*U^&<)X3'GB)B83A;Q?'KQ?W60':Q8 $)U0RMN0;=P?2(5IW+*
M@[&3#)(M;MF [NK?>[GFXGAN'-+,(+&L_ARQ %O,9G\*FX\FEMER#+JB0RP3
M$)W3^;^$6)9QM%A>QJOSQ?\3"Q&+"^\96]#V2F!+"V-Y;:7\RR&.#I)63CU%
M31HZC#/O^-YQ5VH.;()[U>1*0,61? OH[H?,78&?]%Q(1:0YL(HNQ+P.:=9A
MOB_#V(;<GE/L$R\5ZPX,A^2!7.O"U270C<$7R>:T8(//M-?M'I]DT#J!%:JV
MK\T%ITE)A)6N;J^CV<7$)KGU710Q)E&RC1;GH\4BCFX5Q>NP)9$$K?W%,'#;
M[=D02\ O ]>NEDYS6["C*8FXO*></NG%@CK6*_[GYGH\GVU)AW<-A0F>2C'
MUOJG[BN<'AF2B"L1YSON1/'\\CK7BP')5!=^-;P7WK+YB<.S#'>*ZA8W,^#>
M ITT6?*(S&<8)GILY?#3Z3.FGJ>S9P]6$+_3>2-]*&TR*UA_RP48DVBE3T&A
MG<_1!KR<Q.>KB[/K'<B;I"FIA<_1#5K.0:5/HXM%?#$_1_-S/KLXNY&$2SC
M_-CHU,N8G<_!0+] XW\Q<27',*!1NO">6TWBY7P6@2DWG8$U#IIU>7[V,]V\
MS,%OF$;PR>4E_@[&-%<L=QNO? -V^D4\G9/7L9S$DTM;E7PY/6-4 <YL6RNJ
MA.JC10Q OXVC/>.W'SZR(.:2D;DQZ7[Z<,N?_YPV)9X0ERI+O='5+Q_5[7_]
MQ$^X0Y02AS,YN\L LL-IE#X$8*<1 JWHMT*(3-I_SYYQ_<!HT(.80<+\3^S.
M&UU]?&?C3/8"3WI\>=$6'/ ?55F_RTMZ[/;]I]NA)3I I">(, #DYQN8J_/D
MS<TU=F@,/P3FT^(!OOWQ_>T5)99'GW5OV<?@'E>^!33_X^8MS0@[N\??I7U9
M?T:D]Q/S"#> $Y]L,"&^P<XCVZ20V$.*2 253PI1^FU*A<8X^EDN)WDQ4,M[
M;@0C<0V_)6J_D9N7Z5TRE P=$-*NK"E:%QSCIN+; YO=_Q4Q-V3B<&,& Q+(
MO:WB \)8!9@>T=-.56 ::%M3TO'L40&+7]PRMI!$(/'7M5U17YS]!+ID%UW!
M@SI-(G#3OHU W'U+OYV];3'X',WQT_D2/YW IU<W5]?/^1S T_XVFL[DA\@I
ML]?I9()?N)]G?QE]$C+N8^_%V7![B5-ZX>/IZ4XB!61J?'&YC*>+2_H=C0H
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
MDUH7O4F:Y-5+<.^W"O.:J9=RT7S_9/K$^Q2O9K]_<C5]<35[\AQ&NL=?O3R
MP?@AJ;:889RK#0R=C)?G3[C;F?FC*0\X9;0NFZ;<TZ\[H#E5X0/P_:8L&_,'
M+H!-O0F\5_\-4$L#!!0    ( ,Z"6%(@I.!7(Q,  %Q'   9    >&PO=V]R
M:W-H965T<R]S:&5E=#$Q+GAM;.U<6W/;1M)]YZ^8TGJWI"J((@!>;<=5LN(D
M3D6.OLC9U#X.@2&)-0@P&$"7_?7?Z;D  PBDZ<2;]6[EP18)S*6GI_OTZ<:
M+^_SXH/<"%&RAVV:R:].-F6Y>WYQ(:.-V'(YS'<BPYU57FQYB:_%^D+N"L%C
MU6F;7@2CT?1BRY/LY-5+=>VF>/4RK\HTR<1-P62UW?+B\;5(\_NO3OP3>^&G
M9+TIZ<+%JY<[OA:WHOQY=U/@VT4]2IQL12:3/&.%6'UU<ND_?QU2>]7@[XFX
ME\YG1BM9YOD'^O(V_NID1 *)5$0EC<#QYTY<B32E@2#&KV;,DWI*ZNA^MJ-_
MH]:.M2RY%%=Y^DL2EYNO3N8G+!8K7J7E3_G]=\*L9T+C17DJU?_L7K?UPQ,6
M5;+,MZ8S)-@FF?[+'XP>G [ST9X.@>D0*+GU1$K*KWG)7[TL\GM64&N,1A_4
M4E5O")=DM"FW98&["?J5KRZC7ZM$)J0A^?*BQ(AT_2(RO5_KWL&>WG[ KO.L
MW$CV)HM%W![@ J+4\@16GM?!P1&_%M&0A;['@E$P.C!>6*\O5..-?^/Z#O<.
MA\P=@%W^]%[<_N,=>YWD,D\K??&[/(V3;"W9VT*D/(O9#\DV*47,?LS8CU&9
M+T7!@IE>D<?*C6!7^7;'LT<FLE(4:)AD9<YXQMY@JO*1T1B74L(C;ZHBVL#F
MV.6Z$ *^4,(\RHV5PV.<168L^"7/DG]AM I;4:AY4GXO6;ZR@GGL_28I8G:%
ML3[48GOLAQ^N:*1WXH['G*5&^C3ARR0E><P4'KM,=YLDPZ6C^[#3O_UE'@2C
M%W57]=U_X:E5EOE:0-!"KVJO=&HQ9J!;.+ HI!GF3(]SG4!-(F7?\G4F/(:]
M$>DCU,HVB601W_%(Z56J@0H!^)+0)2= (/W053.NQW95(2L.36-/[C<8N+5E
MG,R!]NPT.6,\36UWX)TL(0ID9D)OHQ115<!PA-H#:SHD[FF"SI$H2H FI,).
M2[8J\FVC8$8[1AJ%$#3\LI(P3=D:Z12^K\#M#HOU7!W9%H[M6GTQX#CCNUV1
M/R3 -%+3,P XH"5-T<Q3&U<D$E-CJDY#/ZP;DG(C+C=60*,^M;Q.KUFKTT]B
MER9KD=%$6UP"PD4?:!1G]X?X(EA9\$QR#=Y1FBN1,@: $%MRJ5![U+#6![9Z
M@[#T:\4+ZU;L%\A08,FP?>N=]"_*L[B*H/4$_Q#@"JY=&3UJ7Z%5_9PIL[Z%
MJ0B]MC>0-TOXD+U%3XE]5@:$S5FGXKR"I_9__-M?_-GX!<+%^3(ORU1D(OI
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
MF=KM5?^\SU*QYE5FOZC=KR+8,R-YB<J,^V4[OW:,Q4EEK,K#9FB0R\+_\\>
M0V?#^>C(ACALB)W>_B"GY<_<\NM+K79,TVI(HX$SU>V&<K(@I]Q9C;<2^^SU
M)P&3S.700A;-#).P[[W?%Q_9-X[9K2KLUK!?BE2DAP*&4*+1)*XU>1^?E/BS
M2 9L,HY8/(I')^1-&LLF3M[DI&7L7S<K8S6<_^\3,J>-S*F3.?V?T3JYCS+K
MPI0\$5=]I(X1^D'TKZ<#%G2\WPKV0>4E+_9,&L99)HP1@E6 5N/!+5)K^+VH
MUC"ETK+8,(QD)JT4)L++M4P$<V?@,>?)%BKH?<02H2URLUXAOE>R1%)9QHN4
M/8BM3'#8@-U@SU]*2[NG@VRKT(]_.X_'BY],K0;7@H$2-+>D0YC<2;M%BA()
M-+/,"IT;MA)V)P3.+P3+*6+<P>,1VPNN<?!'6? "BG7$2_ #-DN>,:M>U"51
MA5&93+$L96LG@58;BPDR#G*[F*:"= $@ALDUSL<IFA<;MY1]KW@FUY+.]M"3
M[J3C;LLML_M2$")^6EKG'_Q"Y9)HY? @1S90B72&*[Z!UFAS2?$G$V@H'DN1
M2M*0E:22I=7>S;0'@0JZ<W2UJ6 > 4/8PG_TN@#)>45@:9%RG4;04B; %-!N
MF,(B$@0?( AX!L:%>"@-& $9/%8)&O,D415,!Z=#(VFZKB2*2^$M=^ 6[Q 4
MI+D_-\FX,4 KX<^-YYE1APB\9+93)5_!&1VH"U6\\T]W*A=U!(;W&RV\4[NA
MP# A-/Q90""\D55I^TXYU[BSA'28B$<K< [.&I+-7&=[YF,"$=,>%KEAHHQU
M^1:PI9#T)P#,XL6 ?)(1+)-\%9*SCF&G EQ!464JR*VU)/FHIT85? 6UVH1%
M[I!$\2AT(N&5AB]"NB$<@&TCAMQ] !&9[^UNT22C*:C)+3BLSLZQ<\/,)R6%
M9A ;,1,<(FU# 5O^@%Q&V9-E)@[ =J<-V-<M1-9)1R90UCU1F!+I559'!S91
MYLN4/&_$ S!';&%*Y3(A/D2P(O"]LTC(JK*(+0MW(-4H*I679N2F<%%,"59G
M]U9E\&]>:O40X@V"*JW;=, K0&/WE'4BY!H"%%SM>"&5Q+' A;#0HLQ QI'/
M[FQ/ZE .4DY4A,(JDQN7143?:)-*D9!*+-ER6@/^0UXF!OOE=Y^V+G1*KBT=
MPG7M49K=J0K*Y_R;XZ@7<'6KND#Z'37*!Q&):N#"'Q59Y"M865=E%R3Q:+R,
MG@6\INZ'-E4F(((P%8CLLW@VB-&Y9)EKPB" 9A;U3 1ER73JS: NO3^52U[D
M9-P*\"(GH\'\99%/."I!_2./_G)['['?;N_<]ILO]^+NS]\HN1LS';^XA"?"
M9$7ED("!O$)/IJ!16[-:\O784:P;Q($/MM:>YR"=-!CIR3,*41>)Y%3HLX(1
M" 9+(;2&X8-1@T2MOH]6J8EH$<B)KW-4+*'>[P7[1P6D%]ZET7-2;8W^*+6Q
M[ ;;4R<B,)E+"CP^X6>R2*$.4Z(YAE*59K>@VI72JMIL(SP8@\X$UEN$1^A?
MD$V..DH>B*JI2&B5<NEJTI[-Y]%RLD337A%=KD6 #B8W4=J:<T><D+Y>\1TJ
M/U$"%$?9+)'FCY):$,!T%@_.:X#AVYSJ)A%7QCV?U-U'IQ<2!RV,CS\\H6ES
M(7RDO3H5]?Q8.FH*(Y1QHG[#WO"@GLMW51D@9-Y>](YEL[>FA_&8G2$@1J,%
M/<1L%BTF,0TG;!K-QU,:3C$<S]WLC$VB^6Q"PSD+7D-TKF$P&\?1<KKLW;L
M75>P6M"U1>95'@PK^=ZSZ^0\&H\7O4_H=2^85[WMM,(JHE%JF N'C'3AB9"<
M1]/)>3CD%'!G9.Q\L7S%TJ;"JY<K_$'+&?*2^7OS*]W0=4#/.8"HM/?[T>P_
M@R/BV92LB&:SQ?&5$<O 0.]<;8^!#3R$O^5RUKL-T#^UO'%"C1 -1C@E[KD>
MPW5L!?ZI100<IB$[5[83A?KY'P\69W2_(F9[1]<>:B"Q!C54/VD[(L\*#QQI
ML:K9L]6D(S4T6=!9*HHNU5T7VC%7F'%]\/JYQ@7T10X\5;8\<89>%FT>F0.6
M++5T7:]/3>](@'71J\7_Z?HB=]4- 'V@W:T7W]PT3G_F)W<0.7,^G>%_&DW/
M1[T_:AB>NL:MCJ/19,+&;N6GKI %G'7NA"WGH]Y]5UL<[3_2^.\E(6_ ;%6)
M/HW @^FI-$FF#*5E<.UA9+=7*$(CX6;+UBZJ.Y3W[/IW+.)?0N]XX <+WQ!.
M"_:6AE-PTA3#6WK5O16@V5*NLZ-N#?T@]6V93.A^5G.$IGK7TA.L%0>UKG,I
MI&D"QE$0[6MO0=*&XAOP0RW3'FU:Y\G]^/L&XR.7:6H::S72]M!.JT[Z^[*5
M[ E>?R5I$^L@+7*>!I5V[FL4I'%JDC?BQ<MY#<[SU8=@5,;[/<?.ZA#%_ZM\
M4:6\Z'U]E:IOW,WD+5L,$#G/MASJ.QTL1^P']M+WGF'G2UDN],9]#R0*P&;_
MT:R9;3XYWO@O;>UR_[T2G<U&%N3*-;:.!HM9WS=X]8-5I?ONME(6':,;;@4\
MI&D!WJ^5LO4#'=!\B+W^+U!+ P04    " #.@EA2)!^'&B\/   )+@  &0
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
M@.5L6)D_TNYYWV5#T]>B;5.CA5.R3) :VT%#Q4:##,[N49I'2(;]4)Y:@GM
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
M9#F_'%Q/SV^.97U8\*OFM=OY3:)D8<R]/'S(+@<3(<0EIUX0%/ZM^);+4H!
MX\\.<[ ]4C;N_N[1WP?MT+)0CF]-^9O.?'$Y.!M0QKEJ2__9K'_B3L^)X*6F
M=.$OK>/:9#:@M'7>5-UF,*AT'?^K;UT<=C:<39[9D'0;DL ['A18OE5>75U8
MLR8KJX$F/X+4L!OD="U)N?,6LQK[_-6MY4Q[^L4XQ^YB[ $I$^.TVWX3MR?/
M;)\F]-'4OG#TKLXXVP<8@\N64-(3NDE>1'S+Z8AFTR$EDV3R MYL*W 6\&;_
M+I!^OUXX;V&$/UX /MX"'P?@X^^-W,O;YR/:0Z!W><[!HO2SJEL4"'5!&)(O
MF&Y-U:AZ0RHSC>>,KN^^8G8Z/YK.AO3C#V=),GGS7M>J3K4JZ4,-H2V*Q[LP
M.9V^>73<P1?3Z)1FR?SPG#ZR<JUE64\F?[02M?,D\#"<"N".!GW9H:D=\;?&
M.##UAM((6$; QFHT %UN(,R:=EF04Z4<E&/*9&T*TJK.R+%=Z93=:!<YJ#E]
M$^ 1+^ +*JD2[04<F2KVA<E,:98;0M-"W:>FE3A83EFOU*)D89?Q"AVIP?[6
MZ7I)A4:M69U"(VJJ;QIRB-4,W"&JT5H)D%#+6X]X$:>F-A7"*&/0=(\NBB%H
MQ>8H0N'<E70GJ),\]BC.*]\&S;'*V;I.&L&B&3_%&Y;IUY+"\8TQ)01(5\HD
M3:Y 6*'%(3(Z!RVKW3WE,+RQ;DBZ3LLVDP5+-DNKF@)+2I,J83NBMRU+KH2D
M*XSU1YYM1;4*2L'3M6FQ0\9%7[+SR*;DX:E ^T)Y!&9#M?&TX#ZT6(T4;'FK
MI9#J O04S$*5DEOW. !*_"0@DNC.9+@%?(%B@RG:)K?H3EN;J7Y-3,F0UHA
MT<4%!HQPH0JVW/P3UE.U*C=.NXZRMI1O"T3RRK'PU@77.V<BS%")71(+M5*Z
MC#G=+1M>J;(%@!,;A59%DH5HI0=GP8P2(_0(&6],B6%QKN1[V)EQ Y5_MEIL
M8KE1FR +^:VP=HDCHCF@0.IG1'>]9QXJ254Q$1)II!EL-2Z:4-#(C;%9S%>#
MHD5)"R1^K72XKT-"MKD*-B@4>IM"H2T+MK)TH18:S#="HKM(]Z-1F5J+=2DM
M5+U$4#I[[IBPMT:P$<&*C+:"Y&D7X] [)XA86^T]<F+R'+D6J$T8SUB"#,\$
M;;!I6W=&#>Y3.:8E+GN=(8=$!">H6C!+KR@4%',VHG==4<2>9G"F%V_LMT$Y
MN>T:Y)9!#&F?@A%]\/N5\N!0("O IKH)U==G./0<4#5>HOS0U9[L7[J.KW4Z
M&%V%L_!JYTP-X9O')GVA,I^K%%C6P9U9H-BOC6^;*@0'USU7"S#MKWQ:8^+U
MZ70T@U/+$LR&5'.0^WHR.NL'@_P^3-T-D1L9D"*+>0MN#'5-%E-'T+I6<&W?
M:+9&W^D>76YT'<GT0<&[31O:%AI*%7=72+_^BZ4LG8^6"Z2>ZH)&:M"% L16
MD1-KZ^$2B[Y[:(\'??%I":QI';+F#L]?":M7-UT@P>W1NP*]IH.3Y(0.7]UV
MV9;[RV1=!06EVS/W)1],9S/LV\'^J"RZXVP'>GYR]B*T%!@?H;P<S4[_/X6S
MV9ZT%N4PF^P(F[U\^G/"SA[INF.\0473[:#/D^E_U38_^0X6R62^3^.?U@>+
MTWE"AT^]G8YWWO'14Y?A2\;%>R"^[F]'MQ]+U_$;X6%Y_-)"7G'A.BHYQ];)
MZ/1D@,L@?+W$!V^:\,6P,!X-//PL\,''5A9@/C=H:=V#'+#]A+SZ&U!+ P04
M    " #.@EA23%M[,I<(  ",%@  &0   'AL+W=O<FMS:&5E=',O<VAE970Q
M-2YX;6S56&MOVS@6_>Y?07B"10*HMIZ6G$D#N&D[.\"V4[29&0P6^X&1:)M;
M271)*F[VU^^YU"..[3QVL%A@OR2T='E?//?<2UULE?YJUD)8]KTJ:_-ZO+9V
M<SZ=FGPM*FXF:B-JO%DJ77&+GWHU-1LM>.$V5>4T]/W9M.*R'E]>N&>?].6%
M:FPI:_%),]-4%==W;T2IMJ_'P;A_\%FNUI8>3"\O-GPEO@C[Z^:3QJ_IH*60
ME:B-5#738OEZO C.W\0D[P1^DV)K=M:,(KE1ZBO]^+EX/?;)(5&*W)(&CG^W
MXDJ4)2F"&]\ZG>/!)&W<7??:W[O8$<L--^)*E;_+PJY?C[,Q*\22-Z7]K+9_
M%5T\">G+56G<7[9M99-HS/+&6%5UF^%!)>OV/__>Y6%G0^8_LB'L-H3.[]:0
M\_(MM_SR0JLMTR0-;;1PH;K=<$[6="A?K,9;B7WV\B>EBJTL2\;K@OU<6UZO
MY$TIV,(88<W%U,(&24[S3M^;5E_XB+X@9!]4;=>&O:L+43Q4,(5S@X=A[^&;
M\$F-;T4^85'@L= /_2?T14/$D=,7_:F(V5MI\E*91@OV]\6-L1JX^<<39N/!
M;.S,QO^U1#^M+YVP9R(97@\++5"X1M1X:=>"%7*Y%%K4N6 WPFZ%J-WC3:/S
M-8#.-EKB%2FGQ\)8B2H0!5MRJ=DM+QO!U)+) @KE4G(RS5O3//_62 U1VESB
ME2REE<+0^Z82Q:[OO:A$B;*;QB!.8UBNJAM9\[9RH:005FC@'X)6L36_)<>P
M!P4H:VD%:XQ8-B6,+063AM7*,EXI;>6_1.%!KX6PL: M>FL1# 6B-)/5!N&
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
M"N,":]N6X'P=.>D9JICO9^!_ZJ8K ,M, _5N/R%ZDT-H6N;N@I$4]PG$NAS
MAAD:&W-%,]<#Z85E#^4&_,N6L#(C+RFI:>@G_]J HH +T4^( ZY?DP-(*@@A
M<Z28Z:PHN%:=?3)/^[K@-8'KOM \)74[Q[DRIN*I_6HV6BXK\NNT0@?&8&.[
M9PZGPY9^T2ZG^^OMBO]1^K6VG+H"HO/IFZ.)\.W:W+Y$5Z=5%2G XIL>2TP5
M\GP!WPN'"=2]L('A?Y?S?P%02P,$%     @ SH)84O-):J.B#   IR<  !D
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
MR(> //#N$P66WX07\ZDU6["\FM#X)4@-T41.:MZ4I;?T55*<GW]O6F5VB+!
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
M&T\W2W@MZ2I'RP;T_6",'Q8<8/QSL/D/4$L#!!0    ( ,Z"6%(+QHG@200
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
M._U,AUO]W"D*UF)_/CZQZ/6G_N08?C(YMNMNM=D))6*<@+-;27?;'=CS5$0
M2\"$6ND?AKK>Z0?##7UY/-,&%P^K<AU]EZ*EG?'8[4\X/ H&(O)(PA%A*P3K
ME@';]CS(+FGN=A5Q8I,F.;A_E/[6B^TF$0RX,T$K1YT\,_T=;L%C.S \G3YC
M*GXZ>S;8B>%-FM72^]IDDH,5NEJ 48O>PA04Z^4<;=&K27BY7E[<[$'N175!
M;>=.]J75'$R+:;!<A,OY)9K!\]GRXE8R_F$#LU.=QDZZ^GP.CL(2G9#%Q+9N
M@!=JE>;.<^M)N)K/ C IIS/P"D##KRXOWM/1W1S\EVD WUQ=X6<PZKGS0[M9
MV#?@+RS#Z9R\G]4DG%R9[@Y7TPM&%>#,M&*DBLTN6L00=5M'FSU^_>X#*P0N
M;9MKT_*7=W?\_?NX+G"'N.6#U$5>__I!W?WC%W[";J*48EW(WEUYD!W/HW0(
MP%9#&9K1;2D3Z+*?CEUE6IKR2X.80<+\+VSJ'UQ_>&,B;^8$6/I2.O$G?.$_
MRZ)ZDQ7TV-W;CW=]4[2 B,\0H0?(^UL8J_7D[>T-=H7VOP3F2\43??WSV[MK
MJNH(/J6=:1^#>YSY#M#\]]O7-"*L[ $_2\O-[HA([V?&$6X(KK&1>9IC"A^J
MR%QB(#$B$4P/4LS2XULJM,;!>SG=YLG /#AP;S")K[AMV+O-1YTRBX*A9.B
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
MKN<+ +M?/94CJ;>]4O'>D"5[7TU)W+FDH6^%^]M01?^^&?3O*/K'^7B []L
M)@=X:P;_B;J;B#$L>C8,S#E\$]:W6S4CY7I+WA3O80H@1\@0' W!'N!LD."L
M![,8[O.N-X%.]EU/#WCTD3^<E7H>?M@^]V$]W[F; R/6]@82+V @=W77=./L
M>,NYZ.[VMLN[*](KIM;85%5\!5N]HP3^HJGNUK%[,7)C;_H>I '7V&')6<$5
M+H#O*PEM6?^""L:[W[/_ U!+ P04    " #.@EA2C>"5I;H'  !U'   &0
M 'AL+W=O<FMS:&5E=',O<VAE970R-RYX;6S%65M3XS@:??>O4*7Z@:[2$,MW
M4T 5M]YAJV&Z@)ZI?12V0K1M2QY))K"_?C[)B6.8Q*2WJ.$EL77Y[N=(E@X7
M4OW0<\8,>JHKH8\F<V.:@^E4%W-64[TO&R:@9R9530V\JH>I;A2CI9M45]/
M]Y-I3;F8'!^ZMF_J^%"VIN*"?5-(MW5-U?,IJ^3B:$(FJX8;_C WMF%Z?-C0
M!W;+S/?FFX*W:2^EY#43FDN!%)L=34[(P2F)[00WXG?.%GKPC*PK]U+^L"^7
MY='$MQ:QBA7&BJ#P]\C.6%5926#'GTNADUZGG3A\7DG_XIP'9^ZI9F>R^H.7
M9GXTR2:H9#/:5N9&+GYE2X><@86LM/M%BVYL&DU0T6HCZ^5DL*#FHONG3\M
M#"9D_I8)P7)"X.SN%#DKSZFAQX=*+I"RHT&:?7"NNME@'!<V*[=&02^'>>;X
MI/BSY9K;"&FT=T?O*Z8_'TX-B+8#IL52S&DG)M@BA@3H2@HSU^A"E*Q\*6 *
M-O6&!2O#3H-1B>>LV$<AP2CP W]$7M@[&CIYT39';^[8[7^NT2F76E:M<WA$
M;-2+C4;%W@),RK9B2,[0::NA5VMT)NM[+J@KNS/0PTNFNK<[186>,:5>QZ@+
MR;BN.VEHA8H7 LU:(.(:48UFL@*H03)I+5MA-.(P:BY;346I/Q]X9U3/7PGY
MA$CHXY2$W@54@WE^U9WD. H"#SPQ7#PP85[U$QQ'F0< -A6K;3?$ BB"/7%M
M)Z"*TWM>08TQC0(<$M_[0KE"C[1J7=P$D _5FH&MU):C]>43Y#W$>1Z.Y"CN
M<Q3OG*,;5L@'P?\'*BY+L)7/.#R>=-I/5MHA5.CKP&KH;^O-*1M7?3=G$*RZ
MD8+95%BY#((";&*U0***+H1@F8&A3:N*.7 ,A(\7K NSAGG+[BZU-J2KW(XF
MV6HK[ ,#MR#:S@0(+,ZSP#LIBFZF8@6#7@ ^BG!&B'<I'F&D5,\HPW$>>-\4
M:R@'PY]@*="L\T*"/0H("@I/]-F+<9P0& ]KAH(J<MZ"ZL85!<%9F'B_-:YJ
M;%4PZZBRK&G]:^'%B8&!"5CQFU,@I'BE(TB\,T>+T*M8Y<*GY[S1*,QPY/O>
M.7N$M::!^!I6S(6LY,,S"E+L)[X'\"MA55,_G&W&O@E:,ZLR]+UK*7ZQR6+&
M\2$*0=J_I"P7O*H0"3*<Q-DZ;@U]=D';"S!)"/IL>U0+:H?EOI?A+$Z@\YPM
M0:K / %UOQ?B. N'/88^#>=BAXL]@H/(AV'7TK"AT@C:7@=S-?L9[44D'1N
M427%PR^&J=JJ(+FUY'U0F?2H3'9&Y0"*E\)0\<"MDTM4VE1=]*#YKMFLK0"=
MCTQOPN.XTKL7*#(NEDX)[&_,W(%L -<E[/C:.KZV;A4;K67!G6D+OA2Q6FL&
MBVM7<',&$5X30-OY4EE?#KSOJ[<90RX5O]M4>'LGFR"^#020]F=&E<7Y&!Y(
MO!SV!C "LARW!2'+7HN43RA)<9B/K=5I7QKI:):LFBL&BUW%"W2[PVJ=]8*S
MCUL)QE6_RTKPO@L!X#X)-R\$)!XL V$8_<0B +N(+2M &NY$_WFTK;@3'*;;
M"AJ6KA%^S_]>N_F W!.<9M%+)EXM-]$&QL^3;72?Y_DX+Y,PV9F7XWQ'4B8)
M)ND8\/(>'_E'</*XTG^&DZ^O;C^$CZ.>C\>J-^AI=K2,5ZR]J9Y77)Q;*@;J
M3\8*@OCK[T-_-#L7$%K!F"VT*UF5-D5W:\._?CT;TS+X"B4?1\QOZ-[ S!_#
MQTF^D8P)]N-T0,=1E/\$':?;V#A*@QWH6#OU_M;RAMYLVYX;YR.U' ;#$F8H
M?K'7AKUQO&FK[7;,&YDW\(-QY@T(V9EYLW!7ZH6O@IA$8Q@(UA@(/H)\W]#Z
MS[#OQ=7=![/O6*62U2YWO&1[:2]K]R7]QI9^283#<?Y='UN1\7.KLS7=NH_"
M2U'LCPE>'UR1W4^NWI]RWSC)^O\I]YT/0T*<YK%W U4(2FP5NC%!@O-P\]8X
MQ'X4#3?'L'4,?X*/\]#[PI]L-+OWR-]E4QRZPY,M51[G.-E*PAG.@[&#CSC]
M>RTGR9",(WMF]W)W# YF^2:"CL*M6^, ITDZZ+R7HK7-$.H@VWA"0G#JO[&=
MCG?G=)NH>%=6#W.<9>D8SM:'CV3\"/"[H&W);6G=MDW3G9#2"L&JC-R] B"Z
MNUR!R&^$TMLGC&LH-"#524,S+J@ &JX #;U\5$I(A9#&7JC8BQ$H!]@7E/^%
MPJH=(F HM!E>\,:1\K*@D::/(-\B0;>5B_5,R=H!D;[B==YI$( 9K:GBU3.8
M4'(+[D>V0J_L<]9)U-!*#5K(MBK1G#Y:L:8%4GA&LG 0LLUNT>C.O&EWJW//
MF'#48&^5K,'0]F\J6JKL-R$*?)(C< FTSEK3*M:KVT@6&/PM6&,06(?TG,+X
MDAH*''(.WM3WT!H2[#FI\)-YW9'\JF*A<-(<1V%DGTB*TS#WKJ' N !TN>X0
MAWG7BPD Z((JX<+:ZSOP3JGF!0SQ]Z.L^P/L\:HUKC+7K1O/X*:#FR @B@=W
MWZ61@VEW*=2W]G=J)]U-TGIX=R%W117L_#5@:@93_?T4ZE!U=US=BY&-NU>Z
MEP98R3W.&1"+L@.@?R:E6;U8!?U-X_%?4$L#!!0    ( ,Z"6%*"> :9C 0
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
M4)8!SF=2FLW"&MA^"E[\ U!+ P04    " #.@EA2@+@1:)H$   5"P  &0
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
MG;=B+4!14D@SCT**!4\3+,(X<M[]UE7ZD?WI#RGW^8_,=Y,@&7;.;:OSVJ2
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
M:^VHF\.RIO&)QCO0>:FUVVT\03^0%W\ 4$L#!!0    ( ,Z"6%*M):5_8 ,
M "4'   9    >&PO=V]R:W-H965T<R]S:&5E=#,W+GAM;*U52W/C-@R^^U=@
M-#TD,YSH_<K8GHF3;+N';>.DVTZ/M 1;G)5(E:3B[+\O*"G>I)--]]"+ %#
M!^ C"2Z/2G\Q#:*%IZZ59N4UUO:7OF^J!CMN+E2/DO[LE>ZX)5,??--KY/48
MU+5^% 29WW$AO?5R7+O3ZZ4:;"LDWFDP0]=Q_76#K3JNO-![7K@7A\:Z!7^]
M[/D!']!^[N\T6?X)I18=2B.4!(W[E7<57FYBYS\Z_"'P:%[HX#K9*?7%&1_K
ME1>X@K#%RCH$3N(1K[%M'1"5\?>,Z9U2NL"7^C/ZA[%WZF7'#5ZK]D]1VV;E
M%1[4N.=#:^_5\1><^TD=7J5:,W[A./L&'E2#L:J;@ZF"3LA)\J>9AQ\)B.:
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
M\IP8,AXJN43*G;9H;E&G6EO;X*APK-P999]2:V?&%]I0FQMDZ(N&O&+HFN:
M9(Y.M0:CT;MS,(2R]\/86&_.)IZOD"<-,GX!.<7H1@I3:'0A,LB> L0VS#96
MO(YU@H.(YS _0IWT \()3@)XG3;W3HUW_ +>I*(LHV*![F^ ST!]#V >MYC'
M-6;G!<RIL@VCS.,'-&5$&$1$ABY^5K2T;[)!]]?V.+HRP'7(6;=UU@TF\"QY
MSS$5ANDDZ!&(TH&(>FU$O2#4-=@.*23+T!4OE?P%+FV]2X'[K8?^VQ=XT#H;
M[*? 89B[0BH#RK65*0#9)5^OF2L8D@I!ZZIJ7+&_7#U)X:1-X22<@J_-B@3T
M&]V0!\HKO@LO:>*5)'E[9M(-X4KWP\T6'*M3V][^%/N@\#]4FXJ=J^VU*^T<
MH-I>UM+C/54[C-/97FRO?FE8MRXK):BI%*!+^N"N&IW:*GS.<SJ'C6(T9?_7
M]]]+7]H[ "->!]/^GA@)XPRV,^+E,@T+W7\P\HH>\=*7GKP](]@+($[VP\@6
MG.T]@KU*XK"ZG4E>5NZ_YQ-1V9)89APA=S(W]8;_3VM@+XL8'X (KXTX_&&W
M.Q%AG/YV(KR XK#PO9Z(W3L">\G$W0,0X241AS\'=R<BC!/HB'AC]N&@%O6$
MI]%<5L(T8U![MYTB3YO9R1]O1M ;HA94:/M-EEO3Y,C-;*J9ZIJ-D64]2<VD
ML7-9O2SL) S*';#/<RG->N,<M+/U^ ]02P,$%     @ SH)84N\X5^#K!
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
MK26-O54J6%R"Y0SB,"G^NR]E(K8 MMX!0"4 -0#0Z #@$H /!1@EP#@48)8
M\U  *0'D4(!5 JQ# 78)L \%."7 :0)(EW#Z1CF]"<%=D$KLIMJ=TX(;N6%+
M[TXO&\'AP8K#C>0PUUPKEF^^]B]<X8Z..5L#GME+ONPB+Z <+Y=\F&2U/A-<
M/@TE3HQF18T#-@=WG/DK3X![^DR3%4W!TVLU=BMAX/,%%6X8?0%_@9^S"_#Y
MTQ?P"80)> C8*G43/SW6A)Q21JQYI?NSPCWJ<(_!A"4B2,%EXE-?@1_WXR'J
M(=!D+JJ$H$U"SE OXP7UC@"&7P'2D:Z8T'D_?$:7$JYWPB_ZX>-5T@N_[(=/
M7-X[^:N#8X>. O[MX-B5\.N#8U?";PZ.70D?_YGNMW^6NNGA<+MG%>.JK''.
MASOXRAH&<\YB</DB*$_<")SG.PKEX#&OYQM!X_17CS>C\F;DWHQ^;ZKR+X!F
M#LS.'<\CJ-O$D#$^;Q=5V\PQ=*+O6EVTK6S+(&C7ZK)M91'=:7!=M:V(8UC&
MKM4WI95A[EI=*SSJQ&G,ZT;!I1/<\#AN6V%"4#,5MVTS9.FH.;.I(OTRL;B>
MVH[>9J6WV:OW51@)[N9GM;)!I.!Q0N,GRON6$ZGHR0<L7JOR9KUS\8X+(-G.
MGF78#ME-\O=^_D?X2[6=*+BA8S:7PV0/-U)Q3]O<CF[:1"VZ7>7)[O5U'D@Y
M7,$6W%T&KV\2WJE<.!\@/-3KLX_^7NE+Y'8.+6R:L"']'@<=VBO(B4%PHW@G
M^\C5XBO(#1.C#O7AUD$1]KJ3@GLT3<&IU.15A%[ZIB4 4>T'?<0BJ#LEQ.]>
M!+B52HRQT:S_/0ZZ%D&;'!)#;RV"/>3-1;";A;J#P_X6+K44-$S>*&K=,*#Y
M$:+6'022=XM*6GFW=0NCIJC]#KI$;9,3$Z+FKKZ/O*.RV^2F@2VSH[+K!@C[
MN\@/$4@-EF\1OFX:T/X(X>L. IUW"^^TJYG UH[>S]^E>YO;P([3E'T/=X?L
MJGGKAEIU5#<_U-\^-H7>]\Y<-P<$/T!F5#<)A-XK<XELG* A;N[:>SQT"*U@
MEP=OW;$:4N]C5TNM8(<.MAW8(7;6Y'9'Z@T?]6_XZOC.]J"REV/ -V(S#N;U
MJT"U@82)%ZU\FE:&G$:NH#X0#%Q.'HI%,EY%KP#BXGW[*YA.9L7X#T\PN?L
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
MWOH^;[C:FWL:';5&HX\E'+6)H_<3C@[8N5[DCO8('T8%83@\#MAUGK<ZI[?
MZ6(ZZ^G3[>R9[L<B=I_W*==[/^3&8_B"<NCM03X2-0JB/<AVYVC1Y_IWS#-"
M!2I@K53.1:CDO#XJZXEDE3EM5DRJL\L,<_5Y 5P'J/MKQN331!]@[0=+_!]0
M2P,$%     @ SH)84F?RIXJN @  3@@  !D   !X;"]W;W)K<VAE971S+W-H
M965T-#8N>&ULQ59;:]LP%/XKPC!HH8MON:TD@<;IML("(6';P]B#:A_'6F7)
MDY2F_?>39$=-NMKMRQB$1#HZWW>NG)/)GHL[60 H]%!2)J=>H51UZ?LR+:#$
MLL<K8/HEYZ+$2E_%UI>5 )Q94$G]* B&?HD)\V83*UN)V83O%"4,5@+)75EB
M\3@'RO=3+_0.@C79%LH(_-FDPEO8@/I:K82^^8XE(R4P23A# O*I=Q5>+L9&
MWRI\(["71V=D(KGE_,Y<;K*I%QB'@$*J# /6/_>0 *6&2+OQN^'TG$D#/#X?
MV#_:V'4LMUA"PNEWDJEBZHT]E$&.=U2M^?XS-/$,#%_*J;3?:-_H!AY*=U+Q
ML@%K#TK"ZE_\T.3A"! .6P!1 XB> _HM@+@!Q&\%]!M WV:F#L7F88$5GDT$
MWR-AM#6;.=AD6K0.GS!3]HT2^I5HG)JM0*3 E*XPXCE:PSVP':!<\!)MR):1
MG*28*9183T!(=+8 A0D]1^^=$"6<&1*!;2G71-[IUPVF( ^,$U]I9XU)/VT<
MF]>.12V.A1%:<J8*B:Y9!MDI@:^C=*%&AU#G42?C M(>BL,+% 51\()#R9OA
MX8<7X(NWPT<=T<2N<+'EZ[?P+0FEI.("=)E*W$'8=X1]2QBW$#:5ND!+_(N+
MI^+^^*(5T8V"4O[L,#-P9@:=?I^TF#QJL=2U&-8?5)TTIN(*4SUF6INIVV@8
M]H+@W4LU?P47M^ 6K^ &?^-.LC5TV1IV$B6/>BQB=&;F.PCZB#Y=H\^ J2I2
M+."\P\+(61C]R[*/G9GQ?RA[TFTTC-K*]PJNM7S^T:353F_MQI(HY3NFZDGD
MI&XI7ME=\$P^U\NRWFU/-/6F76*Q)4PB"KFF#'HCW6JBWE[U1?'*SO-;KG3F
M[+'0"Q^$4=#O.>?J<#$&W%^(V1]02P,$%     @ SH)84OG0:5\:!P  4"4
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
M4G)&F<!N.N D#8/R4]F8\,5W:3ACPA^6 0Q9&(;_RZ(G";PO".;R<":H1'(
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
ML:SDZU=N-'C70C,_68P;MXIYDBF_*1+?T/:/T'XN$%?E0-> Z'(!7+]]@*U
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
M8Z.T >;Y0@B]7=@#^O^ _!]02P,$%     @ SH)84AY4+<$X @  X00  !D
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
MGH.QWK"X)J^@Y!XFSF]%@L4Q$FRB6$QZ>>IW10<S,;GY<1:(6;!4I#A&' >
M$W"U?"A&Q$46'P"TBVWQ(U@MUX7\B\_)HU@AEII5\D5S>?^ U_^N"@VQI>%$
MJBCP65MQG_<U:+^A(2:OH.2F7(59Q2TRX6/&A.LH/O#(UV9B"AZP'Z8D)MNH
MG)O%I(*!VNL!#RG)MN&+>-43;<#&BP%?C-K;_'#,@$^RE!>=6DFK _AE?@QI
MR"?P? XU\H4\L.ODUOEG'<^M=;[4R2^A)-(QB<4GGNA]LLNO!<9S<,6W!C&>
M;:.4@1AO1*#FV4"T#BV.[\4-)[O\</-(N#B%Y)<A1@&F4D$\WQ#"RQMIH/J(
M,OX?4$L#!!0    ( ,Z"6%(9DO);BP,  (0-   9    >&PO=V]R:W-H965T
M<R]S:&5E=#4Y+GAM;+6776^C.!2&_XJ%YJ*5=HOYB($JB31-^I$TE:IF9_=B
MM1<N<8)5L+.VTTS__1A#: ($H1G-38+-^YQS?(Z!X^&>BS>9$*+ ]RQE<F0E
M2FVO;5O&"<FPO.);PO2=-1<95GHH-K;<"H)7!LI2VX40V1FFS!H/S=RS& _Y
M3J64D6<!Y"[+L/BX(2G?CRS'.DR\T$VB\@E[/-SB#5D2]6W[+/3(KJRL:$:8
MI)P!0=8CZZMSO7!@#AC%WY3LY=$UR)?RROE;/IBM1A;,(R(IB55N NN_=S(A
M:9I;TG'\7QJU*I\Y>'Q]L'YG%J\7\XHEF?#T'[I2R<@*+; B:[Q+U0O?/Y!R
M08/<7LQ3:7[!OM"BR +Q3BJ>E;".(*.L^,??RT0< =I..^"6@%L'_#. 5P)>
M7\ O ;\O,"B!05\ E0#J"P0E$/0%PA((^P)1"41U )TK'#Q4#O;UX53%;E3[
M+'(HMV/J;1<;R^S**59X/!1\#T2NU_;R"[.U#:\W(V7Y4[A40M^EFE/C%_).
MV(Z M> 96-(-HVL:8Z; Q'@G0H*+*5&8II?@3_!M.0477R[!%T 9^"OA.XG9
M2@YMI2/)[=EQZ?6F\.J>\>J!)\Y4(L$M6Y%5"S_OYAVWPX"M4U#EP3WDX<;M
MM#@E\17PG#^ "UW8$M"D&U^2K<;A67S:C<]WK!._[<:?L.@,_J[WVIVH!;_O
MO?96_*'WVEOQ6>^UM^+S7ZO[XZ^E;M$?#SMVL5<]S9ZQYYVQ-^$L)DP);+YP
M+U2^@7\76@-FBF3ROPX/?N7!-Q[\[O=%VR-?@ ,#YA__][$#0^3K=;T?/TA-
M6>1#!$]5TZ8J#'SDGJINFZH P:AFZZZI0I$?^*>J^U:5/SA5/;1XA"BJQ35K
ML0615_,X;ZH\A-QZ*AZ;,C> ;CVR14OZ=6*]S]!.ZCVHZCWHK/<335.ZY8+H
M;T.&.S80J@RBW[1%@\I#\)-;=!XT,QX-'*>6\$*%3NKBU'?5HJERH]#WVM,=
M5K&'G;%//G13BL%%WEX3D7Z ^UOP0'"JDA@+<MF1G:CR$/VF_#OPLZ> /UF!
MQY(\*8'C^[42+%ID;H0<5,NN?=3XZ'QM3#LO0<QW3!5OS6JV.C)\-8U3;?[&
MN9XY+?/S_(AA&JU/\\7Y1']W-I1)D)*U=@6O AVK*%K^8J#XUK1=KUSI1LI<
M)OJ81$0NT/?7G*O#('=0';S&/P!02P,$%     @ SH)84MS4+B&X @  MP8
M !D   !X;"]W;W)K<VAE971S+W-H965T-C N>&ULC57+;MLP$/P50L@A =KH
M92EN(!M(;!3MH8 1)^V9DE86$8IT2<I.^O5=4K+@^(5<)#YV9F=G*2K;2O6J
M:P!#WAHN],2KC5G?^[XN:FBHOI5K$+A32=50@U.U\O5: 2T=J.%^% 2IWU F
MO&GFUA9JFLG6<"9@H8ANFX:J]T?@<COQ0F^W\,16M;$+_C1;TQ4LP;RL%PIG
M_L!2L@:$9E(0!=7$>PCO9ZF-=P&_&6SUWIC82G(I7^WD9SGQ BL(.!3&,E!\
M;6 &G%LBE/&WY_2&E!:X/]ZQ?W>U8RTYU3"3_ \K33WQQAXIH:(M-T]R^P/Z
M>A++5TBNW9-L^]C (T6KC6QZ,"IHF.C>]*WW80\0CLX HAX0?180]X#8%=HI
M<V7-J:'33,DM438:V>S >>/06 T3MHM+HW"7(<Y,EUWWB*S($Q3 -C3GH D5
M)9E#!4I!B1L;$"V02LF&S*0P"LW7*-349.8D@M+D>@Z&,GY#OI*7Y9Q<7]V0
M*\($>:YEJY%/9[Y!P3:M7_3B'CMQT1EQ<RAN21Q^(5$0!2?@LT_#PV\?X3[:
M-'@5#5Y%CB\^P_=(.14%NN.,*#X:40Q&2,'?[R^DBX=TL4LW.I/NH2AD*Y!?
M#8TY96%'DC@2^\UNIG=AE-QE_F;?J>.H41RDXR'J@\+1H'!T4>%P0E1_0JZ9
M*'A;X@JS7VBA6AQR1G/&F6'H'"Z;&JQW6G)64H/[>6<K<8=8WYRJL9.1[JD/
MDS@<']1X')4$07*ZQ&0H,;G8\]W9QQ[(E6#_4&_9*B96Y!TH-ANO3@W". \X
M-7;#R$O=3X?$Z45OG]&F'%9,",M9'CK=FW;*K/2HU7&<A@=>'0>-X_C *G_O
M6K%7^B^J4(\F'"I$!;=W"%?=-=E-C%R[FR:7!K\%-ZSQSP+*!N!^):793>SE
M-?RKIO\!4$L#!!0    ( ,Z"6%)4GWM> 0,  /D(   9    >&PO=V]R:W-H
M965T<R]S:&5E=#8Q+GAM;)U676^;,!3]*Q;J0RLMA4 @595$RM>T3:M6->OV
M,.W!@9M@%6QF.TGW[W=M",L'8=5>$FR?<SCW^MJ7P4[(%Y4":/*:9UP-G53K
MXMYU59Q"3M6M*(#CRDK(G&H<RK6K"@DTL:0\<WW/B]R<,NZ,!G;N48X&8J,S
MQN%1$K7)<RI_3R 3NZ'3=?833VR=:C/AC@8%7<,"]'/Q*''DUBH)RX$K)CB1
ML!HZX^[]O&_P%O"-P4X=/!,3R5*(%S/XF P=SQB"#&)M%"C^;6$*66:$T,:O
M2M.I7VF(A\][]?<V=HQE215,1?:=)3H=.G<.26!%-YE^$KL/4,43&KU89,K^
MDEV%]1P2;Y06>45&!SGCY3]]K?)P0$"=9H)?$?Q30N\"(:@(P5L)O8K0>RLA
MK @V=+>,W29N1C4=#:38$6G0J&8>;/8M&_/%N*F3A9:XRI"G1U,)"=/DLU *
M%.F015DOY,N*C#,L(LIC(+@EY!AH9L9Q+#9<*_($,; M76:X<#T#35EV@U+/
MBQFYOKHA5X1Q\C45&T5YH@:N1MOFY6Y<69R4%OT+%@/R(+A.%9GS!))COHOA
MUC'[^Y@G?JO@#.);$G3?$=_SO08_TW;Z @JD>Q?ILW;ZIPUOI<_;Z0]47C)_
ME(R@+H# Z@7_+@#R8[Q46N+9_=DBW*N%>U:X=T%X FO&.>-K/,B9*:.FG2\E
M0BMAKK3MJ!/YW8&[/=R.!E 8W!V#9DU*X0EHWJ3DAS7H*,ZPCC-LC7.ZD1*X
M)@5()A(2IY2O@> -3G:2:>B(U:JQZ$O5Z,!+%)[$= X)^LUFH]IL])]FX;7
MNQMPKBR(S![T)N/1F:N.[T4G>]8 N@M.PCO'G$+F#3+=(&C.0;_.0;\U!WB-
M_*,J^^=ETH_\DP@;0&>E.VL G97NO$GIH'3+(-V#.SX'N;;-51%[!9=77SU;
M]^^Q;5LG\Q/LZV4;_BM3?A3@U8)'5I$,5BCIW?;1DBP;;3G0HK"=9"DT]B7[
MF.*W"4@#P/65$'H_,"^HOW9&?P!02P,$%     @ SH)84IP-(:$U @  +04
M !D   !X;"]W;W)K<VAE971S+W-H965T-C(N>&ULE51=;]HP%/TK5M2'5NK(
M)]!5(1(%3:NT2:BLV\.T!Y/<$*N.S6P'VG^_:R=$M,#6O1!?^YSC<R_W.MU)
M]:0K $.>:R[TQ*N,V=SZOLXKJ*D>R T(/"FEJJG!4*U]O5% "T>JN1\%P<BO
M*1->EKJ]A<I2V1C.!"P4T4U=4_5R!USN)E[H[3<>V+HR=L//T@U=PQ+,XV:A
M,/)[E8+5(#23@B@H)]XTO)TE%N\ WQGL],&:V$Q64C[9X+Z8>($U!!QR8Q4H
M?K8P \ZM$-KXW6EZ_966>+C>JW]RN6,N*ZIA)OD/5IAJXMUXI("2-MP\R-UG
MZ/(96KU<<NU^R:[%CF./Y(TVLN[(Z*!FHOW2YZX.!X0P.4.(.D+T7D+<$6*7
M:.O,I36GAF:IDCNB+!K5[,+5QK$Q&R;LO[@T"D\9\DPV4U P0[Y(K4&3#V1:
M8(CUI9S<B[9);+4OYV HXU>(>%S.R>7%%;D@3)!OE6PT%85.?8-NK*:?=S??
MM3='9VZ>0SX@<7A-HB *3M!G[Z:''U_3?:Q!7XBH+T3D].)_%X+\G*ZT4=AA
MO_XB'/?"L1-.S@A/\UPVPFCL^1S8EJXXG"I6*S)T(G;TMMDXC(;CU-\>UN08
ME<3!Z*9'O7*8] Z3_W5XC6L-:@L$>X 4LEF9LN$X="WR5 +)<0*CZ(W]8\PP
M&KXQ[Q\TLWU(OE*U9D(3#B6R@L$8Z:H=SC8P<N/Z>R4-3HM;5OB>@;( /"^E
M-/O CDS_0F9_ %!+ P04    " #.@EA2W":$,W$#  "=#   &0   'AL+W=O
M<FMS:&5E=',O<VAE970V,RYX;6RM5]MNVS@0_15"Z$,*;".1NE@N; .QL]L&
M:((@3KI8%'U@)-K2EB)=DHK;OU^24B3'EKEMX!>+I#AGSIPAQZ/)EHMOLB!$
M@1\597+J%4IMWON^S I287G.-X3I-RLN*JST5*Q]N1$$Y]:HHCX*@L2O<,F\
MV<2NW8K9A->*EHS<"B#KJL+BYYQ0OIUZT'M>N"O7A3(+_FRRP6NR).IA<ROT
MS.]0\K(B3):< 4%64^\"OE\@:V!W?"[)5NZ,@0GED?-O9G*53[W ,"*49,I
M8/UX(@M"J4'2/+ZWH%[GTQCNCI_1_[+!ZV >L20+3O\N<U5,O=0#.5GAFJH[
MOOU(VH!B@Y=Q*NTOV#9[1\@#62T5KUICS: J6?/$/UHA=@Q@<L0 M09HWR Z
M8A"V!J$-M&%FP[K$"L\F@F^!,+LUFAE8;:RUCJ9D)HU+)?3;4MNIV:+ ;$TD
M*!E88"%^EFP-/F-:$\!7X /G^;:D%)Q=$H5+^A:\ P_+2W#VYBUX8TSN"UY+
MS'(Y\94F8R#]K'4\;QRC(XXA M><J4*"/UE.\I< OHZB"P4]AS)'3L1+DIV#
M$/X!4("" 4*+7S:'8P>=L%,VM'CA$;Q.O"^?]!MPI4@EOSIPHPXWLKC1$=PY
MIIAE9$CQQC"VAN;^/LVB)(U@./&?=G4XW!:B9!3&W;87O.*.5^SDM:BKFF)S
M*8$2F$DS-O<T_U>?8GWQU1#C!C+9H0+C$=KC>[CI71B%PVR3CFWR6A63 W<)
M3,,@WF-UN&U/[!>\1AVOD5M%<$^R@G'*UR61CN.2=H#I28_AN,,=.XEVN%B4
MTE2-E> 5N,B^UWIJ,C\D[?@PW2A.]Y4='YQ/&.D[#8>5A4%?ZH+7YKRU3%[Z
M#&%TQ.=.>85.G\N-_K\2=06N6';ND!VB'A&=-*&P+U@P/'U*6\Q=Y=#XR"6
M?8V#[B)W<[UTA=37)!B?5JR^?D!W 7F=6 .U990>.V1]S8#NHN$ZV*/?\=@7
M%9@Z/5[<W9/E/S<N)?M" L<GS1'J+SQR7_A7Y0@-E *4)G$ZK!GJ2P%REP)'
MEEK+^/]\^CN-7D7$VO:_$F2\9JIIE+K5KL>^L)WEWOI<]]Y-I]S#-(W[-1;K
MDDE R4I#!N<C34HTO7 S47QCV\E'KG1S:H>%_GX@PFS0[U><J^>)<=!]D<S^
M U!+ P04    " #.@EA2A,$SI54%  !/'   &0   'AL+W=O<FMS:&5E=',O
M<VAE970V-"YX;6RU65MOVS84_BN$5PPML$0BJ6OF&$B<70*T6] D[<.P!\6B
M;:&2Z))TW.S7C[I$M$2)=A([#[$NYWS\2)WS'5[&&\J^\24A OS(TIR?CY9"
MK,XLB\^6)(OX*5V17+Z94Y9%0MZRA<57C$1QZ92E%K)MS\JB)!]-QN6S&S89
MT[5(DYS<,,#761:QITN2TLWY"(Z>'WQ.%DM1/+ FXU6T(+=$W*]NF+RS&I0X
MR4C.$YH#1N;GHPMX-G5PX5!:?$G(AF]=@Z(K#Y1^*VZNX_.173 B*9F) B*2
M/X]D2M*T0)(\OM>@HZ;-PG'[^AG]][+SLC,/$2=3FGY-8K$\'P4C$)-YM$[%
M9[KYD]0=<@N\&4UY^1]L*EO/'8'9F@N:U<Z209;DU6_THQZ(+0?H#3B@V@%U
M'9P!!UP[E"-G5<S*;EU%(IJ,&=T 5EA+M.*B')O26_8FR8O/>"N8?)M(/S'Y
M@])XDZ0IB/(87.<BRA?)0TK !>=$</#^BH@H23^ $W!_>P7>O_L WH$D!W=+
MNN;2A8\M(5D46-:L;O&R:A$-M @1^$1SL>3@MSPF<1O DO2;/J#G/EPB(^(5
MF9T"#'\!R$9V#Z'IWNXP--#!S9#B$@\/X.FC^,]':0*N!<GXOX8&G*8!IVS
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
M:J'1/=&P;-S4!>,=G'VI-6XW/L PQXM_4$L#!!0    ( ,Z"6%+@B;C/C0(
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
MR X/X,W!)J8.D!^8K>5W1 6LI,RZ"J6>M9MR.Q&TUOO:*Q5RE]3#7)YCP%2
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
MW@AM.L0M*S/T4-H L[\50A\->\ P1K-_4$L#!!0    ( ,Z"6%)[%M( Z0(
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
MP#5 W2\8D[N-#M .\.0?4$L#!!0    ( ,Z"6%(AQ<:QR04  -<8   9
M>&PO=V]R:W-H965T<R]S:&5E=#<U+GAM;+5946_;-A#^*X31AQ988HFR9+M(
M B1Q@V5HMJ)I.@Q%'VB)MKE*I$=2<3KLQ^](*:)C2:P3N'E(+%EW_.[NXW<G
MYF0CY#>UHE2CAR+GZG2PTGK]=CA4Z8H61!V+->7PS4+(@FBXE,NA6DM*,FM4
MY$,<!,FP((P/SD[LO0_R[$24.F><?I!(E45!Y/<+FHO-Z2 </-[XR)8K;6X,
MST[69$EOJ;Y;?Y!P-6R\9*R@7#'!D:2+T\%Y^/8JFAH#^\1G1C=JZS,RH<R%
M^&8NKK/306 0T9RFVK@@\.>>7M(\-YX QS^UTT&SIC'<_OSH_<H&#\',B:*7
M(O^397IU.I@,4$87I,SU1['YE=8!Q<9?*G)E?Z--_6PP0&FIM"AJ8T!0,%[]
M)0]U(K8,1GT&N#; .P;AJ,<@J@VB?0U&M<%HUR#N,8AK@WC?%9+:(+&YKY)E
M,STCFIR=2+%!TCP-WLP'6RYK#0EFW##K5DOXEH&=/KOFJ2@H^D0>J$)'Z#S+
MF*DXR=$UKWAKZO]Z1C5A^1MXXNYVAEZ_>H->(<;1IY4H%>&9.AEJ &-<#M-Z
MX8MJ8=RS<(C1C>!ZI= [GM'LJ8,A1-&$@A]#N<!>CS.:'J,H_ 7A  <=@"[W
M-@^G'>:S_<TG'>;O_.8W1!XC/.X%?^4W_XWP8Q1TKOXDEU%#B\CZB_:AQ9?W
M\"VZUK107SV^1XWOD?4]ZO'].^@E**,$:O$ERH52*"52?D? MPV1W62J7,;6
MI5'+^[-1$$"B[CN Q V0V OD,\G+BM\D!X4E/*5 ZA0$6E'T.J/5IS==<"K'
MR1:<H_$6G(IO<0MSV <Y:2 G7LC7Q1JT&(D%*KFDJ5AR]B_-D"8/:$XY73"M
M$,1#%PMJ)=M^ YFF74$DK2"B7H#C!N#8#Y!K*JG2"%0!0?LCN69 (4ES  %
MA<FPH98VU.I"-6ZA"L=!*[?MI^+60[-Q5P%Z IPT 4Y>$B!)4UGNRE@5T*0-
M==(.J/W4J!_LM $[W8LNP'"E*'##@,X9F;.<6=A924U-TA7A2T-^$X<HN=V9
M:PFE8NN\DSO3%MPD'B?3G:"FK0+$DU&T4Z7V0T?)>-P=>!BXOA9X0[_C&5-:
MLGEI>$>)Y!"3,CL'9 ;F#0[#U%RQC!')NHE8+_"$B6'_#@FW6F[HA795 VA
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
MH][Q0HM=<UI:"0UGKV:XA>,QD\8 GJ\%U,CIPAS V@/WXG]02P,$%     @
MSH)84DI23#'R!@  +"4  !D   !X;"]W;W)K<VAE971S+W-H965T-S<N>&UL
MK5K;;N,V$/T5PF@!!VALD91U"9P &VL7#=!M%\FF?2CZP-BTK:XLN1(=9_^^
MI*2(MGBSW;YL)'G.D&>&G#/4:KHORF_5FE(&WC997MT.UHQM;\;C:KZF&U*-
MBBW-^2_+HMP0QF_+U;C:EI0L:M F&R//"\8;DN:#NVG][$MY-RUV+$MS^J4$
MU6ZS(>7W>YH5^]L!'+P_>$Q7:R8>C.^F6[*B3Y0];[^4_&[<>5FD&YI7:9&#
MDBYO!Q_@3>)[ E!;_)[2?75P#025EZ+X)FX>%K<#3\R(9G3.A O"_[S2&<TR
MX8G/XY_6Z: ;4P /K]^]?ZK)<S(OI**S(OLC7;#U[2 :@ 5=DEW&'HO]S[0E
M-!'^YD56U?^"?6OK#<!\5[%BTX+Y##9IWOPE;VT@#@ P, !0"T!]@&\ X!:
M3P7X+<"O(]-0J>.0$$;NIF6Q!Z6PYM[$11W,&LWII[G(^Q,K^:\IQ[&[1SHO
M\GF:I:1.0[$$G^B"EB0#3XRP'2O*[^"1, I8 3XNE[1.$WC(Y\6&@J_DK?EQ
MF%!&TNP*7(/GIP0,?[@"/X T!U_7Q:XB^:*:CAF?K!AR/&\G=M],#!DF!A'X
M7.1L78&/^8(NCAV,.<N.*GJG>H^L'A,Z'P$,?P+(0YYF0K.3X3#6P)/3X9&%
M#>X2AVM_V."OGX)>(O_\A=N#!T8WU5^6T?QN-+\>S;>/]D)YI:$\L_4=(V]4
MF]G&UZ3V)0K/Z]TD1C"<CE\/PZU:H0!.X+%5HK&"/@XZJR,ZDX[.Q$KGX]N6
MKV2Z$!0 8:#JUGK)8ZFCU/@+#J8!T>$T&DJJU<2/48^1:N1//*0G%'2$ NMJ
M^+#XF]<*7H]9!18[L5MO+%D/.Z^A-4Q)RG=\2?.YR#S;4YJ#Y]'3"/ =#<1"
M2%>YB* N7J%",A#+_BA:JHT2T42UP?Y$'ZNH8Q5968G"UJWAFDI)\ODZK:B)
M3*0F'^,>&=7F&H9QCXUJ%$,]F;@C$UO)W.\J_J2JZI4\+^DB9=HM&:O3\X/
MZY'06*'0[^=$8P7# U]'1* GE<ASY*68?[L6(KX /#>\LZF:6D;?Q+5V6[8N
MC^82\XW9XZ4S@U'8JTB)U@Q!;&!VH+'0RJS>-#Q!G<:^;QY*RCS-5WIYA&HQ
M@7U>J@U"2*&EL8*Q*5](LD*.(DKGN[H=.,R6E@I2-Y#O*614J\CORX'&" >A
M@8K44HBM5'YC:UIJ9X[5.<7]JJ\Q4HJ^SL8T;2G*T*[*LS7)5Z*4-65YV79N
MHA0('=,O*U^SQV%LT!\H%17:);4WEZHNLO:9J$)X'7I1/W"J5>A'AME*N83!
MB;/]E8K<9Z))[::KG6V@;J))OWYJC*YAC/N4-%8X,G&28@WM:OV5RUB5UB5&
MKV,)5-7TFBN9:60IJ-"NJ,^\0RCY : >&&S+XC45YT)]UG5"&?1; XT5](*^
MG&JMD$%1H914:-=4N3A>2;9KBC;)^ F9MPGZM:%31-2GI#6:]"FI5H=&QP<?
M*:W(+JV/E.W*7)SANN0 (EM&'2>DT<*HEX"9SDAI>C1&V""I2$HJLDNJL6(C
MC6R&_>6E,>)%L%]Z=%:&Q86D:B*[:CYT9R<P?*$Y7:;L2F9%RP@I1R!>)Y54
MJ%9^Z'M]2AJK",8&4E(_D5T_SS]/.1PB./*\'[6'] N!R07 XVA(64;^_W@8
M0U)BD5UB_\-QS.'9'&T7+C0$VX4+[+&60H[L0G[^8<[AT!LA0RCLN*$G8G&E
M#89K1-\>#-D!('L'<.IAT.%F&(YB/969"PF]T<04!0<T$H&_LL5!]B/(=<(_
M_R3I<#F$$[%F]4%Q0$,-LS8F#N1$LZ:.8R*;&F1O:BXZ@SI\>B-HV"MV7"06
MB38>=AS4;,[CEZ>R(\+VCNCTPZO#$5)W;Q,#!PX;ZDSBP&E*[G$(9 N%+VRA
M'#AHR-[,@=/4N9:Q"Z>,=\Q8]E[8WGM=<EYVN!QB4]F?.9">J5$Y'W<<CH/_
M0;"W/.<?V1T.A]!4Z68.I#D8=AQVK0W9M.%3WZ6<^D; X="TW&<.G*61<"'A
M*+++!9:])K9W:,Z7"?<.!Z:,SB[$)0[<,'#U#U@VE=C>D9WS/L/ABF<3F[:$
M'>D;Q#5QXB+[EI#M)+:W9&>_!W'X,R\)1VMH;BJ=(]K/&5BVE-C>BEWP!L7A
M<>B9BZ43:5A3B0/I[)]D.XGMK9BY>7"T<,8U8,=QSFIM:SD[D=!>&'S9-?KV
MYNO\ES<.AQ;%="!A9*H/#B!")LT<'WQ&LJ'EJOX<I^(-\BYGS6<6W=/NDY\/
M]8<NO>?W\"9I/MR1;IKOB#Z3<I7F%<CHDKOD2L>+>ME\FM/<L&);?ZSR4C!6
M;.K+-26\3Q,&_/=E4;#W&S% ]X'4W;]02P,$%     @ SH)84AX=N4NR @
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
M(3L70Y*DJ_9:3:PJ?8=:*4O]S@]S^B)![0SH_5HI^S1Q"9IOG.DO4$L#!!0
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
M%Z-6"_]P.^/4E(J[G2^4KY62J=!6BIZK#@(#Q(OKDJ(AV=;<.#PQ*5EJ'C=
M(^!Z@'J_8DP>&AJ@NK2:_0]02P,$%     @ SH)84IV'<_Z4 @  ?PD  !D
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
M2T.3B[LM:%9$93?0^Y64YGUA"=KI<_874$L#!!0    ( ,Z"6%)^=NP:5@(
M "D&   9    >&PO=V]R:W-H965T<R]S:&5E=#@V+GAM;,U5WVO;,!#^5P[#
MH(4U=IRTZ4H22']L*W0C-'1[&'M0[',L*DN>=*F3_WXG.349+(&-/>PEUIWN
MON\[G709-\8^NQ*18%,I[291251?Q;'+2JR$ZYD:->\4QE:"V+2KV-4611Z2
M*A6G27(15T+J:#H.OKF=CLV:E-0XM^#6527L]AJ5:291/WIU/,I52=X13\>U
M6.$"Z:F>6[;B#B67%6HGC0:+Q22:]:^N1SX^!'R1V+B]-?A*EL8\>^,^GT2)
M%X0*,_((@C\O>(-*>2"6\6.'&764/G%__8K^/M3.M2R%PQNCOLJ<RDET&4&.
MA5@K>C3-1]S5<^[Q,J-<^(6FC1V]BR!;.S+5+ID55%*W7['9G<->0G]X("'=
M):1!=TL45-X*$M.Q-0U8'\UH?A%*#=DL3FK?E 59WI6<1]-%VPPP!3RB(RLS
MPAP69+)G>-*28.:/3=(63N;"HJ82269"G<+)+9*0ZG0<$^OP:'&VX[QN.=,#
MG+>8]6#0?PMIDB:_IL<LOZLA[6I( ][P -ZL$39W\,$*[<63@<]&G]UM,%O[
MEL,#OJ""NZI69HOHCC ..L9!8!P<.K62S^+,WX8<;DS%+\2)<,EFED6LD&\M
MP7(+^W%SL0WNH!:^/3 DW!-6[OL10<-.T/#H$=PYDGQ%F8;?:8&2UA;!LL/]
MKCW'L2Y[2?+FB*;S3M/Y'[;E;UIRT;%=_!\M&76"1O^P)<>Q!H=:$N^]?#]$
M/PF[DMJ!PH*!DMZ(6V3;P=0:9.HP#):&>+2$9<FS'*T/X/W"&'HU_'SI_AVF
M/P%02P,$%     @ SH)84BAM"# 6 P  W@@  !D   !X;"]W;W)K<VAE971S
M+W-H965T.#<N>&ULO5;;;M- $/V5D=4'D*"^I&E3E$3*A4LE@JI6P /B86M/
MXA5[,;OKI)7X>&;7KC&EB2HD>$EVUS-GSIQ9SWB\T^:;+1$=W$JA["0JG:M>
MQ;'-2Y3,'NL*%3U9:R.9HZW9Q+8RR(K@)$6<)<EI+!E7T70<SB[-=*QK)[C"
M2P.VEI*9NSD*O9M$:71_<,4WI?,'\71<L0U>H_M871K:Q1U*P24JR[4"@^M)
M-$M?+=+@$"P^<=S9WAI\*C=:?_.;BV(2)9X1"LR=AV#TM\4%"N&1B,?W%C3J
M8GK'_OH>_4U(GI*Y81876GSFA2LGT2B" M>L%NY*[]YAF]#0X^5:V/ +N]8V
MB2"OK=.R=28&DJOFG]VV0O0<LFR/0]8Z9 \=TCT.@]9A$!)MF(6TELRQZ=CH
M'1AO36A^$;0)WI0-5[Z,U\[04TY^;KK04G)'=7$6F"I@H97C:H,JYVCA)<R*
M@GN]F8 +U=P:K_ZS)3K&Q7,X JY@Q86@4SN.'5'RP''>AI\WX;,]X=,,5A2Q
MM/!:%5C\#A!3+EU"V7U"\^P@XA+S8QBD+R!+LN3C]1*>'3T7CQ!;/!DF/6]A
M#K ;='(/ NS)'M@5N^6REO!EA?(&S=<#D"<=Y$F '/Q5!;^\)W.X<"CMH6##
M+MCP(/\YU]0L<J>-A=IBX:M?H5G7X;7.Z6VD2RM<;1!850F>A^ORZ,5H IV&
M0+[9;*?4>I)QO'V$WFE'[_2PO%P]5=ZS#O+LW\L[ZH*-_I>\HS_D'>X1][PC
M=WZ0W(>W[^%"5D0/9IW"\ .NT"(S>1GD6>*61D/E]8*9,8R4"NLG5"1-?O6L
MY-_7).VUR/1@XI?LKHGE-'Q@6[[1OBZY5JJ=13ON2G EMU 9O3%,OH!=R;TB
M5"B#N3;4V[RWZ4M5]*3"6YK+ELC_@*-'NVC#<-0K9W)\WM6SZ6BMT;!GE#XH
M>=R;%!+-)@Q02[G4RC4]MCOMAO0LC*8'YW,_O,,$^@733/X5,QNN+ A<$V1R
M?$9\3#-,FXW359A'-]K1= O+DCY T'@#>K[6VMUO?(#NDV;Z$U!+ P04
M" #.@EA24?W,M)4"  "J!@  &0   'AL+W=O<FMS:&5E=',O<VAE970X."YX
M;6R5E5UOVC 4AO^*%752*ZWD.Z$51%I!TRIM$RIM=S'MPB0'L.K8S':@W:_?
M<9)&E(:NNR'^.._+<X[CD]%.J@>]!C#DL>1"CYVU,9M+U]7Y&DJJ!W(# G>6
M4I74X%2M7+U10(M:5'(W\+S$+2D33C:JUV8J&\G*<"9@IHBNRI*JIRO@<C=V
M?.=YX8:MUL8NN-EH0U<P!W.WF2F<N9U+P4H0FDE!%"S'SB?_<I+8^#K@GL%.
M[XV)S60AY8.=7!=CQ[- P"$WUH'B8PL3X-P:(<;OUM/I_M(*]\?/[I_KW#&7
M!=4PD?P'*\QZ[ P=4L"25MS<R-T7:/.)K5\NN:Y_R:Z-]1R25]K(LA4C0<E$
M\Z2/;1WV!'YT1!"T@N"]@K 5A'6B#5F=UI0:FHV4W!%EH]'-#NK:U&K,A@E[
MBG.C<)>ASF03JM03$RMR3WD%1"[)1(HM*,,6',@<!).*?)<&-#F=@J&,GY%S
MX@W"-/YP-+) I\ +(HR\FT_)Z<D9.2%,D-NUK#05A1ZY!MDM@9NWG%<-9W"$
M<PKY@(3^1^OK]<@G[Y;[%R_E+E:L*UO0E2VH_<*C?@M#KH4VJL)7VI"?7S&
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
MHUDN=:+&)JER5;BZ':W*/&!1KO6F;(E"YNJ\=6D>E!4SN5+^1\&W7*?U#W1
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
M$K9-BQLCT]U3PKLGG#_\!U!+ P04    " #.@EA2*"B!BK$"  "^-@  &@
M 'AL+U]R96QS+W=O<FMB;V]K+GAM;"YR96QSS=I-;N) $(;AJR ?(*:KNJK;
MHY#5;+*-<@&+-#\*8&1[E.3V@\@"/FL6LXG\K5#;HOPNK$>HZ<>7<FC'?7<:
M=OOSL/@\'D[#JMJ-X_E770_K73FVPT-W+J?+G4W7']OQLNRW];E=O[?;4LMR
MZ75_/Z-Z>KR?N7C].I?_F=AM-OMU^=VM_QS+:?S'X/JCZ]^'72ECM7AM^VT9
M5U7]>;A='NKK1WBX3*X6SV^KJG]^"U4]=Y! D,P?I!"D\P=%"(KS!QD$V?Q!
M#D$^?U""H#1_4(:@/']0 T'-_$%AB3(N"9(F6!-H'9#K0.!U0+ #@=@!R0X$
M9@=$.Q"H'9#M0.!V0+@#@=P!Z0X$=@?$.Q#H+:BW$.@MJ+<0Z"V3']L$>@OJ
M+01Z"^HM!'H+ZBT$>@OJ+01Z"^HM!'H+ZBT$>@OJ+01Z*^JM!'HKZJT$>BOJ
MK01ZZV2SA$!O1;V50&]%O95 ;T6]E4!O1;V50&]%O95 ;T6]E4#OB'I' KTC
MZAT)](ZH=R30.Z+>D4#O.-GL)M [HMZ10.^(>D<"O2/J'0GTCJAW)- [HMZ1
M0&]#O8U ;T.]C4!O0[V-0&]#O8U ;T.]C4!OF_Q92:"WH=Y&H+>AWD:@MZ'>
M1J"WH=Y&H+>CWDZ@MZ/>3J"WH]Y.H+>CWDZ@MZ/>3J"WH]Y.H+=/#IL0Z.VH
MMQ/H[:BW$^CMJ+<3Z)U0[T2@=T*]$X'>"?5.!'HGU#L1Z)U0[T2@=T*]$X'>
M"?5.!'JGR6%! KT3ZIT(]$ZH=R+0.Z/>F4#OC'IG KTSZIT)],ZH=R;0.Z/>
MF4#OC'IG KTSZIT)],ZH=R;0.T\.>Q/HG5'O3*!W@WHW!'HWJ'=#H'>#>C<$
M>C>H=_.3>@_CUZ$,MY[O-3[_)ZD>+]\MM\=?E]\7)Z_*%>?ZOF)X^@M02P,$
M%     @ SH)84GWS[C]# @   S4  !,   !;0V]N=&5N=%]4>7!E<UTN>&UL
MS=O?;MHP%,?Q5T&YK4B('=MA*KUI=[OU8B^0):9$Y)]LMZ-O/Q/:2ILZM(I)
M^]X0@>WS._&1/G=<?WN>K%\<^F[PFV07PO0IRWR]LWWETW&R0US9CJZO0OSJ
M'K*IJO?5@\W$:J6S>AR"'<(R'&LD-]=W=EL]=F'Q^1!_]NTX;!)G.Y\L;D\;
MCUF;I)JFKJVK$->SIZ'Y+67YDI#&D_,>OVLG?Q4W)-F["<>5/P>\G/OZ9)UK
M&[NXKUSX4O5Q5W;H,A^>.^O3\R7>Z7'<;MO:-F/]V,<CJ9^<K1J_LS;T77HJ
M>G4^.<0;MJ?/_.+\N<RYP+CSWHV3CQ-S]N-QKR,YGEY.L9!UH3W_BF^)L?3%
M[V>/TVYL\Y?9\7I_C&X_S\-G\^/R._YUQF_U/]B'@/0A(7T4D#X4I \-Z<-
M^B@A?:PA?>0K2B,447,*J3G%U)R":DY1-:>PFE-<S2FPYA19!45609%54&05
M%%D%159!D5509!44605%5D&155)DE119)45629%54F25%%DE159)D5529)44
M60N*K 5%UH(B:T&1M:#(6E!D+2BR%A19"XJL!45619%54615%%D5159%D551
M9%44615%5D6155%DU119-45639%54V35%%DU159-D5539-44635%5D.1U5!D
M-119#4560Y'54&0U%%D-159#D=509"TILI8464N*K"5%UI(B:TF1M:3(6E)D
M+2FREA19UQ19UQ19UQ19U_]3UN_CN/_'\?,S[:MV>,W/YO\^W?P$4$L! A0#
M%     @ SH)84@=!36*!    L0   !               ( !     &1O8U!R
M;W!S+V%P<"YX;6Q02P$"% ,4    " #.@EA2%!O+5NX    K @  $0
M        @ &O    9&]C4')O<',O8V]R92YX;6Q02P$"% ,4    " #.@EA2
MF5R<(Q &  "<)P  $P              @ ', 0  >&PO=&AE;64O=&AE;64Q
M+GAM;%!+ 0(4 Q0    ( ,Z"6%+MBZ=)K@4   <8   8              "
M@0T(  !X;"]W;W)K<VAE971S+W-H965T,2YX;6Q02P$"% ,4    " #.@EA2
M6V9U8,D&  "H&P  &               @('Q#0  >&PO=V]R:W-H965T<R]S
M:&5E=#(N>&UL4$L! A0#%     @ SH)84O<9>B;E @  FPD  !@
M     ("!\!0  'AL+W=O<FMS:&5E=',O<VAE970S+GAM;%!+ 0(4 Q0    (
M ,Z"6%(X<[A$,@<  &D=   8              " @0L8  !X;"]W;W)K<VAE
M971S+W-H965T-"YX;6Q02P$"% ,4    " #.@EA2_9K"WEH'    )0  &
M            @(%S'P  >&PO=V]R:W-H965T<R]S:&5E=#4N>&UL4$L! A0#
M%     @ SH)84DIQL:2+ @  Z@4  !@              ("! R<  'AL+W=O
M<FMS:&5E=',O<VAE970V+GAM;%!+ 0(4 Q0    ( ,Z"6%(PZ][!W D  *$J
M   8              " @<0I  !X;"]W;W)K<VAE971S+W-H965T-RYX;6Q0
M2P$"% ,4    " #.@EA2W9'^;GX"  #/!0  &               @('6,P
M>&PO=V]R:W-H965T<R]S:&5E=#@N>&UL4$L! A0#%     @ SH)84CT-YUQ7
M!   *0D  !@              ("!BC8  'AL+W=O<FMS:&5E=',O<VAE970Y
M+GAM;%!+ 0(4 Q0    ( ,Z"6%*SBJ#GSBD  /J%   9              "
M@1<[  !X;"]W;W)K<VAE971S+W-H965T,3 N>&UL4$L! A0#%     @ SH)8
M4B"DX%<C$P  7$<  !D              ("!'&4  'AL+W=O<FMS:&5E=',O
M<VAE970Q,2YX;6Q02P$"% ,4    " #.@EA20: MZY8(  "4%0  &0
M        @(%V>   >&PO=V]R:W-H965T<R]S:&5E=#$R+GAM;%!+ 0(4 Q0
M   ( ,Z"6%(D'X<:+P\   DN   9              " @4.!  !X;"]W;W)K
M<VAE971S+W-H965T,3,N>&UL4$L! A0#%     @ SH)84N[R\X;M!0  3@X
M !D              ("!J9   'AL+W=O<FMS:&5E=',O<VAE970Q-"YX;6Q0
M2P$"% ,4    " #.@EA23%M[,I<(  ",%@  &0              @('-E@
M>&PO=V]R:W-H965T<R]S:&5E=#$U+GAM;%!+ 0(4 Q0    ( ,Z"6%+&FFS2
MW@0  /8*   9              " @9N?  !X;"]W;W)K<VAE971S+W-H965T
M,38N>&UL4$L! A0#%     @ SH)84JH?#D!Q"P  +AX  !D
M ("!L*0  'AL+W=O<FMS:&5E=',O<VAE970Q-RYX;6Q02P$"% ,4    " #.
M@EA22UU\1I(+  "9)   &0              @(%8L   >&PO=V]R:W-H965T
M<R]S:&5E=#$X+GAM;%!+ 0(4 Q0    ( ,Z"6%)M7T5.R04  ,<,   9
M          " @2&\  !X;"]W;W)K<VAE971S+W-H965T,3DN>&UL4$L! A0#
M%     @ SH)84O-):J.B#   IR<  !D              ("!(<(  'AL+W=O
M<FMS:&5E=',O<VAE970R,"YX;6Q02P$"% ,4    " #.@EA2OOB4Q'("  "O
M!0  &0              @('ZS@  >&PO=V]R:W-H965T<R]S:&5E=#(Q+GAM
M;%!+ 0(4 Q0    ( ,Z"6%)8O:,?K ,  "<(   9              " @:/1
M  !X;"]W;W)K<VAE971S+W-H965T,C(N>&UL4$L! A0#%     @ SH)84B0&
M-N:? P  * @  !D              ("!AM4  'AL+W=O<FMS:&5E=',O<VAE
M970R,RYX;6Q02P$"% ,4    " #.@EA2"\:)X$D$  "="0  &0
M    @(%<V0  >&PO=V]R:W-H965T<R]S:&5E=#(T+GAM;%!+ 0(4 Q0    (
M ,Z"6%*6?]/@'BT   68   9              " @=S=  !X;"]W;W)K<VAE
M971S+W-H965T,C4N>&UL4$L! A0#%     @ SH)84G?0D#ON!P  !Q8  !D
M             ("!,0L! 'AL+W=O<FMS:&5E=',O<VAE970R-BYX;6Q02P$"
M% ,4    " #.@EA2C>"5I;H'  !U'   &0              @(%6$P$ >&PO
M=V]R:W-H965T<R]S:&5E=#(W+GAM;%!+ 0(4 Q0    ( ,Z"6%*"> :9C 0
M %L,   9              " @4<; 0!X;"]W;W)K<VAE971S+W-H965T,C@N
M>&UL4$L! A0#%     @ SH)84I).4&0_!   ^ D  !D              ("!
M"B ! 'AL+W=O<FMS:&5E=',O<VAE970R.2YX;6Q02P$"% ,4    " #.@EA2
M)+FVE_D"   Z!P  &0              @(& ) $ >&PO=V]R:W-H965T<R]S
M:&5E=#,P+GAM;%!+ 0(4 Q0    ( ,Z"6%(Z11"(1@4  !8.   9
M      " @; G 0!X;"]W;W)K<VAE971S+W-H965T,S$N>&UL4$L! A0#%
M  @ SH)84H"X$6B:!   %0L  !D              ("!+2T! 'AL+W=O<FMS
M:&5E=',O<VAE970S,BYX;6Q02P$"% ,4    " #.@EA21BAA-XP(   3%P
M&0              @('^,0$ >&PO=V]R:W-H965T<R]S:&5E=#,S+GAM;%!+
M 0(4 Q0    ( ,Z"6%);NC?+!P8  'X0   9              " @<$Z 0!X
M;"]W;W)K<VAE971S+W-H965T,S0N>&UL4$L! A0#%     @ SH)84I!7-4'&
M @  :P8  !D              ("!_T ! 'AL+W=O<FMS:&5E=',O<VAE970S
M-2YX;6Q02P$"% ,4    " #.@EA2@YAG!7\"  "<!0  &0
M@('\0P$ >&PO=V]R:W-H965T<R]S:&5E=#,V+GAM;%!+ 0(4 Q0    ( ,Z"
M6%*M):5_8 ,  "4'   9              " @;)& 0!X;"]W;W)K<VAE971S
M+W-H965T,S<N>&UL4$L! A0#%     @ SH)84K&;T;#/!@  _R   !D
M         ("!24H! 'AL+W=O<FMS:&5E=',O<VAE970S."YX;6Q02P$"% ,4
M    " #.@EA2/5ZLZWP"   F!P  &0              @(%/40$ >&PO=V]R
M:W-H965T<R]S:&5E=#,Y+GAM;%!+ 0(4 Q0    ( ,Z"6%)@O7_66 ,  &</
M   9              " @0)4 0!X;"]W;W)K<VAE971S+W-H965T-# N>&UL
M4$L! A0#%     @ SH)84N\X5^#K!   *10  !D              ("!D5<!
M 'AL+W=O<FMS:&5E=',O<VAE970T,2YX;6Q02P$"% ,4    " #.@EA2+IL!
M=V0%  !S&0  &0              @(&S7 $ >&PO=V]R:W-H965T<R]S:&5E
M=#0R+GAM;%!+ 0(4 Q0    ( ,Z"6%*6+2(IY (  &\+   9
M  " @4YB 0!X;"]W;W)K<VAE971S+W-H965T-#,N>&UL4$L! A0#%     @
MSH)84H_+/Q.L @  F @  !D              ("!:64! 'AL+W=O<FMS:&5E
M=',O<VAE970T-"YX;6Q02P$"% ,4    " #.@EA2\@[9C:8"  "\"   &0
M            @(%,: $ >&PO=V]R:W-H965T<R]S:&5E=#0U+GAM;%!+ 0(4
M Q0    ( ,Z"6%)G\J>*K@(  $X(   9              " @2EK 0!X;"]W
M;W)K<VAE971S+W-H965T-#8N>&UL4$L! A0#%     @ SH)84OG0:5\:!P
M4"4  !D              ("!#FX! 'AL+W=O<FMS:&5E=',O<VAE970T-RYX
M;6Q02P$"% ,4    " #.@EA271B%5Z@"  #0!@  &0              @(%?
M=0$ >&PO=V]R:W-H965T<R]S:&5E=#0X+GAM;%!+ 0(4 Q0    ( ,Z"6%*[
MN]W.?@D  )(]   9              " @3YX 0!X;"]W;W)K<VAE971S+W-H
M965T-#DN>&UL4$L! A0#%     @ SH)84MTV&K2D!   7AD  !D
M     ("!\X$! 'AL+W=O<FMS:&5E=',O<VAE970U,"YX;6Q02P$"% ,4
M" #.@EA2SV9F0MT"  #T!P  &0              @('.A@$ >&PO=V]R:W-H
M965T<R]S:&5E=#4Q+GAM;%!+ 0(4 Q0    ( ,Z"6%(;]G_3! ,  '$)   9
M              " @>*) 0!X;"]W;W)K<VAE971S+W-H965T-3(N>&UL4$L!
M A0#%     @ SH)84JKHN7RW @  ZP<  !D              ("!'8T! 'AL
M+W=O<FMS:&5E=',O<VAE970U,RYX;6Q02P$"% ,4    " #.@EA2 <AW>E8"
M  #.!0  &0              @($+D $ >&PO=V]R:W-H965T<R]S:&5E=#4T
M+GAM;%!+ 0(4 Q0    ( ,Z"6%+Q4HHN;P(   \&   9              "
M@9B2 0!X;"]W;W)K<VAE971S+W-H965T-34N>&UL4$L! A0#%     @ SH)8
M4AY4+<$X @  X00  !D              ("!/I4! 'AL+W=O<FMS:&5E=',O
M<VAE970U-BYX;6Q02P$"% ,4    " #.@EA28BLE0/$!   [!   &0
M        @(&MEP$ >&PO=V]R:W-H965T<R]S:&5E=#4W+GAM;%!+ 0(4 Q0
M   ( ,Z"6%(6"RV =00  % 1   9              " @=69 0!X;"]W;W)K
M<VAE971S+W-H965T-3@N>&UL4$L! A0#%     @ SH)84AF2\EN+ P  A T
M !D              ("!@9X! 'AL+W=O<FMS:&5E=',O<VAE970U.2YX;6Q0
M2P$"% ,4    " #.@EA2W-0N(;@"  "W!@  &0              @(%#H@$
M>&PO=V]R:W-H965T<R]S:&5E=#8P+GAM;%!+ 0(4 Q0    ( ,Z"6%)4GWM>
M 0,  /D(   9              " @3*E 0!X;"]W;W)K<VAE971S+W-H965T
M-C$N>&UL4$L! A0#%     @ SH)84IP-(:$U @  +04  !D
M ("!:J@! 'AL+W=O<FMS:&5E=',O<VAE970V,BYX;6Q02P$"% ,4    " #.
M@EA2W":$,W$#  "=#   &0              @('6J@$ >&PO=V]R:W-H965T
M<R]S:&5E=#8S+GAM;%!+ 0(4 Q0    ( ,Z"6%*$P3.E504  $\<   9
M          " @7ZN 0!X;"]W;W)K<VAE971S+W-H965T-C0N>&UL4$L! A0#
M%     @ SH)84E!>5E%J @  TP4  !D              ("!"K0! 'AL+W=O
M<FMS:&5E=',O<VAE970V-2YX;6Q02P$"% ,4    " #.@EA2X(FXSXT"   J
M!P  &0              @(&KM@$ >&PO=V]R:W-H965T<R]S:&5E=#8V+GAM
M;%!+ 0(4 Q0    ( ,Z"6%+'O ]5;@(  #P&   9              " @6^Y
M 0!X;"]W;W)K<VAE971S+W-H965T-C<N>&UL4$L! A0#%     @ SH)84G'F
M67F8 @  )0<  !D              ("!%+P! 'AL+W=O<FMS:&5E=',O<VAE
M970V."YX;6Q02P$"% ,4    " #.@EA2-5RTZF$#  #]"@  &0
M    @('CO@$ >&PO=V]R:W-H965T<R]S:&5E=#8Y+GAM;%!+ 0(4 Q0    (
M ,Z"6%*CCZ+@-@(  %(%   9              " @7O" 0!X;"]W;W)K<VAE
M971S+W-H965T-S N>&UL4$L! A0#%     @ SH)84GL6T@#I @  R0@  !D
M             ("!Z,0! 'AL+W=O<FMS:&5E=',O<VAE970W,2YX;6Q02P$"
M% ,4    " #.@EA2JE0I*: "   X!P  &0              @($(R $ >&PO
M=V]R:W-H965T<R]S:&5E=#<R+GAM;%!+ 0(4 Q0    ( ,Z"6%(!"]D.I0(
M (('   9              " @=_* 0!X;"]W;W)K<VAE971S+W-H965T-S,N
M>&UL4$L! A0#%     @ SH)84M:Z]$"T @  S <  !D              ("!
MN\T! 'AL+W=O<FMS:&5E=',O<VAE970W-"YX;6Q02P$"% ,4    " #.@EA2
M(<7&L<D%  #7&   &0              @(&FT $ >&PO=V]R:W-H965T<R]S
M:&5E=#<U+GAM;%!+ 0(4 Q0    ( ,Z"6%)0?"&:/ 0  'P/   9
M      " @:;6 0!X;"]W;W)K<VAE971S+W-H965T-S8N>&UL4$L! A0#%
M  @ SH)84DI23#'R!@  +"4  !D              ("!&=L! 'AL+W=O<FMS
M:&5E=',O<VAE970W-RYX;6Q02P$"% ,4    " #.@EA2'AVY2[("  !%"0
M&0              @(%"X@$ >&PO=V]R:W-H965T<R]S:&5E=#<X+GAM;%!+
M 0(4 Q0    ( ,Z"6%+61C6Q%P,  .\(   9              " @2OE 0!X
M;"]W;W)K<VAE971S+W-H965T-SDN>&UL4$L! A0#%     @ SH)84I$_!?"\
M!@  4QT  !D              ("!>>@! 'AL+W=O<FMS:&5E=',O<VAE970X
M,"YX;6Q02P$"% ,4    " #.@EA2K)35PSP#  !Z"P  &0
M@(%L[P$ >&PO=V]R:W-H965T<R]S:&5E=#@Q+GAM;%!+ 0(4 Q0    ( ,Z"
M6%)6!-."5@,  #@.   9              " @=_R 0!X;"]W;W)K<VAE971S
M+W-H965T.#(N>&UL4$L! A0#%     @ SH)84D1N8_F\!   P!(  !D
M         ("!;/8! 'AL+W=O<FMS:&5E=',O<VAE970X,RYX;6Q02P$"% ,4
M    " #.@EA2G8=S_I0"  !_"0  &0              @(%?^P$ >&PO=V]R
M:W-H965T<R]S:&5E=#@T+GAM;%!+ 0(4 Q0    ( ,Z"6%+A>UAS60,  (D*
M   9              " @2K^ 0!X;"]W;W)K<VAE971S+W-H965T.#4N>&UL
M4$L! A0#%     @ SH)84GYV[!I6 @  *08  !D              ("!N@$"
M 'AL+W=O<FMS:&5E=',O<VAE970X-BYX;6Q02P$"% ,4    " #.@EA2*&T(
M,!8#  #>"   &0              @(%'! ( >&PO=V]R:W-H965T<R]S:&5E
M=#@W+GAM;%!+ 0(4 Q0    ( ,Z"6%)1_<RTE0(  *H&   9
M  " @90' @!X;"]W;W)K<VAE971S+W-H965T.#@N>&UL4$L! A0#%     @
MSH)84I33!!V6!P  XR(  !D              ("!8 H" 'AL+W=O<FMS:&5E
M=',O<VAE970X.2YX;6Q02P$"% ,4    " #.@EA24:FD0>H"  "F"   &0
M            @($M$@( >&PO=V]R:W-H965T<R]S:&5E=#DP+GAM;%!+ 0(4
M Q0    ( ,Z"6%*#_C2H$P,  .D)   9              " @4X5 @!X;"]W
M;W)K<VAE971S+W-H965T.3$N>&UL4$L! A0#%     @ SH)84G$O!.P# P
MQ0@  !D              ("!F!@" 'AL+W=O<FMS:&5E=',O<VAE970Y,BYX
M;6Q02P$"% ,4    " #.@EA2IM12%.($   X%   &0              @('2
M&P( >&PO=V]R:W-H965T<R]S:&5E=#DS+GAM;%!+ 0(4 Q0    ( ,Z"6%)Y
M>5[)20(  & +   -              "  >L@ @!X;"]S='EL97,N>&UL4$L!
M A0#%     @ SH)84I>*NQS     $P(   L              ( !7R," %]R
M96QS+RYR96QS4$L! A0#%     @ SH)84A 2$6['!P  93T   \
M     ( !2"0" 'AL+W=O<FMB;V]K+GAM;%!+ 0(4 Q0    ( ,Z"6%(H*(&*
ML0(  +XV   :              "  3PL @!X;"]?<F5L<R]W;W)K8F]O:RYX
M;6PN<F5L<U!+ 0(4 Q0    ( ,Z"6%)]\^X_0P(   ,U   3
M  "  24O @!;0V]N=&5N=%]4>7!E<UTN>&UL4$L%!@    !E &4 NAL  )DQ
$ @    $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>108
<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>109
<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>110
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.20.4</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>281</ContextCount>
  <ElementCount>568</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>true</FootnotesReported>
  <SegmentCount>88</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>8</UnitCount>
  <MyReports>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>1001 - Document - Cover Page</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/CoverPage</Role>
      <ShortName>Cover Page</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>1002 - Statement - CONSOLIDATED BALANCE SHEETS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/ConsolidatedBalanceSheets</Role>
      <ShortName>CONSOLIDATED BALANCE SHEETS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>1003 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/ConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>CONSOLIDATED BALANCE SHEETS (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>1004 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>1005 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquity</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>1006 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquityParenthetical</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>1007 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF CASH FLOWS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>1008 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlowsParenthetical</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF CASH FLOWS (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>1009 - Disclosure - Organization and Nature of Business</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/OrganizationAndNatureOfBusiness</Role>
      <ShortName>Organization and Nature of Business</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>1010 - Disclosure - Summary of Significant Accounting Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/SummaryOfSignificantAccountingPolicies</Role>
      <ShortName>Summary of Significant Accounting Policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>1011 - Disclosure - Acquisitions</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/Acquisitions</Role>
      <ShortName>Acquisitions</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>1012 - Disclosure - Leases</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/Leases</Role>
      <ShortName>Leases</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>1013 - Disclosure - Revenue Recognition</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/RevenueRecognition</Role>
      <ShortName>Revenue Recognition</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>1014 - Disclosure - Credit Losses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/CreditLosses</Role>
      <ShortName>Credit Losses</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>1015 - Disclosure - Goodwill and Intangible Assets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/GoodwillAndIntangibleAssets</Role>
      <ShortName>Goodwill and Intangible Assets</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>1016 - Disclosure - Consolidated Balance Sheet Detail</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/ConsolidatedBalanceSheetDetail</Role>
      <ShortName>Consolidated Balance Sheet Detail</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>1017 - Disclosure - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/IncomeTaxes</Role>
      <ShortName>Income Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>1018 - Disclosure - Stockholders' Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/StockholdersEquity</Role>
      <ShortName>Stockholders' Equity</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>1019 - Disclosure - Commitments and Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/CommitmentsAndContingencies</Role>
      <ShortName>Commitments and Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>1020 - Disclosure - Convertible Senior Notes</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://www.repligencorp.com/role/ConvertibleSeniorNotes</Role>
      <ShortName>Convertible Senior Notes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>1021 - Disclosure - Accumulated Other Comprehensive Income (Loss)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/AccumulatedOtherComprehensiveIncomeLoss</Role>
      <ShortName>Accumulated Other Comprehensive Income (Loss)</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>1022 - Disclosure - Employee Benefit Plans</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/EmployeeBenefitPlans</Role>
      <ShortName>Employee Benefit Plans</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>1023 - Disclosure - Related Party Transactions</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/RelatedPartyTransactions</Role>
      <ShortName>Related Party Transactions</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>1024 - Disclosure - Selected Quarterly Financial Data (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/SelectedQuarterlyFinancialDataUnaudited</Role>
      <ShortName>Selected Quarterly Financial Data (Unaudited)</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>1025 - Disclosure - Summary of Significant Accounting Policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesPolicies</Role>
      <ShortName>Summary of Significant Accounting Policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.repligencorp.com/role/SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>25</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>1026 - Disclosure - Summary of Significant Accounting Policies (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesTables</Role>
      <ShortName>Summary of Significant Accounting Policies (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/role/SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>26</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>1027 - Disclosure - Acquisitions (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/AcquisitionsTables</Role>
      <ShortName>Acquisitions (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/role/Acquisitions</ParentRole>
      <Position>27</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>1028 - Disclosure - Leases (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/LeasesTables</Role>
      <ShortName>Leases (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/role/Leases</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>1029 - Disclosure - Revenue Recognition (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/RevenueRecognitionTables</Role>
      <ShortName>Revenue Recognition (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/role/RevenueRecognition</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>1030 - Disclosure - Credit Losses (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/CreditLossesTables</Role>
      <ShortName>Credit Losses (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/role/CreditLosses</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>1031 - Disclosure - Goodwill and Intangible Assets (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsTables</Role>
      <ShortName>Goodwill and Intangible Assets (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/role/GoodwillAndIntangibleAssets</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>1032 - Disclosure - Consolidated Balance Sheet Detail (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/ConsolidatedBalanceSheetDetailTables</Role>
      <ShortName>Consolidated Balance Sheet Detail (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/role/ConsolidatedBalanceSheetDetail</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>1033 - Disclosure - Income Taxes (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/IncomeTaxesTables</Role>
      <ShortName>Income Taxes (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/role/IncomeTaxes</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>1034 - Disclosure - Stockholders' Equity (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/StockholdersEquityTables</Role>
      <ShortName>Stockholders' Equity (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/role/StockholdersEquity</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>1035 - Disclosure - Convertible Senior Notes (Tables)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://www.repligencorp.com/role/ConvertibleSeniorNotesTables</Role>
      <ShortName>Convertible Senior Notes (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/role/ConvertibleSeniorNotes</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>1036 - Disclosure - Accumulated Other Comprehensive Income (Loss) (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/AccumulatedOtherComprehensiveIncomeLossTables</Role>
      <ShortName>Accumulated Other Comprehensive Income (Loss) (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/role/AccumulatedOtherComprehensiveIncomeLoss</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>1037 - Disclosure - Selected Quarterly Financial Data (Unaudited) (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/SelectedQuarterlyFinancialDataUnauditedTables</Role>
      <ShortName>Selected Quarterly Financial Data (Unaudited) (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.repligencorp.com/role/SelectedQuarterlyFinancialDataUnaudited</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>1038 - Disclosure - Summary Of Significant Accounting Policies  -  Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail</Role>
      <ShortName>Summary Of Significant Accounting Policies  -  Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>38</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>1039 - Disclosure - Schedule of Cash, Cash Equivalents and Restricted Cash (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/ScheduleOfCashCashEquivalentsAndRestrictedCashDetail</Role>
      <ShortName>Schedule of Cash, Cash Equivalents and Restricted Cash (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>39</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>1040 - Disclosure - Estimated Useful Life of Assets (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/EstimatedUsefulLifeOfAssetsDetail</Role>
      <ShortName>Estimated Useful Life of Assets (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>40</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>1041 - Disclosure - Reconciliation of Basic and Diluted Shares Amounts (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/ReconciliationOfBasicAndDilutedSharesAmountsDetail</Role>
      <ShortName>Reconciliation of Basic and Diluted Shares Amounts (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>41</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>1042 - Disclosure - Summary of Product Revenues by Product Line (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/SummaryOfProductRevenuesByProductLineDetail</Role>
      <ShortName>Summary of Product Revenues by Product Line (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>42</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>1043 - Disclosure - Percentage of Revenue by Geographic Area (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/PercentageOfRevenueByGeographicAreaDetail</Role>
      <ShortName>Percentage of Revenue by Geographic Area (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>43</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>1044 - Disclosure - Total Assets by Geographic Area (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/TotalAssetsByGeographicAreaDetail</Role>
      <ShortName>Total Assets by Geographic Area (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>44</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>1045 - Disclosure - Long Lived Assets by Geographic Area (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/LongLivedAssetsByGeographicAreaDetail</Role>
      <ShortName>Long Lived Assets by Geographic Area (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>45</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>1046 - Disclosure - Percentage of Revenue from Significant Customers (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/PercentageOfRevenueFromSignificantCustomersDetail</Role>
      <ShortName>Percentage of Revenue from Significant Customers (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>46</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>1047 - Disclosure - Acquisitions - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail</Role>
      <ShortName>Acquisitions - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>47</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>1048 - Disclosure - Acquisitions (Consideration Transferred) (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/AcquisitionsConsiderationTransferredDetail</Role>
      <ShortName>Acquisitions (Consideration Transferred) (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.repligencorp.com/role/AcquisitionsTables</ParentRole>
      <Position>48</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>1049 - Disclosure - Acquisitions (Fair Value of Net Assets Acquired) (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/AcquisitionsFairValueOfNetAssetsAcquiredDetail</Role>
      <ShortName>Acquisitions (Fair Value of Net Assets Acquired) (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.repligencorp.com/role/AcquisitionsTables</ParentRole>
      <Position>49</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>1050 - Disclosure - Acquisitions (Estimated Useful Life and Fair Value) (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/AcquisitionsEstimatedUsefulLifeAndFairValueDetail</Role>
      <ShortName>Acquisitions (Estimated Useful Life and Fair Value) (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.repligencorp.com/role/AcquisitionsTables</ParentRole>
      <Position>50</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>1051 - Disclosure - Acquisitions (Unaudited Supplemental Pro Forma Information) (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/AcquisitionsUnauditedSupplementalProFormaInformationDetail</Role>
      <ShortName>Acquisitions (Unaudited Supplemental Pro Forma Information) (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.repligencorp.com/role/AcquisitionsTables</ParentRole>
      <Position>51</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>1052 - Disclosure - Leases - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/LeasesAdditionalInformationDetail</Role>
      <ShortName>Leases - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>52</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>1053 - Disclosure - Leases (Maturities of lease liabilities) (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetail</Role>
      <ShortName>Leases (Maturities of lease liabilities) (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.repligencorp.com/role/LeasesTables</ParentRole>
      <Position>53</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>1054 - Disclosure - Leases (Consolidated Balance Sheet) (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/LeasesConsolidatedBalanceSheetDetail</Role>
      <ShortName>Leases (Consolidated Balance Sheet) (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.repligencorp.com/role/LeasesTables</ParentRole>
      <Position>54</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>1055 - Disclosure - Leases (Consolidated Statements of Comprehensive Income) (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/LeasesConsolidatedStatementsOfComprehensiveIncomeDetail</Role>
      <ShortName>Leases (Consolidated Statements of Comprehensive Income) (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.repligencorp.com/role/LeasesTables</ParentRole>
      <Position>55</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>1056 - Disclosure - Leases (Consolidated Statements of Cash flows Related to Operating Leases) (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/LeasesConsolidatedStatementsOfCashFlowsRelatedToOperatingLeasesDetail</Role>
      <ShortName>Leases (Consolidated Statements of Cash flows Related to Operating Leases) (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.repligencorp.com/role/LeasesTables</ParentRole>
      <Position>56</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>1057 - Schedule - Leases (Operating Lease Liabilities) (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/LeasesOperatingLeaseLiabilitiesDetail</Role>
      <ShortName>Leases (Operating Lease Liabilities) (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.repligencorp.com/role/LeasesTables</ParentRole>
      <Position>57</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>1058 - Schedule - Summary of Disaggregation of Product Revenues from Contracts with Customers by Major Product Line (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/SummaryOfDisaggregationOfProductRevenuesFromContractsWithCustomersByMajorProductLineDetail</Role>
      <ShortName>Summary of Disaggregation of Product Revenues from Contracts with Customers by Major Product Line (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>58</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>1059 - Disclosure - Revenue from Significant Customers (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/RevenueFromSignificantCustomersDetail</Role>
      <ShortName>Revenue from Significant Customers (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>59</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>1060 - Disclosure - Summary of Receivables and Deferred Revenue from Contracts with Customers (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/SummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail</Role>
      <ShortName>Summary of Receivables and Deferred Revenue from Contracts with Customers (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>60</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>1061 - Schedule - Credit Losses - Summary Of Allowance For Credit Losses For Accounts Receivables (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/CreditLossesSummaryOfAllowanceForCreditLossesForAccountsReceivablesDetail</Role>
      <ShortName>Credit Losses - Summary Of Allowance For Credit Losses For Accounts Receivables (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>61</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>1062 - Schedule - Credit Losses - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/CreditLossesAdditionalInformationDetail</Role>
      <ShortName>Credit Losses - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>62</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>1063 - Disclosure - Changes in Carrying Value of Goodwill (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/ChangesInCarryingValueOfGoodwillDetail</Role>
      <ShortName>Changes in Carrying Value of Goodwill (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>63</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>1064 - Disclosure - Goodwill and Intangible Assets (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsDetail</Role>
      <ShortName>Goodwill and Intangible Assets (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsTables</ParentRole>
      <Position>64</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.htm</HtmlFileName>
      <LongName>1065 - Disclosure - Goodwill and Intangible Assets - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail</Role>
      <ShortName>Goodwill and Intangible Assets - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>65</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R66.htm</HtmlFileName>
      <LongName>1066 - Disclosure - Amortization Expense for Amortized Intangible Assets (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/AmortizationExpenseForAmortizedIntangibleAssetsDetail</Role>
      <ShortName>Amortization Expense for Amortized Intangible Assets (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>66</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R67.htm</HtmlFileName>
      <LongName>1067 - Disclosure - Schedule of Inventories (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/ScheduleOfInventoriesDetail</Role>
      <ShortName>Schedule of Inventories (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>67</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R68.htm</HtmlFileName>
      <LongName>1068 - Disclosure - Prepaid Expenses and Other Current Assets (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/PrepaidExpensesAndOtherCurrentAssetsDetail</Role>
      <ShortName>Prepaid Expenses and Other Current Assets (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>68</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R69.htm</HtmlFileName>
      <LongName>1069 - Disclosure - Property, Plant and Equipment (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/PropertyPlantAndEquipmentDetail</Role>
      <ShortName>Property, Plant and Equipment (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>69</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R70.htm</HtmlFileName>
      <LongName>1070 - Disclosure - Consolidated Balance Sheet - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/ConsolidatedBalanceSheetAdditionalInformationDetail</Role>
      <ShortName>Consolidated Balance Sheet - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>70</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R71.htm</HtmlFileName>
      <LongName>1071 - Disclosure - Schedule of Accrued Liabilities (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/ScheduleOfAccruedLiabilitiesDetail</Role>
      <ShortName>Schedule of Accrued Liabilities (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>71</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R72.htm</HtmlFileName>
      <LongName>1072 - Disclosure - Income Before Income Taxes (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/IncomeBeforeIncomeTaxesDetail</Role>
      <ShortName>Income Before Income Taxes (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>72</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R73.htm</HtmlFileName>
      <LongName>1073 - Disclosure - Current, Deferred and Equity Income Taxes (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/CurrentDeferredAndEquityIncomeTaxesDetail</Role>
      <ShortName>Current, Deferred and Equity Income Taxes (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>73</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R74.htm</HtmlFileName>
      <LongName>1074 - Disclosure - Provision for Income Taxes by Jurisdiction (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/ProvisionForIncomeTaxesByJurisdictionDetail</Role>
      <ShortName>Provision for Income Taxes by Jurisdiction (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>74</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R75.htm</HtmlFileName>
      <LongName>1075 - Disclosure - Income Taxes - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/IncomeTaxesAdditionalInformationDetail</Role>
      <ShortName>Income Taxes - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>75</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R76.htm</HtmlFileName>
      <LongName>1076 - Disclosure - Consolidated Deferred Tax Assets (Liabilities) (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail</Role>
      <ShortName>Consolidated Deferred Tax Assets (Liabilities) (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>76</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R77.htm</HtmlFileName>
      <LongName>1077 - Disclosure - Reconciliation of Federal Statutory Rate to Effective Income Tax Rate (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail</Role>
      <ShortName>Reconciliation of Federal Statutory Rate to Effective Income Tax Rate (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>77</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R78.htm</HtmlFileName>
      <LongName>1078 - Disclosure - Summary of Tax Returns Periods Subject to Examination by Federal, State and Foreign Tax Authorities (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/SummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail</Role>
      <ShortName>Summary of Tax Returns Periods Subject to Examination by Federal, State and Foreign Tax Authorities (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>78</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R79.htm</HtmlFileName>
      <LongName>1079 - Disclosure - Reconciliation of Unrecognized Tax Benefits (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/ReconciliationOfUnrecognizedTaxBenefitsDetail</Role>
      <ShortName>Reconciliation of Unrecognized Tax Benefits (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>79</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R80.htm</HtmlFileName>
      <LongName>1080 - Disclosure - Stockholders' Equity - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail</Role>
      <ShortName>Stockholders' Equity - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>80</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R81.htm</HtmlFileName>
      <LongName>1081 - Disclosure - Stock-Based Compensation Expense (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/StockBasedCompensationExpenseDetail</Role>
      <ShortName>Stock-Based Compensation Expense (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>81</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R82.htm</HtmlFileName>
      <LongName>1082 - Disclosure - Estimated Weighted Average Assumptions (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/EstimatedWeightedAverageAssumptionsDetail</Role>
      <ShortName>Estimated Weighted Average Assumptions (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>82</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R83.htm</HtmlFileName>
      <LongName>1083 - Disclosure - Summary of Option Activity (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/SummaryOfOptionActivityDetail</Role>
      <ShortName>Summary of Option Activity (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>83</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R84.htm</HtmlFileName>
      <LongName>1084 - Disclosure - Summary of Option Activity (Parenthetical) (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/SummaryOfOptionActivityParentheticalDetail</Role>
      <ShortName>Summary of Option Activity (Parenthetical) (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>84</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R85.htm</HtmlFileName>
      <LongName>1085 - Disclosure - Summary of Restricted Stock Unit Activity (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/SummaryOfRestrictedStockUnitActivityDetail</Role>
      <ShortName>Summary of Restricted Stock Unit Activity (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>85</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R86.htm</HtmlFileName>
      <LongName>1086 - Disclosure - Summary of Restricted Stock Unit Activity (Parenthetical) (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/SummaryOfRestrictedStockUnitActivityParentheticalDetail</Role>
      <ShortName>Summary of Restricted Stock Unit Activity (Parenthetical) (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>86</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R87.htm</HtmlFileName>
      <LongName>1087 - Disclosure - Commitments and Contingencies - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/CommitmentsAndContingenciesAdditionalInformationDetail</Role>
      <ShortName>Commitments and Contingencies - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>87</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R88.htm</HtmlFileName>
      <LongName>1088 - Disclosure - Carrying Value of Convertible Senior Notes (Detail)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://www.repligencorp.com/role/CarryingValueOfConvertibleSeniorNotesDetail</Role>
      <ShortName>Carrying Value of Convertible Senior Notes (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>88</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R89.htm</HtmlFileName>
      <LongName>1089 - Disclosure - Convertible Senior Notes - Additional Information (Detail)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail</Role>
      <ShortName>Convertible Senior Notes - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>89</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R90.htm</HtmlFileName>
      <LongName>1090 - Disclosure - Change in Change in Accumulated Other Comprehensive Loss (Detail) (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/ChangeInChangeInAccumulatedOtherComprehensiveLossDetailDetail</Role>
      <ShortName>Change in Change in Accumulated Other Comprehensive Loss (Detail) (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>90</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R91.htm</HtmlFileName>
      <LongName>1091 - Disclosure - Employee Benefit Plans - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/EmployeeBenefitPlansAdditionalInformationDetail</Role>
      <ShortName>Employee Benefit Plans - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>91</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R92.htm</HtmlFileName>
      <LongName>1092 - Disclosure - Related Party Transactions - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/RelatedPartyTransactionsAdditionalInformationDetail</Role>
      <ShortName>Related Party Transactions - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>92</Position>
    </Report>
    <Report instance="d105808d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R93.htm</HtmlFileName>
      <LongName>1093 - Disclosure - Consolidated Statements of Operations Information for Each of Previous Eight Quarters (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.repligencorp.com/role/ConsolidatedStatementsOfOperationsInformationForEachOfPreviousEightQuartersDetail</Role>
      <ShortName>Consolidated Statements of Operations Information for Each of Previous Eight Quarters (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>93</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="10-K" original="d105808d10k.htm">d105808d10k.htm</File>
    <File>d105808dex211.htm</File>
    <File>d105808dex231.htm</File>
    <File>d105808dex311.htm</File>
    <File>d105808dex312.htm</File>
    <File>d105808dex321.htm</File>
    <File>rgen-20201231.xsd</File>
    <File>rgen-20201231_cal.xml</File>
    <File>rgen-20201231_def.xml</File>
    <File>rgen-20201231_lab.xml</File>
    <File>rgen-20201231_pre.xml</File>
  </InputFiles>
  <SupplementalFiles>
    <File>g105808g19j62.jpg</File>
  </SupplementalFiles>
  <BaseTaxonomies>
    <BaseTaxonomy>http://fasb.org/us-gaap/2020-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://xbrl.sec.gov/country/2020-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://fasb.org/srt/2020-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://xbrl.sec.gov/dei/2020-01-31</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>113
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "instance": {
  "d105808d10k.htm": {
   "axisCustom": 0,
   "axisStandard": 31,
   "contextCount": 281,
   "dts": {
    "calculationLink": {
     "local": [
      "rgen-20201231_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "rgen-20201231_def.xml"
     ],
     "remote": [
      "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-eedm-def-2020-01-31.xml",
      "http://xbrl.fasb.org/srt/2020/elts/srt-eedm1-def-2020-01-31.xml"
     ]
    },
    "inline": {
     "local": [
      "d105808d10k.htm"
     ]
    },
    "labelLink": {
     "local": [
      "rgen-20201231_lab.xml"
     ],
     "remote": [
      "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-doc-2020-01-31.xml",
      "https://xbrl.sec.gov/dei/2020/dei-doc-2020-01-31.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "rgen-20201231_pre.xml"
     ]
    },
    "referenceLink": {
     "remote": [
      "https://xbrl.sec.gov/dei/2020/dei-ref-2020-01-31.xml",
      "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-ref-2020-01-31.xml"
     ]
    },
    "schema": {
     "local": [
      "rgen-20201231.xsd"
     ],
     "remote": [
      "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",
      "https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd",
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd",
      "http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd",
      "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd",
      "http://xbrl.fasb.org/us-gaap/2020/elts/us-roles-2020-01-31.xsd",
      "http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://xbrl.fasb.org/srt/2020/elts/srt-types-2020-01-31.xsd",
      "http://xbrl.fasb.org/srt/2020/elts/srt-roles-2020-01-31.xsd",
      "https://xbrl.sec.gov/country/2020/country-2020-01-31.xsd",
      "http://xbrl.fasb.org/us-gaap/2020/elts/us-types-2020-01-31.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "https://xbrl.sec.gov/currency/2020/currency-2020-01-31.xsd",
      "https://xbrl.sec.gov/exch/2020/exch-2020-01-31.xsd",
      "https://xbrl.sec.gov/naics/2017/naics-2017-01-31.xsd",
      "https://xbrl.sec.gov/sic/2020/sic-2020-01-31.xsd",
      "https://xbrl.sec.gov/stpr/2018/stpr-2018-01-31.xsd",
      "http://www.xbrl.org/lrr/arcrole/factExplanatory-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "http://xbrl.fasb.org/us-gaap/2020/elts/us-parts-codification-2020-01-31.xsd",
      "http://www.xbrl.org/lrr/role/deprecated-2009-12-16.xsd"
     ]
    }
   },
   "elementCount": 807,
   "entityCount": 1,
   "hidden": {
    "http://fasb.org/us-gaap/2020-01-31": 3,
    "http://xbrl.sec.gov/dei/2020-01-31": 5,
    "total": 8
   },
   "keyCustom": 69,
   "keyStandard": 499,
   "memberCustom": 35,
   "memberStandard": 50,
   "nsprefix": "rgen",
   "nsuri": "http://www.repligencorp.com/20201231",
   "report": {
    "R1": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "document",
     "isDefault": "true",
     "longName": "1001 - Document - Cover Page",
     "role": "http://www.repligencorp.com/role/CoverPage",
     "shortName": "Cover Page",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R10": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1010 - Disclosure - Summary of Significant Accounting Policies",
     "role": "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPolicies",
     "shortName": "Summary of Significant Accounting Policies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R11": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BusinessCombinationDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1011 - Disclosure - Acquisitions",
     "role": "http://www.repligencorp.com/role/Acquisitions",
     "shortName": "Acquisitions",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BusinessCombinationDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R12": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1012 - Disclosure - Leases",
     "role": "http://www.repligencorp.com/role/Leases",
     "shortName": "Leases",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R13": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1013 - Disclosure - Revenue Recognition",
     "role": "http://www.repligencorp.com/role/RevenueRecognition",
     "shortName": "Revenue Recognition",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R14": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CreditLossFinancialInstrumentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1014 - Disclosure - Credit Losses",
     "role": "http://www.repligencorp.com/role/CreditLosses",
     "shortName": "Credit Losses",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CreditLossFinancialInstrumentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R15": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1015 - Disclosure - Goodwill and Intangible Assets",
     "role": "http://www.repligencorp.com/role/GoodwillAndIntangibleAssets",
     "shortName": "Goodwill and Intangible Assets",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R16": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1016 - Disclosure - Consolidated Balance Sheet Detail",
     "role": "http://www.repligencorp.com/role/ConsolidatedBalanceSheetDetail",
     "shortName": "Consolidated Balance Sheet Detail",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R17": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1017 - Disclosure - Income Taxes",
     "role": "http://www.repligencorp.com/role/IncomeTaxes",
     "shortName": "Income Taxes",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R18": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1018 - Disclosure - Stockholders' Equity",
     "role": "http://www.repligencorp.com/role/StockholdersEquity",
     "shortName": "Stockholders' Equity",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R19": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1019 - Disclosure - Commitments and Contingencies",
     "role": "http://www.repligencorp.com/role/CommitmentsAndContingencies",
     "shortName": "Commitments and Contingencies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R2": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2020",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1002 - Statement - CONSOLIDATED BALANCE SHEETS",
     "role": "http://www.repligencorp.com/role/ConsolidatedBalanceSheets",
     "shortName": "CONSOLIDATED BALANCE SHEETS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2020",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:OtherReceivablesGrossCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     }
    },
    "R20": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LongTermDebtTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1020 - Disclosure - Convertible Senior Notes",
     "role": "http://www.repligencorp.com/role/ConvertibleSeniorNotes",
     "shortName": "Convertible Senior Notes",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LongTermDebtTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R21": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ComprehensiveIncomeNoteTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1021 - Disclosure - Accumulated Other Comprehensive Income (Loss)",
     "role": "http://www.repligencorp.com/role/AccumulatedOtherComprehensiveIncomeLoss",
     "shortName": "Accumulated Other Comprehensive Income (Loss)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ComprehensiveIncomeNoteTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R22": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CompensationAndEmployeeBenefitPlansTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1022 - Disclosure - Employee Benefit Plans",
     "role": "http://www.repligencorp.com/role/EmployeeBenefitPlans",
     "shortName": "Employee Benefit Plans",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CompensationAndEmployeeBenefitPlansTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R23": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1023 - Disclosure - Related Party Transactions",
     "role": "http://www.repligencorp.com/role/RelatedPartyTransactions",
     "shortName": "Related Party Transactions",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R24": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:QuarterlyFinancialInformationTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1024 - Disclosure - Selected Quarterly Financial Data (Unaudited)",
     "role": "http://www.repligencorp.com/role/SelectedQuarterlyFinancialDataUnaudited",
     "shortName": "Selected Quarterly Financial Data (Unaudited)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:QuarterlyFinancialInformationTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R25": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:UseOfEstimates",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1025 - Disclosure - Summary of Significant Accounting Policies (Policies)",
     "role": "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesPolicies",
     "shortName": "Summary of Significant Accounting Policies (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:UseOfEstimates",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R26": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "rgen:ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1026 - Disclosure - Summary of Significant Accounting Policies (Tables)",
     "role": "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesTables",
     "shortName": "Summary of Significant Accounting Policies (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "rgen:ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R27": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "rgen:ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1027 - Disclosure - Acquisitions (Tables)",
     "role": "http://www.repligencorp.com/role/AcquisitionsTables",
     "shortName": "Acquisitions (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "rgen:ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R28": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1028 - Disclosure - Leases (Tables)",
     "role": "http://www.repligencorp.com/role/LeasesTables",
     "shortName": "Leases (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R29": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1029 - Disclosure - Revenue Recognition (Tables)",
     "role": "http://www.repligencorp.com/role/RevenueRecognitionTables",
     "shortName": "Revenue Recognition (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R3": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2020",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "reportCount": 1,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1003 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "role": "http://www.repligencorp.com/role/ConsolidatedBalanceSheetsParenthetical",
     "shortName": "CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:PreferredStockParOrStatedValuePerShare",
       "div",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2020",
      "decimals": "INF",
      "lang": null,
      "name": "us-gaap:PreferredStockParOrStatedValuePerShare",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD_per_Share",
      "xsiNil": "false"
     }
    },
    "R30": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1030 - Disclosure - Credit Losses (Tables)",
     "role": "http://www.repligencorp.com/role/CreditLossesTables",
     "shortName": "Credit Losses (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R31": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfGoodwillTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1031 - Disclosure - Goodwill and Intangible Assets (Tables)",
     "role": "http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsTables",
     "shortName": "Goodwill and Intangible Assets (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfGoodwillTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R32": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1032 - Disclosure - Consolidated Balance Sheet Detail (Tables)",
     "role": "http://www.repligencorp.com/role/ConsolidatedBalanceSheetDetailTables",
     "shortName": "Consolidated Balance Sheet Detail (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R33": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1033 - Disclosure - Income Taxes (Tables)",
     "role": "http://www.repligencorp.com/role/IncomeTaxesTables",
     "shortName": "Income Taxes (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R34": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1034 - Disclosure - Stockholders' Equity (Tables)",
     "role": "http://www.repligencorp.com/role/StockholdersEquityTables",
     "shortName": "Stockholders' Equity (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R35": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:LongTermDebtTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ConvertibleDebtTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1035 - Disclosure - Convertible Senior Notes (Tables)",
     "role": "http://www.repligencorp.com/role/ConvertibleSeniorNotesTables",
     "shortName": "Convertible Senior Notes (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:LongTermDebtTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ConvertibleDebtTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R36": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:ComprehensiveIncomeNoteTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1036 - Disclosure - Accumulated Other Comprehensive Income (Loss) (Tables)",
     "role": "http://www.repligencorp.com/role/AccumulatedOtherComprehensiveIncomeLossTables",
     "shortName": "Accumulated Other Comprehensive Income (Loss) (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:ComprehensiveIncomeNoteTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R37": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1037 - Disclosure - Selected Quarterly Financial Data (Unaudited) (Tables)",
     "role": "http://www.repligencorp.com/role/SelectedQuarterlyFinancialDataUnauditedTables",
     "shortName": "Selected Quarterly Financial Data (Unaudited) (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R38": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2020",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "reportCount": 1,
      "unitRef": "Unit_shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1038 - Disclosure - Summary Of Significant Accounting Policies  -  Additional Information (Detail)",
     "role": "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
     "shortName": "Summary Of Significant Accounting Policies  -  Additional Information (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_shares",
      "xsiNil": "false"
     }
    },
    "R39": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2020",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1039 - Disclosure - Schedule of Cash, Cash Equivalents and Restricted Cash (Detail)",
     "role": "http://www.repligencorp.com/role/ScheduleOfCashCashEquivalentsAndRestrictedCashDetail",
     "shortName": "Schedule of Cash, Cash Equivalents and Restricted Cash (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R4": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1004 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME",
     "role": "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome",
     "shortName": "CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:CostOfGoodsAndServicesSold",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     }
    },
    "R40": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "rgen:ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020_BuildingMemberusgaapPropertyPlantAndEquipmentByTypeAxis",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1040 - Disclosure - Estimated Useful Life of Assets (Detail)",
     "role": "http://www.repligencorp.com/role/EstimatedUsefulLifeOfAssetsDetail",
     "shortName": "Estimated Useful Life of Assets (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "rgen:ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020_BuildingMemberusgaapPropertyPlantAndEquipmentByTypeAxis",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R41": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P10_01_2020To12_31_2020",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1041 - Disclosure - Reconciliation of Basic and Diluted Shares Amounts (Detail)",
     "role": "http://www.repligencorp.com/role/ReconciliationOfBasicAndDilutedSharesAmountsDetail",
     "shortName": "Reconciliation of Basic and Diluted Shares Amounts (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "us-gaap:EarningsPerSharePolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:WeightedAverageNumberOfSharesRestrictedStock",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_shares",
      "xsiNil": "false"
     }
    },
    "R42": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P10_01_2020To12_31_2020",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1042 - Disclosure - Summary of Product Revenues by Product Line (Detail)",
     "role": "http://www.repligencorp.com/role/SummaryOfProductRevenuesByProductLineDetail",
     "shortName": "Summary of Product Revenues by Product Line (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020_FiltrationProductsMembersrtProductOrServiceAxis",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     }
    },
    "R43": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_pure",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1043 - Disclosure - Percentage of Revenue by Geographic Area (Detail)",
     "role": "http://www.repligencorp.com/role/PercentageOfRevenueByGeographicAreaDetail",
     "shortName": "Percentage of Revenue by Geographic Area (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020_GeographicConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_SalesRevenuesGoodsNetMemberusgaapConcentrationRiskByBenchmarkAxis",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_pure",
      "xsiNil": "false"
     }
    },
    "R44": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2020",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:Assets",
      "reportCount": 1,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1044 - Disclosure - Total Assets by Geographic Area (Detail)",
     "role": "http://www.repligencorp.com/role/TotalAssetsByGeographicAreaDetail",
     "shortName": "Total Assets by Geographic Area (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2020_NorthAmericaMembersrtStatementGeographicalAxis",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:Assets",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     }
    },
    "R45": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2020",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "rgen:AssetsNonCurrentExcludingDifferedTaxAssets",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1045 - Disclosure - Long Lived Assets by Geographic Area (Detail)",
     "role": "http://www.repligencorp.com/role/LongLivedAssetsByGeographicAreaDetail",
     "shortName": "Long Lived Assets by Geographic Area (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2020",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "rgen:AssetsNonCurrentExcludingDifferedTaxAssets",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     }
    },
    "R46": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock",
       "us-gaap:ConcentrationRiskCreditRisk",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020_CustomerConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_MilliporeSigmaMembersrtMajorCustomersAxis_SalesRevenueNetMemberusgaapConcentrationRiskByBenchmarkAxis",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_pure",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1046 - Disclosure - Percentage of Revenue from Significant Customers (Detail)",
     "role": "http://www.repligencorp.com/role/PercentageOfRevenueFromSignificantCustomersDetail",
     "shortName": "Percentage of Revenue from Significant Customers (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock",
       "us-gaap:ConcentrationRiskCreditRisk",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020_CustomerConcentrationRiskMemberusgaapConcentrationRiskByTypeAxis_MilliporeSigmaMembersrtMajorCustomersAxis_SalesRevenueNetMemberusgaapConcentrationRiskByBenchmarkAxis",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_pure",
      "xsiNil": "false"
     }
    },
    "R47": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2019",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts",
      "reportCount": 1,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1047 - Disclosure - Acquisitions - Additional Information (Detail)",
     "role": "http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail",
     "shortName": "Acquisitions - Additional Information (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2020_TrustForBenefitOfEmployeesMembersrtTitleOfIndividualAxis",
      "decimals": "-5",
      "lang": null,
      "name": "us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     }
    },
    "R48": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "rgen:ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "rgen:CashConsiderationExcludingRestrictedCash",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1048 - Disclosure - Acquisitions (Consideration Transferred) (Detail)",
     "role": "http://www.repligencorp.com/role/AcquisitionsConsiderationTransferredDetail",
     "shortName": "Acquisitions (Consideration Transferred) (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "rgen:ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "rgen:CashConsiderationExcludingRestrictedCash",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     }
    },
    "R49": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2020",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:Goodwill",
      "reportCount": 1,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1049 - Disclosure - Acquisitions (Fair Value of Net Assets Acquired) (Detail)",
     "role": "http://www.repligencorp.com/role/AcquisitionsFairValueOfNetAssetsAcquiredDetail",
     "shortName": "Acquisitions (Fair Value of Net Assets Acquired) (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     }
    },
    "R5": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2017",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockholdersEquity",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1005 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY",
     "role": "http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquity",
     "shortName": "CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2017",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockholdersEquity",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     }
    },
    "R50": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1050 - Disclosure - Acquisitions (Estimated Useful Life and Fair Value) (Detail)",
     "role": "http://www.repligencorp.com/role/AcquisitionsEstimatedUsefulLifeAndFairValueDetail",
     "shortName": "Acquisitions (Estimated Useful Life and Fair Value) (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2020_ArtesynBiosolutionsMemberusgaapBusinessAcquisitionAxis",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     }
    },
    "R51": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:BusinessAcquisitionProFormaInformationTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2019To12_31_2019_CTechnologiesMemberusgaapBusinessAcquisitionAxis",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:BusinessAcquisitionsProFormaRevenue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1051 - Disclosure - Acquisitions (Unaudited Supplemental Pro Forma Information) (Detail)",
     "role": "http://www.repligencorp.com/role/AcquisitionsUnauditedSupplementalProFormaInformationDetail",
     "shortName": "Acquisitions (Unaudited Supplemental Pro Forma Information) (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:BusinessAcquisitionProFormaInformationTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2019To12_31_2019_CTechnologiesMemberusgaapBusinessAcquisitionAxis",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:BusinessAcquisitionsProFormaRevenue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     }
    },
    "R52": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2020",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeaseRightOfUseAsset",
      "reportCount": 1,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1052 - Disclosure - Leases - Additional Information (Detail)",
     "role": "http://www.repligencorp.com/role/LeasesAdditionalInformationDetail",
     "shortName": "Leases - Additional Information (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": "-5",
      "lang": null,
      "name": "rgen:IncreaseDecreaseInOperatingLeaseLiabilities",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     }
    },
    "R53": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2020",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1053 - Disclosure - Leases (Maturities of lease liabilities) (Detail)",
     "role": "http://www.repligencorp.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetail",
     "shortName": "Leases (Maturities of lease liabilities) (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2020",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     }
    },
    "R54": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2020",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeaseLiabilityCurrent",
      "reportCount": 1,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1054 - Disclosure - Leases (Consolidated Balance Sheet) (Detail)",
     "role": "http://www.repligencorp.com/role/LeasesConsolidatedBalanceSheetDetail",
     "shortName": "Leases (Consolidated Balance Sheet) (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R55": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeaseCost",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1055 - Disclosure - Leases (Consolidated Statements of Comprehensive Income) (Detail)",
     "role": "http://www.repligencorp.com/role/LeasesConsolidatedStatementsOfComprehensiveIncomeDetail",
     "shortName": "Leases (Consolidated Statements of Comprehensive Income) (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeaseCost",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     }
    },
    "R56": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "rgen:ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeasePayments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1056 - Disclosure - Leases (Consolidated Statements of Cash flows Related to Operating Leases) (Detail)",
     "role": "http://www.repligencorp.com/role/LeasesConsolidatedStatementsOfCashFlowsRelatedToOperatingLeasesDetail",
     "shortName": "Leases (Consolidated Statements of Cash flows Related to Operating Leases) (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "rgen:ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeasePayments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     }
    },
    "R57": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "rgen:ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "",
     "isDefault": "false",
     "longName": "1057 - Schedule - Leases (Operating Lease Liabilities) (Detail)",
     "role": "http://www.repligencorp.com/role/LeasesOperatingLeaseLiabilitiesDetail",
     "shortName": "Leases (Operating Lease Liabilities) (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "rgen:ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R58": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P10_01_2020To12_31_2020",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "",
     "isDefault": "false",
     "longName": "1058 - Schedule - Summary of Disaggregation of Product Revenues from Contracts with Customers by Major Product Line (Detail)",
     "role": "http://www.repligencorp.com/role/SummaryOfDisaggregationOfProductRevenuesFromContractsWithCustomersByMajorProductLineDetail",
     "shortName": "Summary of Disaggregation of Product Revenues from Contracts with Customers by Major Product Line (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R59": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P10_01_2020To12_31_2020",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1059 - Disclosure - Revenue from Significant Customers (Detail)",
     "role": "http://www.repligencorp.com/role/RevenueFromSignificantCustomersDetail",
     "shortName": "Revenue from Significant Customers (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "rgen:ScheduleOfRevenueByMajorCustomersTableTextBlock",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020_MilliporeSigmaMembersrtMajorCustomersAxis",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     }
    },
    "R6": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1006 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical)",
     "role": "http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquityParenthetical",
     "shortName": "CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     }
    },
    "R60": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2020",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AccountsReceivableNetCurrent",
      "reportCount": 1,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1060 - Disclosure - Summary of Receivables and Deferred Revenue from Contracts with Customers (Detail)",
     "role": "http://www.repligencorp.com/role/SummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail",
     "shortName": "Summary of Receivables and Deferred Revenue from Contracts with Customers (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2020",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:DeferredRevenue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     }
    },
    "R61": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn09_30_2020",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable",
      "reportCount": 1,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "",
     "isDefault": "false",
     "longName": "1061 - Schedule - Credit Losses - Summary Of Allowance For Credit Losses For Accounts Receivables (Detail)",
     "role": "http://www.repligencorp.com/role/CreditLossesSummaryOfAllowanceForCreditLossesForAccountsReceivablesDetail",
     "shortName": "Credit Losses - Summary Of Allowance For Credit Losses For Accounts Receivables (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2019",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     }
    },
    "R62": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2020",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AccountsReceivableNetCurrent",
      "reportCount": 1,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "",
     "isDefault": "false",
     "longName": "1062 - Schedule - Credit Losses - Additional Information (Detail)",
     "role": "http://www.repligencorp.com/role/CreditLossesAdditionalInformationDetail",
     "shortName": "Credit Losses - Additional Information (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R63": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2019",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:Goodwill",
      "reportCount": 1,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1063 - Disclosure - Changes in Carrying Value of Goodwill (Detail)",
     "role": "http://www.repligencorp.com/role/ChangesInCarryingValueOfGoodwillDetail",
     "shortName": "Changes in Carrying Value of Goodwill (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:GoodwillForeignCurrencyTranslationGainLoss",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     }
    },
    "R64": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "rgen:ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2020",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1064 - Disclosure - Goodwill and Intangible Assets (Detail)",
     "role": "http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsDetail",
     "shortName": "Goodwill and Intangible Assets (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "rgen:ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2020",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     }
    },
    "R65": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1065 - Disclosure - Goodwill and Intangible Assets - Additional Information (Detail)",
     "role": "http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail",
     "shortName": "Goodwill and Intangible Assets - Additional Information (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     }
    },
    "R66": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2020",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1066 - Disclosure - Amortization Expense for Amortized Intangible Assets (Detail)",
     "role": "http://www.repligencorp.com/role/AmortizationExpenseForAmortizedIntangibleAssetsDetail",
     "shortName": "Amortization Expense for Amortized Intangible Assets (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2020",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     }
    },
    "R67": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2020",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryRawMaterialsNetOfReserves",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1067 - Disclosure - Schedule of Inventories (Detail)",
     "role": "http://www.repligencorp.com/role/ScheduleOfInventoriesDetail",
     "shortName": "Schedule of Inventories (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2020",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryRawMaterialsNetOfReserves",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     }
    },
    "R68": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2020",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "rgen:PrepaidServicesAndProfessionalFees",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1068 - Disclosure - Prepaid Expenses and Other Current Assets (Detail)",
     "role": "http://www.repligencorp.com/role/PrepaidExpensesAndOtherCurrentAssetsDetail",
     "shortName": "Prepaid Expenses and Other Current Assets (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2020",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "rgen:PrepaidServicesAndProfessionalFees",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     }
    },
    "R69": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2020",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:Land",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1069 - Disclosure - Property, Plant and Equipment (Detail)",
     "role": "http://www.repligencorp.com/role/PropertyPlantAndEquipmentDetail",
     "shortName": "Property, Plant and Equipment (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2020",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:Land",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     }
    },
    "R7": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1007 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "role": "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows",
     "shortName": "CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:DepreciationAndAmortization",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     }
    },
    "R70": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:Depreciation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1070 - Disclosure - Consolidated Balance Sheet - Additional Information (Detail)",
     "role": "http://www.repligencorp.com/role/ConsolidatedBalanceSheetAdditionalInformationDetail",
     "shortName": "Consolidated Balance Sheet - Additional Information (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:Depreciation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     }
    },
    "R71": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2020",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1071 - Disclosure - Schedule of Accrued Liabilities (Detail)",
     "role": "http://www.repligencorp.com/role/ScheduleOfAccruedLiabilitiesDetail",
     "shortName": "Schedule of Accrued Liabilities (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2020",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     }
    },
    "R72": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1072 - Disclosure - Income Before Income Taxes (Detail)",
     "role": "http://www.repligencorp.com/role/IncomeBeforeIncomeTaxesDetail",
     "shortName": "Income Before Income Taxes (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     }
    },
    "R73": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CurrentIncomeTaxExpenseBenefit",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1073 - Disclosure - Current, Deferred and Equity Income Taxes (Detail)",
     "role": "http://www.repligencorp.com/role/CurrentDeferredAndEquityIncomeTaxesDetail",
     "shortName": "Current, Deferred and Equity Income Taxes (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CurrentIncomeTaxExpenseBenefit",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     }
    },
    "R74": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1074 - Disclosure - Provision for Income Taxes by Jurisdiction (Detail)",
     "role": "http://www.repligencorp.com/role/ProvisionForIncomeTaxesByJurisdictionDetail",
     "shortName": "Provision for Income Taxes by Jurisdiction (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     }
    },
    "R75": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2020",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLossCarryforwards",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1075 - Disclosure - Income Taxes - Additional Information (Detail)",
     "role": "http://www.repligencorp.com/role/IncomeTaxesAdditionalInformationDetail",
     "shortName": "Income Taxes - Additional Information (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2020",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLossCarryforwards",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     }
    },
    "R76": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2020",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1076 - Disclosure - Consolidated Deferred Tax Assets (Liabilities) (Detail)",
     "role": "http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail",
     "shortName": "Consolidated Deferred Tax Assets (Liabilities) (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2020",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     }
    },
    "R77": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
      "reportCount": 1,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1077 - Disclosure - Reconciliation of Federal Statutory Rate to Effective Income Tax Rate (Detail)",
     "role": "http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail",
     "shortName": "Reconciliation of Federal Statutory Rate to Effective Income Tax Rate (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     }
    },
    "R78": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "us-gaap:SummaryOfIncomeTaxExaminationsTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020_EarliestTaxYearMemberusgaapTaxPeriodAxis_USsrtStatementGeographicalAxis",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OpenTaxYear",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1078 - Disclosure - Summary of Tax Returns Periods Subject to Examination by Federal, State and Foreign Tax Authorities (Detail)",
     "role": "http://www.repligencorp.com/role/SummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail",
     "shortName": "Summary of Tax Returns Periods Subject to Examination by Federal, State and Foreign Tax Authorities (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "us-gaap:SummaryOfIncomeTaxExaminationsTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020_EarliestTaxYearMemberusgaapTaxPeriodAxis_USsrtStatementGeographicalAxis",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OpenTaxYear",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R79": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2019",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:UnrecognizedTaxBenefits",
      "reportCount": 1,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1079 - Disclosure - Reconciliation of Unrecognized Tax Benefits (Detail)",
     "role": "http://www.repligencorp.com/role/ReconciliationOfUnrecognizedTaxBenefitsDetail",
     "shortName": "Reconciliation of Unrecognized Tax Benefits (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2018",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:UnrecognizedTaxBenefits",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     }
    },
    "R8": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:DebtConversionConvertedInstrumentSharesIssued1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_shares",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1008 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS (Parenthetical)",
     "role": "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlowsParenthetical",
     "shortName": "CONSOLIDATED STATEMENTS OF CASH FLOWS (Parenthetical)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:DebtConversionConvertedInstrumentSharesIssued1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_shares",
      "xsiNil": "false"
     }
    },
    "R80": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_08_2020",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:CommonStockSharesIssued",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1080 - Disclosure - Stockholders' Equity - Additional Information (Detail)",
     "role": "http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail",
     "shortName": "Stockholders' Equity - Additional Information (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_08_2020",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:CommonStockSharesIssued",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_shares",
      "xsiNil": "false"
     }
    },
    "R81": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensation",
      "reportCount": 1,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1081 - Disclosure - Stock-Based Compensation Expense (Detail)",
     "role": "http://www.repligencorp.com/role/StockBasedCompensationExpenseDetail",
     "shortName": "Stock-Based Compensation Expense (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020_CostOfSalesMemberusgaapIncomeStatementLocationAxis",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:ShareBasedCompensation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     }
    },
    "R82": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": "4",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_pure",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1082 - Disclosure - Estimated Weighted Average Assumptions (Detail)",
     "role": "http://www.repligencorp.com/role/EstimatedWeightedAverageAssumptionsDetail",
     "shortName": "Estimated Weighted Average Assumptions (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": "4",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_pure",
      "xsiNil": "false"
     }
    },
    "R83": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2019",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "reportCount": 1,
      "unitRef": "Unit_shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1083 - Disclosure - Summary of Option Activity (Detail)",
     "role": "http://www.repligencorp.com/role/SummaryOfOptionActivityDetail",
     "shortName": "Summary of Option Activity (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": "INF",
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_shares",
      "xsiNil": "false"
     }
    },
    "R84": {
     "firstAnchor": {
      "ancestors": [
       "rgen:PercentageOfSharesSubjectToForfeiture",
       "div",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2020_NonExecutiveMembersrtTitleOfIndividualAxis",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "rgen:PercentageOfSharesSubjectToForfeiture",
      "reportCount": 1,
      "unitRef": "Unit_pure",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1084 - Disclosure - Summary of Option Activity (Parenthetical) (Detail)",
     "role": "http://www.repligencorp.com/role/SummaryOfOptionActivityParentheticalDetail",
     "shortName": "Summary of Option Activity (Parenthetical) (Detail)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": null
    },
    "R85": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2019_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
      "reportCount": 1,
      "unitRef": "Unit_shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1085 - Disclosure - Summary of Restricted Stock Unit Activity (Detail)",
     "role": "http://www.repligencorp.com/role/SummaryOfRestrictedStockUnitActivityDetail",
     "shortName": "Summary of Restricted Stock Unit Activity (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020_RestrictedStockUnitsRSUMemberusgaapAwardTypeAxis",
      "decimals": "INF",
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_shares",
      "xsiNil": "false"
     }
    },
    "R86": {
     "firstAnchor": {
      "ancestors": [
       "rgen:PercentageOfSharesSubjectToForfeiture",
       "div",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2020_NonExecutiveMembersrtTitleOfIndividualAxis",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "rgen:PercentageOfSharesSubjectToForfeiture",
      "reportCount": 1,
      "unitRef": "Unit_pure",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1086 - Disclosure - Summary of Restricted Stock Unit Activity (Parenthetical) (Detail)",
     "role": "http://www.repligencorp.com/role/SummaryOfRestrictedStockUnitActivityParentheticalDetail",
     "shortName": "Summary of Restricted Stock Unit Activity (Parenthetical) (Detail)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": null
    },
    "R87": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020_MaximumMembersrtRangeAxis",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "rgen:CapacityOfBioreactors",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_l",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1087 - Disclosure - Commitments and Contingencies - Additional Information (Detail)",
     "role": "http://www.repligencorp.com/role/CommitmentsAndContingenciesAdditionalInformationDetail",
     "shortName": "Commitments and Contingencies - Additional Information (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020_MaximumMembersrtRangeAxis",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "rgen:CapacityOfBioreactors",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_l",
      "xsiNil": "false"
     }
    },
    "R88": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ConvertibleDebtTableTextBlock",
       "us-gaap:LongTermDebtTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2020_ZeropointthreesevenfivepercentageconvertibleseniornotesduetwentytwentyfourmemberMemberusgaapDebtInstrumentAxis",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DebtInstrumentCarryingAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1088 - Disclosure - Carrying Value of Convertible Senior Notes (Detail)",
     "role": "http://www.repligencorp.com/role/CarryingValueOfConvertibleSeniorNotesDetail",
     "shortName": "Carrying Value of Convertible Senior Notes (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ConvertibleDebtTableTextBlock",
       "us-gaap:LongTermDebtTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2020_ZeropointthreesevenfivepercentageconvertibleseniornotesduetwentytwentyfourmemberMemberusgaapDebtInstrumentAxis",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DebtInstrumentCarryingAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     }
    },
    "R89": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2019To12_31_2019",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProceedsFromConvertibleDebt",
      "reportCount": 1,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1089 - Disclosure - Convertible Senior Notes - Additional Information (Detail)",
     "role": "http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail",
     "shortName": "Convertible Senior Notes - Additional Information (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "us-gaap:LongTermDebtTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P10_01_2020To12_31_2020",
      "decimals": "2",
      "lang": null,
      "name": "us-gaap:DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_pure",
      "xsiNil": "false"
     }
    },
    "R9": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NatureOfOperations",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1009 - Disclosure - Organization and Nature of Business",
     "role": "http://www.repligencorp.com/role/OrganizationAndNatureOfBusiness",
     "shortName": "Organization and Nature of Business",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NatureOfOperations",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R90": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2019",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockholdersEquity",
      "reportCount": 1,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1090 - Disclosure - Change in Change in Accumulated Other Comprehensive Loss (Detail) (Detail)",
     "role": "http://www.repligencorp.com/role/ChangeInChangeInAccumulatedOtherComprehensiveLossDetailDetail",
     "shortName": "Change in Change in Accumulated Other Comprehensive Loss (Detail) (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock",
       "us-gaap:ComprehensiveIncomeNoteTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "PAsOn12_31_2018_AccumulatedTranslationAdjustmentMemberusgaapStatementEquityComponentsAxis",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:StockholdersEquity",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     }
    },
    "R91": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020_ForeignPlanMemberusgaapRetirementPlanSponsorLocationAxis_PensionPlansDefinedBenefitMemberusgaapRetirementPlanTypeAxis",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:DefinedBenefitPlanContributionsByEmployer",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1091 - Disclosure - Employee Benefit Plans - Additional Information (Detail)",
     "role": "http://www.repligencorp.com/role/EmployeeBenefitPlansAdditionalInformationDetail",
     "shortName": "Employee Benefit Plans - Additional Information (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020_ForeignPlanMemberusgaapRetirementPlanSponsorLocationAxis_PensionPlansDefinedBenefitMemberusgaapRetirementPlanTypeAxis",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:DefinedBenefitPlanContributionsByEmployer",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     }
    },
    "R92": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020_PrincipalOwnerMemberusgaapRelatedPartyTransactionsByRelatedPartyAxis",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProfessionalFees",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1092 - Disclosure - Related Party Transactions - Additional Information (Detail)",
     "role": "http://www.repligencorp.com/role/RelatedPartyTransactionsAdditionalInformationDetail",
     "shortName": "Related Party Transactions - Additional Information (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P01_01_2020To12_31_2020_PrincipalOwnerMemberusgaapRelatedPartyTransactionsByRelatedPartyAxis",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProfessionalFees",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     }
    },
    "R93": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P10_01_2020To12_31_2020",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "1093 - Disclosure - Consolidated Statements of Operations Information for Each of Previous Eight Quarters (Detail)",
     "role": "http://www.repligencorp.com/role/ConsolidatedStatementsOfOperationsInformationForEachOfPreviousEightQuartersDetail",
     "shortName": "Consolidated Statements of Operations Information for Each of Previous Eight Quarters (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d105808d10k.htm",
      "contextRef": "P10_01_2020To12_31_2020",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:GrossProfit",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_USD",
      "xsiNil": "false"
     }
    }
   },
   "segmentCount": 88,
   "tag": {
    "country_SE": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "SWEDEN",
        "terseLabel": "Sweden"
       }
      }
     },
     "localname": "SE",
     "nsuri": "http://xbrl.sec.gov/country/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "country_US": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "UNITED STATES",
        "terseLabel": "United States"
       }
      }
     },
     "localname": "US",
     "nsuri": "http://xbrl.sec.gov/country/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "dei_AmendmentFlag": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.",
        "label": "Amendment Flag"
       }
      }
     },
     "localname": "AmendmentFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CoverPage"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_CityAreaCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Area code of city",
        "label": "City Area Code"
       }
      }
     },
     "localname": "CityAreaCode",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CoverPage"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_CoverAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cover page.",
        "label": "Cover [Abstract]"
       }
      }
     },
     "localname": "CoverAbstract",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "dei_CurrentFiscalYearEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "End date of current fiscal year in the format --MM-DD.",
        "label": "Current Fiscal Year End Date"
       }
      }
     },
     "localname": "CurrentFiscalYearEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CoverPage"
     ],
     "xbrltype": "gMonthDayItemType"
    },
    "dei_DocumentAnnualReport": {
     "auth_ref": [
      "r720",
      "r721",
      "r722"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as an annual report.",
        "label": "Document Annual Report"
       }
      }
     },
     "localname": "DocumentAnnualReport",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CoverPage"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentFiscalPeriodFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.",
        "label": "Document Fiscal Period Focus"
       }
      }
     },
     "localname": "DocumentFiscalPeriodFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CoverPage"
     ],
     "xbrltype": "fiscalPeriodItemType"
    },
    "dei_DocumentFiscalYearFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.",
        "label": "Document Fiscal Year Focus"
       }
      }
     },
     "localname": "DocumentFiscalYearFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CoverPage"
     ],
     "xbrltype": "gYearItemType"
    },
    "dei_DocumentPeriodEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The end date of the period reflected on the cover page if a periodic report. For all other reports and registration statements containing historical data, it is the date up through which that historical data is presented.  If there is no historical data in the report, use the filing date. The format of the date is YYYY-MM-DD.",
        "label": "Document Period End Date"
       }
      }
     },
     "localname": "DocumentPeriodEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CoverPage"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentTransitionReport": {
     "auth_ref": [
      "r723"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as a transition report.",
        "label": "Document Transition Report"
       }
      }
     },
     "localname": "DocumentTransitionReport",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CoverPage"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentType": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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'.",
        "label": "Document Type"
       }
      }
     },
     "localname": "DocumentType",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CoverPage"
     ],
     "xbrltype": "submissionTypeItemType"
    },
    "dei_EntityAddressAddressLine1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name",
        "label": "Entity Address, Address Line One"
       }
      }
     },
     "localname": "EntityAddressAddressLine1",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CoverPage"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressCityOrTown": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the City or Town",
        "label": "Entity Address, City or Town"
       }
      }
     },
     "localname": "EntityAddressCityOrTown",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CoverPage"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressPostalZipCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Code for the postal or zip code",
        "label": "Entity Address, Postal Zip Code"
       }
      }
     },
     "localname": "EntityAddressPostalZipCode",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CoverPage"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressStateOrProvince": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the state or province.",
        "label": "Entity Address, State or Province"
       }
      }
     },
     "localname": "EntityAddressStateOrProvince",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CoverPage"
     ],
     "xbrltype": "stateOrProvinceItemType"
    },
    "dei_EntityCentralIndexKey": {
     "auth_ref": [
      "r724"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.",
        "label": "Entity Central Index Key"
       }
      }
     },
     "localname": "EntityCentralIndexKey",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CoverPage"
     ],
     "xbrltype": "centralIndexKeyItemType"
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.",
        "label": "Entity Common Stock, Shares Outstanding"
       }
      }
     },
     "localname": "EntityCommonStockSharesOutstanding",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CoverPage"
     ],
     "xbrltype": "sharesItemType"
    },
    "dei_EntityCurrentReportingStatus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Current Reporting Status"
       }
      }
     },
     "localname": "EntityCurrentReportingStatus",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CoverPage"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "All the names of the entities being reported upon in a document. Any legal structure used to conduct activities or to hold assets. Some examples of such structures are corporations, partnerships, limited liability companies, grantor trusts, and other trusts. This item does not include business and geographical segments which are included in the geographical or business segments domains.",
        "label": "Entity [Domain]",
        "terseLabel": "Entity [Domain]"
       }
      }
     },
     "localname": "EntityDomain",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AccumulatedOtherComprehensiveIncomeLoss",
      "http://www.repligencorp.com/role/AccumulatedOtherComprehensiveIncomeLossTables",
      "http://www.repligencorp.com/role/Acquisitions",
      "http://www.repligencorp.com/role/AcquisitionsConsiderationTransferredDetail",
      "http://www.repligencorp.com/role/AcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/role/AcquisitionsTables",
      "http://www.repligencorp.com/role/AcquisitionsUnauditedSupplementalProFormaInformationDetail",
      "http://www.repligencorp.com/role/AmortizationExpenseForAmortizedIntangibleAssetsDetail",
      "http://www.repligencorp.com/role/CarryingValueOfConvertibleSeniorNotesDetail",
      "http://www.repligencorp.com/role/ChangeInChangeInAccumulatedOtherComprehensiveLossDetailDetail",
      "http://www.repligencorp.com/role/ChangesInCarryingValueOfGoodwillDetail",
      "http://www.repligencorp.com/role/CommitmentsAndContingencies",
      "http://www.repligencorp.com/role/CommitmentsAndContingenciesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheetDetailTables",
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail",
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlowsParenthetical",
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfOperationsInformationForEachOfPreviousEightQuartersDetail",
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquityParenthetical",
      "http://www.repligencorp.com/role/ConvertibleSeniorNotes",
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesTables",
      "http://www.repligencorp.com/role/CurrentDeferredAndEquityIncomeTaxesDetail",
      "http://www.repligencorp.com/role/EmployeeBenefitPlans",
      "http://www.repligencorp.com/role/EmployeeBenefitPlansAdditionalInformationDetail",
      "http://www.repligencorp.com/role/EstimatedWeightedAverageAssumptionsDetail",
      "http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsTables",
      "http://www.repligencorp.com/role/IncomeBeforeIncomeTaxesDetail",
      "http://www.repligencorp.com/role/IncomeTaxes",
      "http://www.repligencorp.com/role/IncomeTaxesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/IncomeTaxesTables",
      "http://www.repligencorp.com/role/LeasesConsolidatedStatementsOfCashFlowsRelatedToOperatingLeasesDetail",
      "http://www.repligencorp.com/role/LongLivedAssetsByGeographicAreaDetail",
      "http://www.repligencorp.com/role/OrganizationAndNatureOfBusiness",
      "http://www.repligencorp.com/role/PrepaidExpensesAndOtherCurrentAssetsDetail",
      "http://www.repligencorp.com/role/PropertyPlantAndEquipmentDetail",
      "http://www.repligencorp.com/role/ProvisionForIncomeTaxesByJurisdictionDetail",
      "http://www.repligencorp.com/role/ReconciliationOfBasicAndDilutedSharesAmountsDetail",
      "http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail",
      "http://www.repligencorp.com/role/ReconciliationOfUnrecognizedTaxBenefitsDetail",
      "http://www.repligencorp.com/role/RelatedPartyTransactions",
      "http://www.repligencorp.com/role/RelatedPartyTransactionsAdditionalInformationDetail",
      "http://www.repligencorp.com/role/RevenueRecognitionTables",
      "http://www.repligencorp.com/role/ScheduleOfAccruedLiabilitiesDetail",
      "http://www.repligencorp.com/role/ScheduleOfInventoriesDetail",
      "http://www.repligencorp.com/role/SelectedQuarterlyFinancialDataUnaudited",
      "http://www.repligencorp.com/role/SelectedQuarterlyFinancialDataUnauditedTables",
      "http://www.repligencorp.com/role/StockBasedCompensationExpenseDetail",
      "http://www.repligencorp.com/role/StockholdersEquity",
      "http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail",
      "http://www.repligencorp.com/role/SummaryOfOptionActivityDetail",
      "http://www.repligencorp.com/role/SummaryOfOptionActivityParentheticalDetail",
      "http://www.repligencorp.com/role/SummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail",
      "http://www.repligencorp.com/role/SummaryOfRestrictedStockUnitActivityParentheticalDetail",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPolicies",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesPolicies",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesTables",
      "http://www.repligencorp.com/role/SummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail",
      "http://www.repligencorp.com/role/TotalAssetsByGeographicAreaDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "dei_EntityEmergingGrowthCompany": {
     "auth_ref": [
      "r724"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate if registrant meets the emerging growth company criteria.",
        "label": "Entity Emerging Growth Company",
        "terseLabel": "Emerging growth company"
       }
      }
     },
     "localname": "EntityEmergingGrowthCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CoverPage"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityFileNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Entity File Number"
       }
      }
     },
     "localname": "EntityFileNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CoverPage"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_EntityFilerCategory": {
     "auth_ref": [
      "r724"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Filer Category"
       }
      }
     },
     "localname": "EntityFilerCategory",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CoverPage"
     ],
     "xbrltype": "filerCategoryItemType"
    },
    "dei_EntityIncorporationStateCountryCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Two-character EDGAR code representing the state or country of incorporation.",
        "label": "Entity Incorporation, State or Country Code"
       }
      }
     },
     "localname": "EntityIncorporationStateCountryCode",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CoverPage"
     ],
     "xbrltype": "edgarStateCountryItemType"
    },
    "dei_EntityInteractiveDataCurrent": {
     "auth_ref": [
      "r725"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).",
        "label": "Entity Interactive Data Current"
       }
      }
     },
     "localname": "EntityInteractiveDataCurrent",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CoverPage"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityPublicFloat": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.",
        "label": "Entity Public Float"
       }
      }
     },
     "localname": "EntityPublicFloat",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CoverPage"
     ],
     "xbrltype": "monetaryItemType"
    },
    "dei_EntityRegistrantName": {
     "auth_ref": [
      "r724"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.",
        "label": "Entity Registrant Name"
       }
      }
     },
     "localname": "EntityRegistrantName",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CoverPage"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityShellCompany": {
     "auth_ref": [
      "r724"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.",
        "label": "Entity Shell Company"
       }
      }
     },
     "localname": "EntityShellCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CoverPage"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntitySmallBusiness": {
     "auth_ref": [
      "r724"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).",
        "label": "Entity Small Business",
        "terseLabel": "Smaller reporting company"
       }
      }
     },
     "localname": "EntitySmallBusiness",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CoverPage"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityTaxIdentificationNumber": {
     "auth_ref": [
      "r724"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.",
        "label": "Entity Tax Identification Number"
       }
      }
     },
     "localname": "EntityTaxIdentificationNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CoverPage"
     ],
     "xbrltype": "employerIdItemType"
    },
    "dei_EntityVoluntaryFilers": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.",
        "label": "Entity Voluntary Filers"
       }
      }
     },
     "localname": "EntityVoluntaryFilers",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CoverPage"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.",
        "label": "Entity Well-known Seasoned Issuer"
       }
      }
     },
     "localname": "EntityWellKnownSeasonedIssuer",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CoverPage"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_IcfrAuditorAttestationFlag": {
     "auth_ref": [
      "r720",
      "r721",
      "r722"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ICFR Auditor Attestation Flag"
       }
      }
     },
     "localname": "IcfrAuditorAttestationFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CoverPage"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_LegalEntityAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The set of legal entities associated with a report.",
        "label": "Legal Entity [Axis]",
        "terseLabel": "Legal Entity [Axis]"
       }
      }
     },
     "localname": "LegalEntityAxis",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AccumulatedOtherComprehensiveIncomeLoss",
      "http://www.repligencorp.com/role/AccumulatedOtherComprehensiveIncomeLossTables",
      "http://www.repligencorp.com/role/Acquisitions",
      "http://www.repligencorp.com/role/AcquisitionsConsiderationTransferredDetail",
      "http://www.repligencorp.com/role/AcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/role/AcquisitionsTables",
      "http://www.repligencorp.com/role/AcquisitionsUnauditedSupplementalProFormaInformationDetail",
      "http://www.repligencorp.com/role/AmortizationExpenseForAmortizedIntangibleAssetsDetail",
      "http://www.repligencorp.com/role/CarryingValueOfConvertibleSeniorNotesDetail",
      "http://www.repligencorp.com/role/ChangeInChangeInAccumulatedOtherComprehensiveLossDetailDetail",
      "http://www.repligencorp.com/role/ChangesInCarryingValueOfGoodwillDetail",
      "http://www.repligencorp.com/role/CommitmentsAndContingencies",
      "http://www.repligencorp.com/role/CommitmentsAndContingenciesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheetDetailTables",
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail",
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlowsParenthetical",
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfOperationsInformationForEachOfPreviousEightQuartersDetail",
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquityParenthetical",
      "http://www.repligencorp.com/role/ConvertibleSeniorNotes",
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesTables",
      "http://www.repligencorp.com/role/CurrentDeferredAndEquityIncomeTaxesDetail",
      "http://www.repligencorp.com/role/EmployeeBenefitPlans",
      "http://www.repligencorp.com/role/EmployeeBenefitPlansAdditionalInformationDetail",
      "http://www.repligencorp.com/role/EstimatedWeightedAverageAssumptionsDetail",
      "http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsTables",
      "http://www.repligencorp.com/role/IncomeBeforeIncomeTaxesDetail",
      "http://www.repligencorp.com/role/IncomeTaxes",
      "http://www.repligencorp.com/role/IncomeTaxesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/IncomeTaxesTables",
      "http://www.repligencorp.com/role/LeasesConsolidatedStatementsOfCashFlowsRelatedToOperatingLeasesDetail",
      "http://www.repligencorp.com/role/LongLivedAssetsByGeographicAreaDetail",
      "http://www.repligencorp.com/role/OrganizationAndNatureOfBusiness",
      "http://www.repligencorp.com/role/PrepaidExpensesAndOtherCurrentAssetsDetail",
      "http://www.repligencorp.com/role/PropertyPlantAndEquipmentDetail",
      "http://www.repligencorp.com/role/ProvisionForIncomeTaxesByJurisdictionDetail",
      "http://www.repligencorp.com/role/ReconciliationOfBasicAndDilutedSharesAmountsDetail",
      "http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail",
      "http://www.repligencorp.com/role/ReconciliationOfUnrecognizedTaxBenefitsDetail",
      "http://www.repligencorp.com/role/RelatedPartyTransactions",
      "http://www.repligencorp.com/role/RelatedPartyTransactionsAdditionalInformationDetail",
      "http://www.repligencorp.com/role/RevenueRecognitionTables",
      "http://www.repligencorp.com/role/ScheduleOfAccruedLiabilitiesDetail",
      "http://www.repligencorp.com/role/ScheduleOfInventoriesDetail",
      "http://www.repligencorp.com/role/SelectedQuarterlyFinancialDataUnaudited",
      "http://www.repligencorp.com/role/SelectedQuarterlyFinancialDataUnauditedTables",
      "http://www.repligencorp.com/role/StockBasedCompensationExpenseDetail",
      "http://www.repligencorp.com/role/StockholdersEquity",
      "http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail",
      "http://www.repligencorp.com/role/SummaryOfOptionActivityDetail",
      "http://www.repligencorp.com/role/SummaryOfOptionActivityParentheticalDetail",
      "http://www.repligencorp.com/role/SummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail",
      "http://www.repligencorp.com/role/SummaryOfRestrictedStockUnitActivityParentheticalDetail",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPolicies",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesPolicies",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesTables",
      "http://www.repligencorp.com/role/SummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail",
      "http://www.repligencorp.com/role/TotalAssetsByGeographicAreaDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "dei_LocalPhoneNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Local phone number for entity.",
        "label": "Local Phone Number"
       }
      }
     },
     "localname": "LocalPhoneNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CoverPage"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_Security12bTitle": {
     "auth_ref": [
      "r718"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Title of a 12(b) registered security.",
        "label": "Title of 12(b) Security"
       }
      }
     },
     "localname": "Security12bTitle",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CoverPage"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_SecurityExchangeName": {
     "auth_ref": [
      "r719"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the Exchange on which a security is registered.",
        "label": "Security Exchange Name"
       }
      }
     },
     "localname": "SecurityExchangeName",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CoverPage"
     ],
     "xbrltype": "edgarExchangeCodeItemType"
    },
    "dei_TradingSymbol": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Trading symbol of an instrument as listed on an exchange.",
        "label": "Trading Symbol"
       }
      }
     },
     "localname": "TradingSymbol",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CoverPage"
     ],
     "xbrltype": "tradingSymbolItemType"
    },
    "rgen_APACMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "APAC [Member]",
        "terseLabel": "APAC"
       }
      }
     },
     "localname": "APACMember",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/LongLivedAssetsByGeographicAreaDetail",
      "http://www.repligencorp.com/role/TotalAssetsByGeographicAreaDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "rgen_APACOtherMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "APAC/Other",
        "label": "A P A C Other [Member]",
        "verboseLabel": "APAC Other [Member]"
       }
      }
     },
     "localname": "APACOtherMember",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/PercentageOfRevenueByGeographicAreaDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "rgen_AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "na",
        "label": "Abstract Of Operating Lease Liability From Balance Sheet Table Text Block [Table Text Block]",
        "terseLabel": "Abstract of operating lease liability"
       }
      }
     },
     "localname": "AbstractOfOperatingLeaseLiabilityFromBalanceSheetTableTextBlockTableTextBlock",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/LeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "rgen_AccruedLiabilitiesPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accrued Liabilities, Policy [Text Block]",
        "label": "Accrued Liabilities [Policy Text Block]",
        "terseLabel": "Accrued Liabilities"
       }
      }
     },
     "localname": "AccruedLiabilitiesPolicyTextBlock",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "rgen_AccumulatedDeficitMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "accumulated deficit [Member]"
       }
      }
     },
     "localname": "AccumulatedDeficitMember",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "rgen_AdjustmentsToAdditionalPaidInCapitalReductionForEquityComponentOfConvertibleDebt": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Adjustments To Additional Paid In Capital Reduction For Equity Component Of Convertible Debt.",
        "label": "Adjustments To Additional Paid In Capital Reduction For Equity Component Of Convertible Debt",
        "terseLabel": "Reduction of equity component from debt conversion, net of tax"
       }
      }
     },
     "localname": "AdjustmentsToAdditionalPaidInCapitalReductionForEquityComponentOfConvertibleDebt",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "rgen_AmendmentAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amendment [Axis]",
        "label": "Amendment [Axis]",
        "terseLabel": "Amendment [Axis]"
       }
      }
     },
     "localname": "AmendmentAxis",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "rgen_AmendmentDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amendment [Domain]",
        "label": "Amendment [Domain]",
        "terseLabel": "Amendment [Domain]"
       }
      }
     },
     "localname": "AmendmentDomain",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "rgen_ArtesynBiosolutionsHoldingsIrelandLimitedMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "ARTeSYN Biosolutions Holdings Ireland Limited.",
        "label": "ARTeSYN Biosolutions Holdings Ireland Limited [Member]",
        "terseLabel": "ARTeSYN Biosolutions Holdings Ireland Limited"
       }
      }
     },
     "localname": "ArtesynBiosolutionsHoldingsIrelandLimitedMember",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlowsParenthetical"
     ],
     "xbrltype": "domainItemType"
    },
    "rgen_ArtesynBiosolutionsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "ARTeSYN Biosolutions.",
        "label": "ARTeSYN Biosolutions [Member]",
        "terseLabel": "ARTeSYN Biosolutions",
        "verboseLabel": "ARTeSYN"
       }
      }
     },
     "localname": "ArtesynBiosolutionsMember",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/role/AcquisitionsConsiderationTransferredDetail",
      "http://www.repligencorp.com/role/AcquisitionsEstimatedUsefulLifeAndFairValueDetail",
      "http://www.repligencorp.com/role/AcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/role/AcquisitionsTables",
      "http://www.repligencorp.com/role/ChangesInCarryingValueOfGoodwillDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "rgen_AssetsAcquiredUnderOperatingLeases": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Assets acquired under operating leases.",
        "label": "Assets Acquired Under Operating Leases",
        "terseLabel": "Assets acquired under operating leases"
       }
      }
     },
     "localname": "AssetsAcquiredUnderOperatingLeases",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "rgen_AssetsNonCurrentExcludingDifferedTaxAssets": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of total non-current assets excluding deferred tax assets.",
        "label": "Assets Non current Excluding Differed Tax Assets",
        "terseLabel": "Long Lived Assets"
       }
      }
     },
     "localname": "AssetsNonCurrentExcludingDifferedTaxAssets",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/LongLivedAssetsByGeographicAreaDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "rgen_BusinessCombinationConsiderationIndemnificationEscrow": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Business Combination Consideration Indemnification Escrow",
        "label": "Business Combination Consideration Indemnification Escrow",
        "terseLabel": "Business acquisition, Indemnification escrow"
       }
      }
     },
     "localname": "BusinessCombinationConsiderationIndemnificationEscrow",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedBonus": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Accrued Bonus.",
        "label": "Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Accrued Bonus",
        "terseLabel": "Accrued bonus"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedBonus",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Current Liabilities Accrued Liabilities",
        "label": "Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Current Liabilities Accrued Liabilities",
        "negatedLabel": "Accrued liabilities"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesNotesPayable": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Business combination recognized identifiable assets acquired and liabilities assumed current liabilities notes payable.",
        "label": "Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Current Liabilities Notes Payable",
        "terseLabel": "Notes payable"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesNotesPayable",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityCurrent": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Business combination recognized identifiable assets acquired and liabilities assumed deferred tax liability current.",
        "label": "Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Deferred Tax Liability Current",
        "negatedLabel": "Deferred revenue"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilityCurrent",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Lease Liability Current.",
        "label": "Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Lease Liability Current",
        "verboseLabel": "Operating lease liability"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Lease Liability Non Current.",
        "label": "Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Lease Liability Non Current",
        "verboseLabel": "Operating lease liability, long-term"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNonCurrent",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Lease Right Of Use Asset.",
        "label": "Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Lease Right Of Use Asset",
        "verboseLabel": "Operating lease right of use asset"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRestrictedCash": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of restricted cash, acquired at the acquisition date.",
        "label": "Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Restricted Cash",
        "verboseLabel": "Restricted cash"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRestrictedCash",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "rgen_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Tangible Assets",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Tangible Assets",
        "terseLabel": "Fair value of tangible assets acquired"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssets",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "rgen_BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices": {
     "auth_ref": [],
     "calculation": {
      "http://www.repligencorp.com/role/AcquisitionsConsiderationTransferredDetail": {
       "order": 3.0,
       "parentTag": "us-gaap_BusinessCombinationConsiderationTransferred1",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Business combination settlement of preexisting invoices.",
        "label": "Business Combination Separately Recognized Transactions Settlement Of Preexisting Invoices",
        "terseLabel": "Business Combination settlement of preexisting invoices",
        "verboseLabel": "Settlement of preexisting liabilities"
       }
      }
     },
     "localname": "BusinessCombinationSeparatelyRecognizedTransactionsSettlementOfPreexistingInvoices",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/role/AcquisitionsConsiderationTransferredDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "rgen_BusinessCombinationsCashDepositedInEscrowAccount": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Business combinations cash deposited in escrow account.",
        "label": "Business Combinations Cash Deposited In Escrow Account",
        "terseLabel": "Business combinations cash deposited in escrow account"
       }
      }
     },
     "localname": "BusinessCombinationsCashDepositedInEscrowAccount",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "rgen_CTechnologiesIncMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "C Technologies Inc [Member]",
        "terseLabel": "C Technologies Inc"
       }
      }
     },
     "localname": "CTechnologiesIncMember",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "domainItemType"
    },
    "rgen_CTechnologiesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "C Technologies [Member]",
        "terseLabel": "C Technologies",
        "verboseLabel": "C Technologies, Inc."
       }
      }
     },
     "localname": "CTechnologiesMember",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/role/AcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/role/AcquisitionsTables",
      "http://www.repligencorp.com/role/AcquisitionsUnauditedSupplementalProFormaInformationDetail",
      "http://www.repligencorp.com/role/ChangesInCarryingValueOfGoodwillDetail",
      "http://www.repligencorp.com/role/RelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "rgen_CapacityOfBioreactors": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "It's represents about capacity of bioreactors.",
        "label": "Capacity Of Bioreactors",
        "verboseLabel": "Bioreactors used in perfusion cell culture applications"
       }
      }
     },
     "localname": "CapacityOfBioreactors",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "xbrltype": "volumeItemType"
    },
    "rgen_CashConsiderationExcludingRestrictedCash": {
     "auth_ref": [],
     "calculation": {
      "http://www.repligencorp.com/role/AcquisitionsConsiderationTransferredDetail": {
       "order": 1.0,
       "parentTag": "us-gaap_BusinessCombinationConsiderationTransferred1",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cash consideration excluding restricted cash.",
        "label": "Cash Consideration Excluding Restricted Cash",
        "terseLabel": "Cash consideration"
       }
      }
     },
     "localname": "CashConsiderationExcludingRestrictedCash",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsConsiderationTransferredDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "rgen_ChromatographyProductsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Chromatography Products [Member]",
        "label": "Chromatography Products [Member]"
       }
      }
     },
     "localname": "ChromatographyProductsMember",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfProductRevenuesByProductLineDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "rgen_CommitmentsAndContingenciesLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Commitments and Contingencies [Line Items]",
        "label": "Commitments and Contingencies [Line Items]",
        "terseLabel": "Commitments and Contingencies [Line Items]"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesLineItems",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "rgen_CommitmentsAndContingenciesTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Commitments and Contingencies [Table]",
        "label": "Commitments and Contingencies [Table]",
        "terseLabel": "Commitments and Contingencies [Table]"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesTable",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "rgen_CommonStockIssuePricePerShare": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Common stock issue price per share.",
        "label": "Common Stock Issue Price Per Share",
        "terseLabel": "Common stock issue price per share"
       }
      }
     },
     "localname": "CommonStockIssuePricePerShare",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "perShareItemType"
    },
    "rgen_ComputerHardwareAndSoftwareMemberMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Computer Hardware And Software member [Member]"
       }
      }
     },
     "localname": "ComputerHardwareAndSoftwareMemberMember",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/EstimatedUsefulLifeOfAssetsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "rgen_ConvertibleNotesTransactionCostsOfEquityComponent": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Convertible notes transaction costs of equity component.",
        "label": "Convertible Notes Transaction Costs Of Equity Component",
        "verboseLabel": "Transaction costs attributable to equity component"
       }
      }
     },
     "localname": "ConvertibleNotesTransactionCostsOfEquityComponent",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "rgen_ConvertibleNotesTransactionCostsOfLiabilityComponent": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Convertible notes transaction costs of liability component.",
        "label": "Convertible Notes Transaction Costs Of Liability Component",
        "verboseLabel": "Transaction costs attributable to liability component"
       }
      }
     },
     "localname": "ConvertibleNotesTransactionCostsOfLiabilityComponent",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "rgen_CoronavirusAidReliefAndEconomicSecurityFundValue": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Coronavirus Aid Relief and Economic Security Fund Value.",
        "label": "Coronavirus Aid Relief and Economic Security Fund Value",
        "terseLabel": "Coronavirus aid relief and economic security fund value"
       }
      }
     },
     "localname": "CoronavirusAidReliefAndEconomicSecurityFundValue",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "rgen_CytivaMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cytiva",
        "label": "Cytiva [Member]",
        "verboseLabel": "Cytiva (formerly GE Healthcare)"
       }
      }
     },
     "localname": "CytivaMember",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/PercentageOfRevenueFromSignificantCustomersDetail",
      "http://www.repligencorp.com/role/RevenueFromSignificantCustomersDetail",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "rgen_DebtInstrumentConvertibleIntoEquity": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debt instrument convertible into equity.",
        "label": "Debt Instrument Convertible Into Equity",
        "terseLabel": "Debt instrument amount convertible into equity"
       }
      }
     },
     "localname": "DebtInstrumentConvertibleIntoEquity",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "rgen_DebtInstrumentFaceAmountRemaining": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debt instrument face amount remaining",
        "label": "Debt Instrument Face Amount Remaining",
        "terseLabel": "Face amount of remaining convertible debt"
       }
      }
     },
     "localname": "DebtInstrumentFaceAmountRemaining",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "rgen_DeferredIncomeTaxLiabilitiesFixedAssets": {
     "auth_ref": [],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail": {
       "order": 15.0,
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred income tax liabilities, fixed assets.",
        "label": "Deferred Income Tax Liabilities, Fixed Assets",
        "terseLabel": "Fixed assets"
       }
      }
     },
     "localname": "DeferredIncomeTaxLiabilitiesFixedAssets",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "rgen_DeferredTaxAssetsAccruedBonus": {
     "auth_ref": [],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail": {
       "order": 9.0,
       "parentTag": "us-gaap_DeferredTaxAssetsTaxDeferredExpense",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred tax assets, accrued bonus.",
        "label": "Deferred Tax Assets, Accrued Bonus",
        "terseLabel": "Accrued bonus"
       }
      }
     },
     "localname": "DeferredTaxAssetsAccruedBonus",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "rgen_DeferredTaxAssetsOperatingLeases": {
     "auth_ref": [],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail": {
       "order": 8.0,
       "parentTag": "us-gaap_DeferredTaxAssetsTaxDeferredExpense",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred Tax Assets Operating Leases.",
        "label": "Deferred Tax Assets Operating Leases",
        "terseLabel": "Operating leases"
       }
      }
     },
     "localname": "DeferredTaxAssetsOperatingLeases",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "rgen_DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes": {
     "auth_ref": [],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail": {
       "order": 13.0,
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred Tax Liabilities, Conversion Option on Convertible Notes",
        "label": "Deferred Tax Liabilities, Conversion Option on Convertible Notes",
        "negatedLabel": "Conversion option on convertible notes"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesConversionOptionOnConvertibleNotes",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "rgen_DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets": {
     "auth_ref": [],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail": {
       "order": 14.0,
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred tax liabilities, operating lease right of use assets.",
        "label": "Deferred Tax Liabilities, Operating Lease Right Of Use Assets",
        "terseLabel": "Operating lease right of use assets"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "rgen_DeferredTaxLiablitiesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred tax liablities [Member]"
       }
      }
     },
     "localname": "DeferredTaxLiablitiesMember",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "rgen_DefinedContribution401KPlanMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Defined Contribution 401 K Plan [Member]",
        "label": "Defined Contribution 401 K Plan [Member]",
        "terseLabel": "Defined Contribution 401 K Plan"
       }
      }
     },
     "localname": "DefinedContribution401KPlanMember",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/EmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "rgen_DefinedContributionPlanEmployeeEligibilityAge": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Defined Contribution Plan Employee Eligibility Age",
        "label": "Defined Contribution Plan Employee Eligibility Age",
        "terseLabel": "Defined contribution plan, eligible age of employees"
       }
      }
     },
     "localname": "DefinedContributionPlanEmployeeEligibilityAge",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/EmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "xbrltype": "durationItemType"
    },
    "rgen_DiscountRate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Discount rate.",
        "label": "Discount Rate",
        "verboseLabel": "Discount rate"
       }
      }
     },
     "localname": "DiscountRate",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "rgen_EffectiveIncomeTaxRateReconciliationChangeInForeignTaxRateAmount": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Effective Income Tax Rate Reconciliation, Change in Foreign Tax Rate, Amount.",
        "label": "Effective Income Tax Rate Reconciliation Change in Foreign Tax Rate Amount",
        "verboseLabel": "Change in Netherlands tax rate"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationChangeInForeignTaxRateAmount",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "rgen_EffectiveIncomeTaxRateReconciliationChangeInStateTaxRate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Effective Income Tax Rate Reconciliation Change In State Tax Rate",
        "label": "Change in U.S. state tax rates",
        "verboseLabel": "Change in U.S. state tax rates"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationChangeInStateTaxRate",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "rgen_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Executive Compensation",
        "label": "Effective Income Tax Rate Reconciliation Nondeductible Expense Executive Compensation",
        "verboseLabel": "Executive compensation"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensation",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "rgen_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Effective Income Tax Rate Reconciliation, Return to Provision Adjustments",
        "label": "Effective Income Tax Rate Reconciliation Return to Provision Adjustments",
        "verboseLabel": "Return to provision adjustments"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustments",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "rgen_EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTax": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Effective income tax rate reconciliation change in rate due to transition tax attributable to the Tax Cuts and Jobs Act of 2017.",
        "label": "Effective Income Tax Rate Reconciliation Tax Cuts and Jobs Act of 2017 Transition Tax",
        "terseLabel": "Transition tax"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTax",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "rgen_EngineeredMoldingTechnologyLlcMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Engineered Molding Technology LLC",
        "label": "Engineered Molding Technology LLC [Member]",
        "terseLabel": "Engineered Molding Technology LLC"
       }
      }
     },
     "localname": "EngineeredMoldingTechnologyLlcMember",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/role/AcquisitionsEstimatedUsefulLifeAndFairValueDetail",
      "http://www.repligencorp.com/role/AcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/role/AcquisitionsTables"
     ],
     "xbrltype": "domainItemType"
    },
    "rgen_FacilityAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Facility [Axis]"
       }
      }
     },
     "localname": "FacilityAxis",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheetAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "rgen_FacilityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Facility [Domain]"
       }
      }
     },
     "localname": "FacilityDomain",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheetAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "rgen_FederalAndStateMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Federal and State [Member]",
        "label": "Federal and State [Member]",
        "terseLabel": "Federal and State"
       }
      }
     },
     "localname": "FederalAndStateMember",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "rgen_FiltrationProductsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Filtration Products [Member]",
        "label": "Filtration Products [Member]"
       }
      }
     },
     "localname": "FiltrationProductsMember",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfProductRevenuesByProductLineDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "rgen_FiniteLivedIntangibleLiabilitiesLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Finite-Lived Intangible Liabilities [Line Items]",
        "label": "Finite Lived Intangible Liabilities [Line Items]",
        "terseLabel": "Finite-Lived Intangible Liabilities [Line Items]",
        "verboseLabel": "Finite-Lived Intangible Liabilities [Line Items]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleLiabilitiesLineItems",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/AmortizationExpenseForAmortizedIntangibleAssetsDetail",
      "http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "rgen_ForeignEarningsSubjectToOneTimeTransitionTax": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Foreign Earnings Subject To One Time Transition Tax",
        "label": "Foreign Earnings Subject To One Time Transition Tax",
        "terseLabel": "Foreign earnings subject to one time transition tax"
       }
      }
     },
     "localname": "ForeignEarningsSubjectToOneTimeTransitionTax",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "rgen_FurnitureFixturesAndOfficeEquipmentMemberMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Furniture Fixtures And Office Equipment Member [Member]"
       }
      }
     },
     "localname": "FurnitureFixturesAndOfficeEquipmentMemberMember",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/EstimatedUsefulLifeOfAssetsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "rgen_IncomeTaxRateReconciliationLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Income Tax Rate Reconciliation [Line Items]",
        "label": "Income Tax Rate Reconciliation [Line Items]",
        "terseLabel": "Income Tax Rate Reconciliation [Line Items]"
       }
      }
     },
     "localname": "IncomeTaxRateReconciliationLineItems",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "rgen_IncomeTaxRateReconciliationTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Income Tax Rate Reconciliation [Table]",
        "label": "Income Tax Rate Reconciliation [Table]",
        "terseLabel": "Income Tax Rate Reconciliation [Table]"
       }
      }
     },
     "localname": "IncomeTaxRateReconciliationTable",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "rgen_IncomeTaxReconciliationChangeInForeignTaxRateAmount": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Income Tax Reconciliation, Change in Foreign Tax Rate, Amount.",
        "label": "Income Tax Reconciliation Change in Foreign Tax Rate Amount",
        "verboseLabel": "Change in Netherlands tax rate"
       }
      }
     },
     "localname": "IncomeTaxReconciliationChangeInForeignTaxRateAmount",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "rgen_IncomeTaxReconciliationChangeInStateTaxRate": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Income Tax Reconciliation Change In State Tax Rate",
        "label": "Income Tax Reconciliation Change In State Tax Rate",
        "verboseLabel": "Change in U.S. state tax rates"
       }
      }
     },
     "localname": "IncomeTaxReconciliationChangeInStateTaxRate",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "rgen_IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Income Tax Reconciliation, Nondeductible Expense, Executive Compensation.",
        "label": "Income Tax Reconciliation Nondeductible Expense Executive Compensation",
        "verboseLabel": "Executive compensation"
       }
      }
     },
     "localname": "IncomeTaxReconciliationNondeductibleExpenseExecutiveCompensation",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "rgen_IncomeTaxReconciliationReturnToProvisionAdjustments": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Income Tax Reconciliation Return to Provision Adjustments",
        "label": "Income Tax Reconciliation Return to Provision Adjustments",
        "verboseLabel": "Return to provision adjustments"
       }
      }
     },
     "localname": "IncomeTaxReconciliationReturnToProvisionAdjustments",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "rgen_IncomeTaxesLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Income Taxes [Line Items]",
        "label": "Income Taxes [Line Items]",
        "terseLabel": "Income Taxes [Line Items]"
       }
      }
     },
     "localname": "IncomeTaxesLineItems",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/CurrentDeferredAndEquityIncomeTaxesDetail",
      "http://www.repligencorp.com/role/IncomeTaxesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/ProvisionForIncomeTaxesByJurisdictionDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "rgen_IncomeTaxesTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Income Taxes [Table]",
        "label": "Income Taxes [Table]",
        "terseLabel": "Income Taxes [Table]"
       }
      }
     },
     "localname": "IncomeTaxesTable",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/CurrentDeferredAndEquityIncomeTaxesDetail",
      "http://www.repligencorp.com/role/IncomeTaxesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/ProvisionForIncomeTaxesByJurisdictionDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "rgen_IncreaseDecreaseInOperatingLeaseLiabilities": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents Increase Decrease In operating Lease Liabilities.",
        "label": "Increase Decrease In Operating Lease Liabilities",
        "terseLabel": "Increase in operating lease liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingLeaseLiabilities",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/LeasesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "rgen_IncreaseDecreaseInRightOfUseAssets": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents Increase Decrease In Right Of Use Assets And Lease Liabilities.",
        "label": "Increase Decrease In Right Of Use Assets",
        "terseLabel": "Increase in right of use asset"
       }
      }
     },
     "localname": "IncreaseDecreaseInRightOfUseAssets",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/LeasesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "rgen_IncreasedecreaseInOperatingLeaseLiability": {
     "auth_ref": [],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 23.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in operating lease liability.",
        "label": "Increase Decrease in Operating Lease Liability",
        "terseLabel": "Operating lease liability"
       }
      }
     },
     "localname": "IncreasedecreaseInOperatingLeaseLiability",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "rgen_IncreasedecreaseInOperatingLeaseRightOfUseAsset": {
     "auth_ref": [],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 22.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in operating lease right of use asset.",
        "label": "Increase Decrease in Operating Lease Right Of Use Asset",
        "negatedLabel": "Operating lease right of use assets"
       }
      }
     },
     "localname": "IncreasedecreaseInOperatingLeaseRightOfUseAsset",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "rgen_IndefiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indefinite Lived Intangible Assets Accumulated Amortization",
        "label": "Indefinite Lived Intangible Assets Accumulated Amortization",
        "terseLabel": "Accumulated Amortization"
       }
      }
     },
     "localname": "IndefiniteLivedIntangibleAssetsAccumulatedAmortization",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "rgen_IndefiniteLivedIntangibleAssetsNet": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indefinite Lived Intangible Assets Net",
        "label": "Indefinite Lived Intangible Assets Net",
        "verboseLabel": "Net Carrying Value"
       }
      }
     },
     "localname": "IndefiniteLivedIntangibleAssetsNet",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "rgen_IntangibleAssetsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Intangible Assets [Line Items]",
        "label": "Intangible Assets [Line Items]",
        "terseLabel": "Intangible Assets [Line Items]"
       }
      }
     },
     "localname": "IntangibleAssetsLineItems",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "rgen_MarlboroughMassachusettsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Marlborough Massachusetts [Member]",
        "terseLabel": "Marlborough Massachusetts [Member]"
       }
      }
     },
     "localname": "MarlboroughMassachusettsMember",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/LeasesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "rgen_MilliporeSigmaMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Millipore Sigma.",
        "label": "Millipore Sigma [Member]",
        "terseLabel": "MilliporeSigma"
       }
      }
     },
     "localname": "MilliporeSigmaMember",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/PercentageOfRevenueFromSignificantCustomersDetail",
      "http://www.repligencorp.com/role/RevenueFromSignificantCustomersDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "rgen_NGLImpactAMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "NGL Impact A[Member]",
        "label": "NGL Impact A [Member]"
       }
      }
     },
     "localname": "NGLImpactAMember",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "rgen_NonCashEffectOfAdoptionOfAsu201616": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Non-cash effect of adoption of ASU 2016-16.",
        "label": "Non Cash Effect Of Adoption Of ASU 201616",
        "verboseLabel": "Non-cash effect of adoption of ASU 2016-16"
       }
      }
     },
     "localname": "NonCashEffectOfAdoptionOfAsu201616",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "rgen_NonEmployeeDirectorStockOptionMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Non Employee Director Stock Option[Member]",
        "label": "Non Employee Director Stock Option[Member]",
        "terseLabel": "Non-Employee Directors"
       }
      }
     },
     "localname": "NonEmployeeDirectorStockOptionMember",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "rgen_NonExecutiveMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Non-Executive [Member]",
        "label": "Non-Executive [Member]",
        "terseLabel": "Awards Granted to Non-Executive Level Employees"
       }
      }
     },
     "localname": "NonExecutiveMember",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfOptionActivityParentheticalDetail",
      "http://www.repligencorp.com/role/SummaryOfRestrictedStockUnitActivityParentheticalDetail",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "rgen_NonMetallicSolutionsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Non-Metallic Solutions.",
        "label": "Non Metallic Solutions [Member]",
        "terseLabel": "Non-Metallic Solutions",
        "verboseLabel": "NMS"
       }
      }
     },
     "localname": "NonMetallicSolutionsMember",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/role/AcquisitionsEstimatedUsefulLifeAndFairValueDetail",
      "http://www.repligencorp.com/role/AcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/role/AcquisitionsTables",
      "http://www.repligencorp.com/role/ChangesInCarryingValueOfGoodwillDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "rgen_OptionToPurchaseAdditionalDebtFaceAmount": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Option to purchase additional debt face amount.",
        "label": "Option to Purchase Additional Debt Face Amount",
        "verboseLabel": "Additional Notes issued"
       }
      }
     },
     "localname": "OptionToPurchaseAdditionalDebtFaceAmount",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "rgen_OptionToPurchaseCommonStockMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Option To Purchase Common Stock [Member]",
        "label": "Option To Purchase Common Stock [Member]",
        "terseLabel": "Option To Purchase Common Stock"
       }
      }
     },
     "localname": "OptionToPurchaseCommonStockMember",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "rgen_OtherProductsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Other products [Member]",
        "label": "Other products [Member]"
       }
      }
     },
     "localname": "OtherProductsMember",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfProductRevenuesByProductLineDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "rgen_PercentageOfSharesSubjectToForfeiture": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of shares subject to forfeiture.",
        "label": "Percentage of Shares Subject to Forfeiture",
        "terseLabel": "Estimated forfeiture rates"
       }
      }
     },
     "localname": "PercentageOfSharesSubjectToForfeiture",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfOptionActivityParentheticalDetail",
      "http://www.repligencorp.com/role/SummaryOfRestrictedStockUnitActivityParentheticalDetail",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "rgen_PrepaidExpensesAndOtherCurrentAssetsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Prepaid Expenses And Other Current Assets [Line Items]",
        "label": "Prepaid Expenses And Other Current Assets [Line Items]",
        "terseLabel": "Prepaid Expenses And Other Current Assets [Line Items]"
       }
      }
     },
     "localname": "PrepaidExpensesAndOtherCurrentAssetsLineItems",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/PrepaidExpensesAndOtherCurrentAssetsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "rgen_PrepaidExpensesAndOtherCurrentAssetsTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Prepaid Expenses And Other Current Assets [Table]",
        "label": "Prepaid Expenses And Other Current Assets [Table]",
        "terseLabel": "Prepaid Expenses And Other Current Assets [Table]"
       }
      }
     },
     "localname": "PrepaidExpensesAndOtherCurrentAssetsTable",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/PrepaidExpensesAndOtherCurrentAssetsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "rgen_PrepaidServicesAndProfessionalFees": {
     "auth_ref": [],
     "calculation": {
      "http://www.repligencorp.com/role/PrepaidExpensesAndOtherCurrentAssetsDetail": {
       "order": 1.0,
       "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Prepaid Services and Professional Fees",
        "label": "Prepaid Services and Professional Fees",
        "terseLabel": "Equipment maintenance and services"
       }
      }
     },
     "localname": "PrepaidServicesAndProfessionalFees",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/PrepaidExpensesAndOtherCurrentAssetsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "rgen_ProcessAnalyticsProductsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Process Analytics Products [Member]"
       }
      }
     },
     "localname": "ProcessAnalyticsProductsMember",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfProductRevenuesByProductLineDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "rgen_PropertyPlantAndEquipmentRelatedToLeaseIncentives": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Property plant and equipment related to lease incentives.",
        "label": "Property Plant And Equipment Related To Lease Incentives",
        "verboseLabel": "Property, plant and equipment related to lease incentives"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentRelatedToLeaseIncentives",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "rgen_ProteinsProductsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Protein Products [Member]",
        "label": "Proteins Products [Member]"
       }
      }
     },
     "localname": "ProteinsProductsMember",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfProductRevenuesByProductLineDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "rgen_ProvisionForDeferredIncomeTaxExpenseBenefit": {
     "auth_ref": [],
     "calculation": {
      "http://www.repligencorp.com/role/CurrentDeferredAndEquityIncomeTaxesDetail": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Provision for Deferred Income Tax Expense (Benefit)",
        "label": "Provision for Deferred Income Tax Expense (Benefit)",
        "terseLabel": "Deferred"
       }
      }
     },
     "localname": "ProvisionForDeferredIncomeTaxExpenseBenefit",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/CurrentDeferredAndEquityIncomeTaxesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "rgen_QuarterlyFinancialInformationLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Quarterly Financial Information [Line Items]",
        "label": "Quarterly Financial Information [Line Items]",
        "terseLabel": "Quarterly Financial Information [Line Items]"
       }
      }
     },
     "localname": "QuarterlyFinancialInformationLineItems",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfOperationsInformationForEachOfPreviousEightQuartersDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "rgen_QuarterlyFinancialInformationTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Quarterly Financial Information [Table]",
        "label": "Quarterly Financial Information [Table]",
        "terseLabel": "Quarterly Financial Information [Table]"
       }
      }
     },
     "localname": "QuarterlyFinancialInformationTable",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfOperationsInformationForEachOfPreviousEightQuartersDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "rgen_ReconciliationOfBasicAndDilutedAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Reconciliation of basic and diluted.",
        "label": "Reconciliation of Basic and Diluted [Abstract]"
       }
      }
     },
     "localname": "ReconciliationOfBasicAndDilutedAbstract",
     "nsuri": "http://www.repligencorp.com/20201231",
     "xbrltype": "stringItemType"
    },
    "rgen_RgenFacilityAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "RGEN facility axis",
        "label": "RGEN Facility [Axis]"
       }
      }
     },
     "localname": "RgenFacilityAxis",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheetAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "rgen_RgenFacilityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "RGEN facility domain",
        "label": "RGEN Facility [Domain]"
       }
      }
     },
     "localname": "RgenFacilityDomain",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheetAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "rgen_RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Risks and Uncertainties in Entities Business [Policy Text Block]",
        "label": "Risks and Uncertainties in Entities Business [Policy Text Block]",
        "terseLabel": "Risks and Uncertainties"
       }
      }
     },
     "localname": "RisksAndUncertaintiesInEntitiesBusinessPolicyTextBlock",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "rgen_SalesRevenuesGoodsNetMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sales Revenues Goods Net.",
        "label": "Sales Revenues Goods Net [Member]",
        "terseLabel": "Total Revenue"
       }
      }
     },
     "localname": "SalesRevenuesGoodsNetMember",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/PercentageOfRevenueByGeographicAreaDetail",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "xbrltype": "domainItemType"
    },
    "rgen_ScheduleOfAccruedLiabilitiesLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of Accrued Liabilities [Line Items]",
        "label": "Schedule of Accrued Liabilities [Line Items]",
        "terseLabel": "Schedule of Accrued Liabilities [Line Items]"
       }
      }
     },
     "localname": "ScheduleOfAccruedLiabilitiesLineItems",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ScheduleOfAccruedLiabilitiesDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "rgen_ScheduleOfAccruedLiabilitiesTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of Accrued Liabilities [Table]",
        "label": "Schedule of Accrued Liabilities [Table]",
        "terseLabel": "Schedule of Accrued Liabilities [Table]"
       }
      }
     },
     "localname": "ScheduleOfAccruedLiabilitiesTable",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ScheduleOfAccruedLiabilitiesDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "rgen_ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of business combination consideration transferred.",
        "label": "Schedule of Business Combination Consideration Transferred [Table Text Block]",
        "terseLabel": "Schedule of Business Combination Consideration Transferred"
       }
      }
     },
     "localname": "ScheduleOfBusinessCombinationConsiderationTransferredTableTextBlock",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "rgen_ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of cash and cash equivalents and restricted cash.",
        "label": "Schedule Of Cash And Cash Equivalents And Restricted Cash [Table Text Block]",
        "verboseLabel": "Schedule of Cash, Cash Equivalents and Restricted Cash"
       }
      }
     },
     "localname": "ScheduleOfCashAndCashEquivalentsAndRestrictedCashTableTextBlock",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of Deferred Tax Assets and Liabilities [Line Items]",
        "label": "Schedule of Deferred Tax Assets and Liabilities [Line Items]",
        "terseLabel": "Schedule of Deferred Tax Assets and Liabilities [Line Items]"
       }
      }
     },
     "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesLineItems",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "rgen_ScheduleOfDeferredTaxAssetsAndLiabilitiesTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of Deferred Tax Assets and Liabilities [Table]",
        "label": "Schedule of Deferred Tax Assets and Liabilities [Table]",
        "terseLabel": "Schedule of Deferred Tax Assets and Liabilities [Table]"
       }
      }
     },
     "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTable",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "rgen_ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of discount rate and remaining lease term of operating and financial leases.",
        "label": "Schedule Of Discount Rate And Lease Term Used In Calculating Lease Liabilities And Assets [Table Text Block]",
        "terseLabel": "Schedule Of Discount Rate And Lease Term Used In Calculating Lease Liabilities And Assets"
       }
      }
     },
     "localname": "ScheduleOfDiscountRateAndLeaseTermUsedInCalculatingLeaseLiabilitiesAndAssetsTableTextBlock",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/LeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "rgen_ScheduleOfEarningsPerShareBasicAndDilutedLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule Of Earnings Per Share Basic And Diluted [Line Items]",
        "label": "Schedule Of Earnings Per Share Basic And Diluted [Line Items]",
        "terseLabel": "Schedule Of Earnings Per Share Basic And Diluted [Line Items]"
       }
      }
     },
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedLineItems",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfBasicAndDilutedSharesAmountsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "rgen_ScheduleOfEarningsPerShareBasicAndDilutedTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule Of Earnings Per Share Basic And Diluted [Table]",
        "label": "Schedule Of Earnings Per Share Basic And Diluted [Table]"
       }
      }
     },
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTable",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfBasicAndDilutedSharesAmountsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "rgen_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule Of Finite Lived And Indefinite Lived Intangible Assets [Table Text Block]",
        "label": "Schedule Of Finite Lived And Indefinite Lived Intangible Assets [Table Text Block]",
        "verboseLabel": "Intangible assets"
       }
      }
     },
     "localname": "ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsTableTextBlock",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "rgen_ScheduleOfIncomeBeforeIncomeTaxLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of Income Before Income Tax [Line Items]",
        "label": "Schedule of Income Before Income Tax [Line Items]",
        "terseLabel": "Schedule of Income Before Income Tax [Line Items]"
       }
      }
     },
     "localname": "ScheduleOfIncomeBeforeIncomeTaxLineItems",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/IncomeBeforeIncomeTaxesDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "rgen_ScheduleOfIncomeBeforeIncomeTaxTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of Income Before Income Tax [Table]",
        "label": "Schedule of Income Before Income Tax [Table]",
        "terseLabel": "Schedule of Income Before Income Tax [Table]"
       }
      }
     },
     "localname": "ScheduleOfIncomeBeforeIncomeTaxTable",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/IncomeBeforeIncomeTaxesDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "rgen_ScheduleOfIntangibleAssetsTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of Intangible Assets [Table]",
        "label": "Schedule of Intangible Assets [Table]",
        "terseLabel": "Schedule of Intangible Assets [Table]"
       }
      }
     },
     "localname": "ScheduleOfIntangibleAssetsTable",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "rgen_ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule Of Property And Equipment Useful Lives Table [Text Block]",
        "label": "Schedule Of Property And Equipment Useful Lives [Table Text Block]",
        "terseLabel": "Property, Plant and Equipment"
       }
      }
     },
     "localname": "ScheduleOfPropertyAndEquipmentUsefulLivesTableTextBlock",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "rgen_ScheduleOfRevenueByMajorCustomersTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule Of Revenue By Major Customers [Table Text Block]",
        "label": "Schedule Of Revenue By Major Customers [Table Text Block]",
        "verboseLabel": "Revenue from Significant Customers"
       }
      }
     },
     "localname": "ScheduleOfRevenueByMajorCustomersTableTextBlock",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/RevenueRecognitionTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "rgen_ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of supplemental disclosure for the consolidated statements of cash flows related to operating leases",
        "label": "Schedule Of Supplemental Disclosure Of Cash Flows Related To Operating Leases [Table Text Block]",
        "verboseLabel": "Schedule Of Supplemental Disclosure Of Cash Flows Related To Operating Leases"
       }
      }
     },
     "localname": "ScheduleOfSupplementalDisclosureOfCashFlowsRelatedToOperatingLeasesTableTextBlock",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/LeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Vested And Expected To Vest Number",
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Vested And Expected To Vest Number",
        "terseLabel": "Vested and expected to vest at December 31, 2020"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestNumber",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfRestrictedStockUnitActivityDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share based Compensation Arrangement by Share based Payment Award, Equity Instruments Other Than Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value",
        "label": "Share based Compensation Arrangement by Share based Payment Award, Equity Instruments Other Than Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value",
        "terseLabel": "Vested and expected to vest at December 31, 2020"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfRestrictedStockUnitActivityDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share Based Compensation Arrangement by Share Based Payment Award Equity Instruments Other Than Options Vested and Expected to Vest Outstanding Weighted Average Remaining Contractual Term",
        "label": "Share Based Compensation Arrangement by Share Based Payment Award Equity Instruments Other Than Options Vested and Expected to Vest Outstanding Weighted Average Remaining Contractual Term",
        "terseLabel": "Vested and expected to vest at December 31, 2020"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfRestrictedStockUnitActivityDetail"
     ],
     "xbrltype": "durationItemType"
    },
    "rgen_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Aggregate Intrinsic Value [Abstract]",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Aggregate Intrinsic Value [Abstract]",
        "terseLabel": "Aggregate Intrinsic Value"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfOptionActivityDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "rgen_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based Compensation Arrangement by Share-based Payment Award, Options and Equity Instruments Other Than Options, Nonvested, Number of Shares",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options and Equity Instruments Other Than Options, Nonvested, Number of Shares",
        "terseLabel": "Number of unvested options and restricted stock units"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsNonvestedNumberOfShares",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "rgen_SpectrumIncMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Spectrum Inc.",
        "label": "Spectrum Inc [Member]",
        "terseLabel": "Spectrum Inc."
       }
      }
     },
     "localname": "SpectrumIncMember",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ChangesInCarryingValueOfGoodwillDetail",
      "http://www.repligencorp.com/role/RelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "rgen_StockOptionAndIncentivePlanMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock Option and Incentive Plan [Member]",
        "label": "Stock Option And Incentive Plan [Member]",
        "terseLabel": "2018 Plan"
       }
      }
     },
     "localname": "StockOptionAndIncentivePlanMember",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "rgen_StockholdersEquityNoteDisclosureLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stockholders Equity Note Disclosure [Line Items]",
        "label": "Stockholders Equity Note Disclosure [Line Items]",
        "terseLabel": "Stockholders Equity Note Disclosure [Line Items]"
       }
      }
     },
     "localname": "StockholdersEquityNoteDisclosureLineItems",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "rgen_StockholdersEquityNoteDisclosureTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stockholders Equity Note Disclosure [Table]",
        "label": "Stockholders Equity Note Disclosure [Table]",
        "terseLabel": "Stockholders Equity Note Disclosure [Table]"
       }
      }
     },
     "localname": "StockholdersEquityNoteDisclosureTable",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "rgen_SummaryOfSignificantAccountingPoliciesLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Summary Of Significant Accounting Policies [Line Items]",
        "label": "Summary Of Significant Accounting Policies [Line Items]",
        "terseLabel": "Summary Of Significant Accounting Policies [Line Items]"
       }
      }
     },
     "localname": "SummaryOfSignificantAccountingPoliciesLineItems",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "rgen_SummaryOfSignificantAccountingPoliciesTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Summary Of Significant Accounting Policies [Table]",
        "label": "Summary Of Significant Accounting Policies [Table]",
        "terseLabel": "Summary Of Significant Accounting Policies [Table]"
       }
      }
     },
     "localname": "SummaryOfSignificantAccountingPoliciesTable",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "rgen_TaxYear2040Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tax Year 2040.",
        "label": "Tax Year 2040 [Member]",
        "terseLabel": "Tax Year 2040"
       }
      }
     },
     "localname": "TaxYear2040Member",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "rgen_TransitionTaxForAccumulatedForeignEarningsProvisionalIncomeTaxExpense": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Transition tax for accumulated foreign earnings, provisional income tax expense.",
        "label": "Transition Tax for Accumulated Foreign Earnings Provisional Income Tax Expense",
        "verboseLabel": "Transition tax"
       }
      }
     },
     "localname": "TransitionTaxForAccumulatedForeignEarningsProvisionalIncomeTaxExpense",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "rgen_TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Two Point One Two Five Percentage Convertible Senior Notes Due Twenty Twenty One [Member]",
        "label": "Two Point One Two Five Percentage Convertible Senior Notes Due Twenty Twenty One [Member]",
        "terseLabel": "2.125% Convertible Senior Notes due 2021"
       }
      }
     },
     "localname": "TwoPointOneTwoFivePercentageConvertibleSeniorNotesDueTwentyTwentyOneMember",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "rgen_UncategorizedAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Uncategorized [Abstract]",
        "label": "Uncategorized [Abstract]"
       }
      }
     },
     "localname": "UncategorizedAbstract",
     "nsuri": "http://www.repligencorp.com/20201231",
     "xbrltype": "stringItemType"
    },
    "rgen_UnderwriterMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Underwriter.",
        "label": "Underwriter [Member]",
        "terseLabel": "Underwriters"
       }
      }
     },
     "localname": "UnderwriterMember",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "rgen_UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Unrecognized Tax Benefits, Period Gross Decreases Release",
        "label": "Unrecognized Tax Benefits, Period Gross Decreases Release",
        "negatedLabel": "Gross amounts of decrease due to release"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsPeriodGrossDecreasesRelease",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfUnrecognizedTaxBenefitsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "rgen_VariableOperatingLeaseCost": {
     "auth_ref": [],
     "calculation": {
      "http://www.repligencorp.com/role/LeasesConsolidatedStatementsOfComprehensiveIncomeDetail": {
       "order": 2.0,
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of variable lease cost, excluded from lease liability, recognized when obligation for payment is incurred for operating leases.",
        "label": "Variable Operating Lease cost",
        "terseLabel": "Variable operating lease cost"
       }
      }
     },
     "localname": "VariableOperatingLeaseCost",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/LeasesConsolidatedStatementsOfComprehensiveIncomeDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "rgen_ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Zero Point Three Seven Five Percent Convertible Senior Notes Due Twenty Twenty Four [Member]",
        "terseLabel": "0.375% Convertible Senior Notes due 2024"
       }
      }
     },
     "localname": "ZeroPointThreeSevenFivePercentConvertibleSeniorNotesDueTwentyTwentyFourMember",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "rgen_ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Zero Point Three Seven Five Percentage Convertible Senior Notes Due Twenty Twenty Four [Member]",
        "verboseLabel": "0.375% Convertible Senior Notes due 2024"
       }
      }
     },
     "localname": "ZeroPointThreeSevenFivePercentageConvertibleSeniorNotesDueTwentyTwentyFourMember",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquityParenthetical",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "rgen_ZeropointthreesevenfivepercentageconvertibleseniornotesduetwentytwentyfourmemberMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Zero pointthree seven five percentage convertible senior notes due twenty twenty four member",
        "label": "0.375%Convertible Senior Notes due 2024"
       }
      }
     },
     "localname": "ZeropointthreesevenfivepercentageconvertibleseniornotesduetwentytwentyfourmemberMember",
     "nsuri": "http://www.repligencorp.com/20201231",
     "presentation": [
      "http://www.repligencorp.com/role/CarryingValueOfConvertibleSeniorNotesDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_EuropeMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Europe [Member]",
        "terseLabel": "Europe"
       }
      }
     },
     "localname": "EuropeMember",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/LongLivedAssetsByGeographicAreaDetail",
      "http://www.repligencorp.com/role/PercentageOfRevenueByGeographicAreaDetail",
      "http://www.repligencorp.com/role/TotalAssetsByGeographicAreaDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ExecutiveOfficerMember": {
     "auth_ref": [
      "r218"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Executive Officer [Member]",
        "terseLabel": "Awards Granted to Executive Level Employees"
       }
      }
     },
     "localname": "ExecutiveOfficerMember",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfOptionActivityParentheticalDetail",
      "http://www.repligencorp.com/role/SummaryOfRestrictedStockUnitActivityParentheticalDetail",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MajorCustomersAxis": {
     "auth_ref": [
      "r217",
      "r328",
      "r333",
      "r685"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Axis]",
        "terseLabel": "Customer [Axis]"
       }
      }
     },
     "localname": "MajorCustomersAxis",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/PercentageOfRevenueFromSignificantCustomersDetail",
      "http://www.repligencorp.com/role/RevenueFromSignificantCustomersDetail",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_MaximumMember": {
     "auth_ref": [
      "r416",
      "r421",
      "r617",
      "r618",
      "r619",
      "r620",
      "r621",
      "r622",
      "r623",
      "r682",
      "r686"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum [Member]",
        "terseLabel": "Maximum"
       }
      }
     },
     "localname": "MaximumMember",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CommitmentsAndContingenciesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/EstimatedUsefulLifeOfAssetsDetail",
      "http://www.repligencorp.com/role/EstimatedWeightedAverageAssumptionsDetail",
      "http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MinimumMember": {
     "auth_ref": [
      "r416",
      "r421",
      "r617",
      "r618",
      "r619",
      "r620",
      "r621",
      "r622",
      "r623",
      "r682",
      "r686"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum [Member]",
        "terseLabel": "Minimum"
       }
      }
     },
     "localname": "MinimumMember",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CommitmentsAndContingenciesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/EmployeeBenefitPlansAdditionalInformationDetail",
      "http://www.repligencorp.com/role/EstimatedUsefulLifeOfAssetsDetail",
      "http://www.repligencorp.com/role/EstimatedWeightedAverageAssumptionsDetail",
      "http://www.repligencorp.com/role/RelatedPartyTransactionsAdditionalInformationDetail",
      "http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_NameOfMajorCustomerDomain": {
     "auth_ref": [
      "r217",
      "r328",
      "r333",
      "r685"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Domain]",
        "terseLabel": "Customer [Domain]"
       }
      }
     },
     "localname": "NameOfMajorCustomerDomain",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/PercentageOfRevenueFromSignificantCustomersDetail",
      "http://www.repligencorp.com/role/RevenueFromSignificantCustomersDetail",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_NorthAmericaMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "North America [Member]",
        "terseLabel": "North America"
       }
      }
     },
     "localname": "NorthAmericaMember",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/LongLivedAssetsByGeographicAreaDetail",
      "http://www.repligencorp.com/role/PercentageOfRevenueByGeographicAreaDetail",
      "http://www.repligencorp.com/role/TotalAssetsByGeographicAreaDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_OwnershipAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Ownership [Axis]"
       }
      }
     },
     "localname": "OwnershipAxis",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/RelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_OwnershipDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Ownership [Domain]"
       }
      }
     },
     "localname": "OwnershipDomain",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/RelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ProductOrServiceAxis": {
     "auth_ref": [
      "r214",
      "r328",
      "r331",
      "r624",
      "r681",
      "r683"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Axis]"
       }
      }
     },
     "localname": "ProductOrServiceAxis",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CommitmentsAndContingenciesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfOperationsInformationForEachOfPreviousEightQuartersDetail",
      "http://www.repligencorp.com/role/SummaryOfDisaggregationOfProductRevenuesFromContractsWithCustomersByMajorProductLineDetail",
      "http://www.repligencorp.com/role/SummaryOfProductRevenuesByProductLineDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ProductsAndServicesDomain": {
     "auth_ref": [
      "r214",
      "r328",
      "r331",
      "r624",
      "r681",
      "r683"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Domain]"
       }
      }
     },
     "localname": "ProductsAndServicesDomain",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CommitmentsAndContingenciesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfOperationsInformationForEachOfPreviousEightQuartersDetail",
      "http://www.repligencorp.com/role/SummaryOfDisaggregationOfProductRevenuesFromContractsWithCustomersByMajorProductLineDetail",
      "http://www.repligencorp.com/role/SummaryOfProductRevenuesByProductLineDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RangeAxis": {
     "auth_ref": [
      "r367",
      "r416",
      "r421",
      "r617",
      "r618",
      "r619",
      "r620",
      "r621",
      "r622",
      "r623",
      "r682",
      "r686"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Range [Axis]",
        "terseLabel": "Range [Axis]"
       }
      }
     },
     "localname": "RangeAxis",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/role/CommitmentsAndContingenciesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/EmployeeBenefitPlansAdditionalInformationDetail",
      "http://www.repligencorp.com/role/EstimatedUsefulLifeOfAssetsDetail",
      "http://www.repligencorp.com/role/EstimatedWeightedAverageAssumptionsDetail",
      "http://www.repligencorp.com/role/RelatedPartyTransactionsAdditionalInformationDetail",
      "http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_RangeMember": {
     "auth_ref": [
      "r367",
      "r416",
      "r421",
      "r617",
      "r618",
      "r619",
      "r620",
      "r621",
      "r622",
      "r623",
      "r682",
      "r686"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Range [Domain]",
        "terseLabel": "Range [Domain]"
       }
      }
     },
     "localname": "RangeMember",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/role/CommitmentsAndContingenciesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/EmployeeBenefitPlansAdditionalInformationDetail",
      "http://www.repligencorp.com/role/EstimatedUsefulLifeOfAssetsDetail",
      "http://www.repligencorp.com/role/EstimatedWeightedAverageAssumptionsDetail",
      "http://www.repligencorp.com/role/RelatedPartyTransactionsAdditionalInformationDetail",
      "http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_SegmentGeographicalDomain": {
     "auth_ref": [
      "r215",
      "r216",
      "r328",
      "r332",
      "r684",
      "r708",
      "r709",
      "r710",
      "r711",
      "r712",
      "r713",
      "r714",
      "r715"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Domain]",
        "terseLabel": "Geographical [Domain]"
       }
      }
     },
     "localname": "SegmentGeographicalDomain",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/IncomeTaxesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/LongLivedAssetsByGeographicAreaDetail",
      "http://www.repligencorp.com/role/PercentageOfRevenueByGeographicAreaDetail",
      "http://www.repligencorp.com/role/SummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail",
      "http://www.repligencorp.com/role/TotalAssetsByGeographicAreaDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_StatementGeographicalAxis": {
     "auth_ref": [
      "r215",
      "r216",
      "r328",
      "r332",
      "r684",
      "r703",
      "r708",
      "r709",
      "r710",
      "r711",
      "r712",
      "r713",
      "r714",
      "r715",
      "r716"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Axis]",
        "terseLabel": "Geographical [Axis]"
       }
      }
     },
     "localname": "StatementGeographicalAxis",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/IncomeTaxesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/LongLivedAssetsByGeographicAreaDetail",
      "http://www.repligencorp.com/role/PercentageOfRevenueByGeographicAreaDetail",
      "http://www.repligencorp.com/role/SummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail",
      "http://www.repligencorp.com/role/TotalAssetsByGeographicAreaDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_TitleOfIndividualAxis": {
     "auth_ref": [
      "r218",
      "r609"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of Individual [Axis]",
        "terseLabel": "Title of Individual [Axis]"
       }
      }
     },
     "localname": "TitleOfIndividualAxis",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/role/RelatedPartyTransactionsAdditionalInformationDetail",
      "http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail",
      "http://www.repligencorp.com/role/SummaryOfOptionActivityParentheticalDetail",
      "http://www.repligencorp.com/role/SummaryOfRestrictedStockUnitActivityParentheticalDetail",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_TitleOfIndividualWithRelationshipToEntityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of Individual [Domain]",
        "terseLabel": "Relationship to Entity [Domain]",
        "verboseLabel": "Title of Individual [Domain]"
       }
      }
     },
     "localname": "TitleOfIndividualWithRelationshipToEntityDomain",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/role/RelatedPartyTransactionsAdditionalInformationDetail",
      "http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail",
      "http://www.repligencorp.com/role/SummaryOfOptionActivityParentheticalDetail",
      "http://www.repligencorp.com/role/SummaryOfRestrictedStockUnitActivityParentheticalDetail",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountingPoliciesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Policies [Abstract]"
       }
      }
     },
     "localname": "AccountingPoliciesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountingStandardsUpdate201606Member": {
     "auth_ref": [
      "r561"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accounting Standards Update 2016-06 Derivatives and Hedging (Topic 815): Contingent Put and Call Options in Debt Instruments (a consensus of the FASB Emerging Issues Task Force).",
        "label": "Accounting Standards Update 2016-06 [Member]"
       }
      }
     },
     "localname": "AccountingStandardsUpdate201606Member",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountsPayableCurrent": {
     "auth_ref": [
      "r51"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets": {
       "order": 9.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accounts Payable, Current",
        "terseLabel": "Accounts payable"
       }
      }
     },
     "localname": "AccountsPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock": {
     "auth_ref": [
      "r240"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of allowance for credit loss on accounts receivable.",
        "label": "Accounts Receivable, Allowance for Credit Loss [Table Text Block]",
        "terseLabel": "Summary Of Allowance For Credit Losses For Accounts Receivables"
       }
      }
     },
     "localname": "AccountsReceivableAllowanceForCreditLossTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CreditLossesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_AccountsReceivableMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Due from customers or clients for goods or services that have been delivered or sold.",
        "label": "Accounts Receivable [Member]"
       }
      }
     },
     "localname": "AccountsReceivableMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "auth_ref": [
      "r3",
      "r29",
      "r219",
      "r220"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets": {
       "order": 19.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.",
        "label": "Accounts Receivable, Net, Current",
        "terseLabel": "Accounts receivable, net of reserves of $762 and $525 at December 31, 2020 and December 31, 2019, respectively",
        "verboseLabel": "Accounts receivable"
       }
      }
     },
     "localname": "AccountsReceivableNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/role/CreditLossesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/SummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedIncomeTaxesCurrent": {
     "auth_ref": [
      "r22",
      "r647",
      "r667"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ScheduleOfAccruedLiabilitiesDetail": {
       "order": 2.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all currently due domestic and foreign income tax obligations.",
        "label": "Accrued Income Taxes, Current",
        "terseLabel": "Taxes"
       }
      }
     },
     "localname": "AccruedIncomeTaxesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ScheduleOfAccruedLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "auth_ref": [
      "r54"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets": {
       "order": 10.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      },
      "http://www.repligencorp.com/role/ScheduleOfAccruedLiabilitiesDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued Liabilities, Current",
        "terseLabel": "Accrued liabilities",
        "totalLabel": "Total accrued liabilities"
       }
      }
     },
     "localname": "AccruedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/role/ScheduleOfAccruedLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedProfessionalFeesCurrent": {
     "auth_ref": [
      "r12",
      "r14",
      "r54"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ScheduleOfAccruedLiabilitiesDetail": {
       "order": 4.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for professional fees, such as for legal and accounting services received. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued Professional Fees, Current",
        "terseLabel": "Professional fees"
       }
      }
     },
     "localname": "AccruedProfessionalFeesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ScheduleOfAccruedLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedRoyaltiesCurrent": {
     "auth_ref": [
      "r12",
      "r14",
      "r54"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ScheduleOfAccruedLiabilitiesDetail": {
       "order": 3.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for royalties. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued Royalties, Current",
        "terseLabel": "Royalty and license fees"
       }
      }
     },
     "localname": "AccruedRoyaltiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ScheduleOfAccruedLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "auth_ref": [
      "r49",
      "r289"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/PropertyPlantAndEquipmentDetail": {
       "order": 1.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.",
        "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment",
        "negatedLabel": "Less - Accumulated depreciation"
       }
      }
     },
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/PropertyPlantAndEquipmentDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax": {
     "auth_ref": [
      "r70",
      "r73",
      "r74",
      "r75",
      "r569"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated adjustment, net of tax, that results from the process of translating subsidiary financial statements and foreign equity investments into the reporting currency from the functional currency of the reporting entity, net of reclassification of realized foreign currency translation gains or losses.",
        "label": "Accumulated Other Comprehensive Income (Loss), Foreign Currency Translation Adjustment, Net of Tax",
        "terseLabel": "Translation adjustment"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Accumulated Other Comprehensive Income (Loss) [Line Items]",
        "terseLabel": "Accumulated Other Comprehensive Income (Loss) [Line Items]"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeLossLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ChangeInChangeInAccumulatedOtherComprehensiveLossDetailDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "auth_ref": [
      "r32",
      "r73",
      "r74",
      "r75",
      "r670",
      "r694",
      "r698"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.",
        "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax",
        "terseLabel": "Accumulated other comprehensive income (loss)"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossTable": {
     "auth_ref": [
      "r575",
      "r576",
      "r577",
      "r578",
      "r579",
      "r581"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about components of accumulated other comprehensive income (loss).",
        "label": "Accumulated Other Comprehensive Income (Loss) [Table]",
        "terseLabel": "Accumulated Other Comprehensive Income (Loss) [Table]"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeLossTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ChangeInChangeInAccumulatedOtherComprehensiveLossDetailDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "auth_ref": [
      "r72",
      "r75",
      "r76",
      "r139",
      "r140",
      "r141",
      "r555",
      "r689",
      "r690"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners.",
        "label": "AOCI Attributable to Parent [Member]",
        "terseLabel": "Accumulated Other Comprehensive Income (Loss)"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccumulatedTranslationAdjustmentMember": {
     "auth_ref": [
      "r71",
      "r75",
      "r76",
      "r555",
      "r576",
      "r577",
      "r578",
      "r579",
      "r581"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated other comprehensive income (loss) resulting from foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to the parent.",
        "label": "Accumulated Foreign Currency Adjustment Attributable to Parent [Member]",
        "verboseLabel": "Foreign Currency Translation Adjustment"
       }
      }
     },
     "localname": "AccumulatedTranslationAdjustmentMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ChangeInChangeInAccumulatedOtherComprehensiveLossDetailDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AcquiredFiniteLivedIntangibleAssetResidualValue": {
     "auth_ref": [
      "r273"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate expected value at the end of their useful life of a major finite-lived intangible asset class acquired during the period either individually or as part of a group of assets (in either an asset acquisition or business combination). A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company.",
        "label": "Acquired Finite-lived Intangible Asset, Residual Value",
        "verboseLabel": "Intangible Asset Residual Value"
       }
      }
     },
     "localname": "AcquiredFiniteLivedIntangibleAssetResidualValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife": {
     "auth_ref": [
      "r274"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Acquired Finite-lived Intangible Assets, Weighted Average Useful Life",
        "verboseLabel": "Weighted Average Useful Life (in years)"
       }
      }
     },
     "localname": "AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsEstimatedUsefulLifeAndFairValueDetail"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_AdditionalPaidInCapitalCommonStock": {
     "auth_ref": [
      "r30"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.",
        "label": "Additional Paid in Capital, Common Stock",
        "terseLabel": "Additional paid-in capital"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "auth_ref": [
      "r139",
      "r140",
      "r141",
      "r459",
      "r460",
      "r461"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders.",
        "label": "Additional Paid-in Capital [Member]",
        "terseLabel": "Additional Paid-in Capital"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdjustmentsForNewAccountingPronouncementsAxis": {
     "auth_ref": [
      "r142",
      "r143",
      "r144",
      "r145",
      "r224",
      "r225",
      "r226",
      "r227",
      "r228",
      "r229",
      "r455",
      "r456",
      "r457",
      "r458",
      "r459",
      "r460",
      "r461",
      "r462",
      "r505",
      "r506",
      "r507",
      "r508",
      "r626",
      "r627",
      "r628",
      "r687",
      "r688",
      "r689",
      "r690",
      "r691",
      "r692",
      "r693",
      "r694",
      "r695",
      "r696",
      "r697",
      "r698"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by amendment to accounting standards.",
        "label": "Adjustments for New Accounting Pronouncements [Axis]",
        "terseLabel": "Adjustments for New Accounting Pronouncements [Axis]"
       }
      }
     },
     "localname": "AdjustmentsForNewAccountingPronouncementsAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/role/CommitmentsAndContingenciesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/IncomeTaxesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/LeasesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/LeasesTables",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of decrease to equity for grantee's tax withholding obligation for award under share-based payment arrangement.",
        "label": "Share-based Payment Arrangement, Decrease for Tax Withholding Obligation",
        "negatedLabel": "Tax withholding on vesting of restricted stock units"
       }
      }
     },
     "localname": "AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt": {
     "auth_ref": [
      "r300"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Adjustment to additional paid in capital resulting from the recognition of convertible debt instruments as two separate components - a debt component and an equity component. This bifurcation may result in a basis difference associated with the liability component that represents a temporary difference for purposes of applying accounting for income taxes. The initial recognition of deferred taxes for the tax effect of that temporary difference is as an adjustment to additional paid in capital.",
        "label": "Adjustments to Additional Paid in Capital, Equity Component of Convertible Debt",
        "terseLabel": "Equity component of 0.375% senior convertible notes, net of tax"
       }
      }
     },
     "localname": "AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "auth_ref": [
      "r423",
      "r425",
      "r465",
      "r466"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.",
        "label": "Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition",
        "verboseLabel": "Stock-based compensation expense"
       }
      }
     },
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts": {
     "auth_ref": [
      "r309",
      "r315"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of decrease in additional paid in capital (APIC) resulting from direct costs associated with issuing stock. Includes, but is not limited to, legal and accounting fees and direct costs associated with stock issues under a shelf registration.",
        "label": "Adjustments to Additional Paid in Capital, Stock Issued, Issuance Costs",
        "presentationGuidance": "Proceeds from issuance of common stock,issuance costs"
       }
      }
     },
     "localname": "AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquityParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]",
        "terseLabel": "Adjustments to reconcile net income to net cash provided by operating activities:"
       }
      }
     },
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AdvertisingCostsPolicyTextBlock": {
     "auth_ref": [
      "r468"
     ],
     "lang": {
      "en-us": {
       "role": {
        "definitionGuidance": "Advertising Costs",
        "documentation": "Disclosure of accounting policy for advertising cost.",
        "label": "Advertising Costs, Policy [Policy Text Block]"
       }
      }
     },
     "localname": "AdvertisingCostsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_AdvertisingExpense": {
     "auth_ref": [
      "r469"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount charged to advertising expense for the period, which are expenses incurred with the objective of increasing revenue for a specified brand, product or product line.",
        "label": "Advertising Expense"
       }
      }
     },
     "localname": "AdvertisingExpense",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivable": {
     "auth_ref": [
      "r221",
      "r233",
      "r236",
      "r239"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of allowance for credit loss on accounts receivable.",
        "label": "Accounts Receivable, Allowance for Credit Loss",
        "negatedPeriodEndLabel": "Ending balance",
        "negatedPeriodStartLabel": "Beginning balance"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CreditLossesSummaryOfAllowanceForCreditLossesForAccountsReceivablesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "auth_ref": [
      "r36",
      "r221",
      "r233"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current.",
        "label": "Allowance for Doubtful Accounts Receivable, Current",
        "terseLabel": "Accounts receivable, reserve for doubtful accounts"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.repligencorp.com/role/CreditLossesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs": {
     "auth_ref": [
      "r238"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of direct write-downs of accounts receivable charged against the allowance.",
        "label": "Accounts Receivable, Allowance for Credit Loss, Writeoff",
        "terseLabel": "Current period change for write-offs"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivableWriteOffs",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CreditLossesSummaryOfAllowanceForCreditLossesForAccountsReceivablesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmortizationOfDebtDiscountPremium": {
     "auth_ref": [
      "r99",
      "r115",
      "r585"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncash expense included in interest expense to amortize debt discount and premium associated with the related debt instruments. Excludes amortization of financing costs. Alternate captions include noncash interest expense.",
        "label": "Amortization of Debt Discount (Premium)",
        "terseLabel": "Accretion of the debt discount"
       }
      }
     },
     "localname": "AmortizationOfDebtDiscountPremium",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmortizationOfFinancingCosts": {
     "auth_ref": [
      "r91",
      "r115",
      "r587"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization expense attributable to debt issuance costs.",
        "label": "Amortization of Debt Issuance Costs",
        "terseLabel": "Amortization of the debt issuance costs"
       }
      }
     },
     "localname": "AmortizationOfFinancingCosts",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmortizationOfFinancingCostsAndDiscounts": {
     "auth_ref": [
      "r115",
      "r587"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 25.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization expense attributable to debt discount (premium) and debt issuance costs.",
        "label": "Amortization of Debt Issuance Costs and Discounts",
        "terseLabel": "Amortization of debt discount and issuance costs"
       }
      }
     },
     "localname": "AmortizationOfFinancingCostsAndDiscounts",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "auth_ref": [
      "r115",
      "r271",
      "r281"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.",
        "label": "Amortization of Intangible Assets",
        "verboseLabel": "Amortization expense"
       }
      }
     },
     "localname": "AmortizationOfIntangibleAssets",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "auth_ref": [
      "r166"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.",
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount",
        "terseLabel": "Common stock excluded from calculation of diluted earnings per share"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_AreaOfLand": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Area of land held.",
        "label": "Area of Land",
        "terseLabel": "Expansion of existing premises"
       }
      }
     },
     "localname": "AreaOfLand",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/LeasesAdditionalInformationDetail"
     ],
     "xbrltype": "areaItemType"
    },
    "us-gaap_Assets": {
     "auth_ref": [
      "r129",
      "r197",
      "r206",
      "r212",
      "r223",
      "r552",
      "r556",
      "r573",
      "r645",
      "r666"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Assets",
        "terseLabel": "Assets",
        "totalLabel": "Total assets"
       }
      }
     },
     "localname": "Assets",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/role/TotalAssetsByGeographicAreaDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets [Abstract]",
        "terseLabel": "Assets"
       }
      }
     },
     "localname": "AssetsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsCurrent": {
     "auth_ref": [
      "r6",
      "r8",
      "r68",
      "r129",
      "r223",
      "r552",
      "r556",
      "r573"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets": {
       "order": 17.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Assets, Current",
        "totalLabel": "Total current assets"
       }
      }
     },
     "localname": "AssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets, Current [Abstract]",
        "terseLabel": "Current assets:"
       }
      }
     },
     "localname": "AssetsCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AwardTypeAxis": {
     "auth_ref": [
      "r427",
      "r453"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of award under share-based payment arrangement.",
        "label": "Award Type [Axis]",
        "terseLabel": "Award Type [Axis]"
       }
      }
     },
     "localname": "AwardTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail",
      "http://www.repligencorp.com/role/SummaryOfOptionActivityParentheticalDetail",
      "http://www.repligencorp.com/role/SummaryOfRestrictedStockUnitActivityDetail",
      "http://www.repligencorp.com/role/SummaryOfRestrictedStockUnitActivityParentheticalDetail",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BalanceSheetLocationAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by location on balance sheet (statement of financial position).",
        "label": "Balance Sheet Location [Axis]"
       }
      }
     },
     "localname": "BalanceSheetLocationAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail",
      "http://www.repligencorp.com/role/IncomeTaxesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BalanceSheetLocationDomain": {
     "auth_ref": [
      "r558",
      "r559"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Location in the balance sheet (statement of financial position).",
        "label": "Balance Sheet Location [Domain]"
       }
      }
     },
     "localname": "BalanceSheetLocationDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail",
      "http://www.repligencorp.com/role/IncomeTaxesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock": {
     "auth_ref": [
      "r138"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for the basis of presentation and significant accounting policies concepts. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).  Accounting policies describe all significant accounting policies of the reporting entity.",
        "label": "Basis of Presentation and Significant Accounting Policies [Text Block]",
        "terseLabel": "Basis of presentation"
       }
      }
     },
     "localname": "BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_BuildingMember": {
     "auth_ref": [
      "r288"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Facility held for productive use including, but not limited to, office, production, storage and distribution facilities.",
        "label": "Building [Member]"
       }
      }
     },
     "localname": "BuildingMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/EstimatedUsefulLifeOfAssetsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BuildingsAndImprovementsGross": {
     "auth_ref": [
      "r11",
      "r288"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/PropertyPlantAndEquipmentDetail": {
       "order": 4.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before accumulated depreciation of building structures held for productive use including addition, improvement, or renovation to the structure, including, but not limited to, interior masonry, interior flooring, electrical, and plumbing.",
        "label": "Buildings and Improvements, Gross",
        "terseLabel": "Buildings"
       }
      }
     },
     "localname": "BuildingsAndImprovementsGross",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/PropertyPlantAndEquipmentDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessAcquisitionAcquireeDomain": {
     "auth_ref": [
      "r412",
      "r417"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identification of the acquiree in a material business combination (or series of individually immaterial business combinations), which may include the name or other type of identification of the acquiree.",
        "label": "Business Acquisition, Acquiree [Domain]",
        "terseLabel": "Business Acquisition, Acquiree [Domain]"
       }
      }
     },
     "localname": "BusinessAcquisitionAcquireeDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/role/AcquisitionsConsiderationTransferredDetail",
      "http://www.repligencorp.com/role/AcquisitionsEstimatedUsefulLifeAndFairValueDetail",
      "http://www.repligencorp.com/role/AcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/role/AcquisitionsTables",
      "http://www.repligencorp.com/role/AcquisitionsUnauditedSupplementalProFormaInformationDetail",
      "http://www.repligencorp.com/role/ChangesInCarryingValueOfGoodwillDetail",
      "http://www.repligencorp.com/role/CommitmentsAndContingenciesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlowsParenthetical",
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquity",
      "http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail",
      "http://www.repligencorp.com/role/IncomeTaxesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/LeasesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/RelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BusinessAcquisitionAxis": {
     "auth_ref": [
      "r412",
      "r417",
      "r530",
      "r531"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by business combination or series of individually immaterial business combinations.",
        "label": "Business Acquisition [Axis]",
        "terseLabel": "Business Acquisition [Axis]"
       }
      }
     },
     "localname": "BusinessAcquisitionAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/role/AcquisitionsConsiderationTransferredDetail",
      "http://www.repligencorp.com/role/AcquisitionsEstimatedUsefulLifeAndFairValueDetail",
      "http://www.repligencorp.com/role/AcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/role/AcquisitionsTables",
      "http://www.repligencorp.com/role/AcquisitionsUnauditedSupplementalProFormaInformationDetail",
      "http://www.repligencorp.com/role/ChangesInCarryingValueOfGoodwillDetail",
      "http://www.repligencorp.com/role/CommitmentsAndContingenciesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlowsParenthetical",
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquity",
      "http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail",
      "http://www.repligencorp.com/role/IncomeTaxesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/LeasesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/RelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of direct costs of the business combination including legal, accounting, and other costs incurred to consummate the business acquisition.",
        "label": "Business Acquisition, Transaction Costs",
        "terseLabel": "Transaction costs"
       }
      }
     },
     "localname": "BusinessAcquisitionCostOfAcquiredEntityTransactionCosts",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued": {
     "auth_ref": [
      "r545"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares of equity interests issued or issuable to acquire entity.",
        "label": "Business Acquisition, Equity Interest Issued or Issuable, Number of Shares",
        "terseLabel": "Shares issued for business acquisition",
        "verboseLabel": "Shares of common stock issued for acquisition"
       }
      }
     },
     "localname": "BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlowsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_BusinessAcquisitionLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Business Acquisition [Line Items]",
        "terseLabel": "Business Acquisition [Line Items]"
       }
      }
     },
     "localname": "BusinessAcquisitionLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/role/AcquisitionsConsiderationTransferredDetail",
      "http://www.repligencorp.com/role/AcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/role/AcquisitionsUnauditedSupplementalProFormaInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired": {
     "auth_ref": [
      "r525"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of voting equity interests acquired at the acquisition date in the business combination.",
        "label": "Business Acquisition, Percentage of Voting Interests Acquired",
        "terseLabel": "Business acquisition, voting interest acquired"
       }
      }
     },
     "localname": "BusinessAcquisitionPercentageOfVotingInterestsAcquired",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic": {
     "auth_ref": [
      "r527",
      "r528"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The pro forma basic net income per share for a period as if the business combination or combinations had been completed at the beginning of a period.",
        "label": "Business Acquisition, Pro Forma Earnings Per Share, Basic",
        "terseLabel": "Basic"
       }
      }
     },
     "localname": "BusinessAcquisitionProFormaEarningsPerShareBasic",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsUnauditedSupplementalProFormaInformationDetail"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted": {
     "auth_ref": [
      "r527",
      "r528"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The pro forma diluted net income per share for a period as if the business combination or combinations had been completed at the beginning of a period.",
        "label": "Business Acquisition, Pro Forma Earnings Per Share, Diluted",
        "terseLabel": "Diluted"
       }
      }
     },
     "localname": "BusinessAcquisitionProFormaEarningsPerShareDiluted",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsUnauditedSupplementalProFormaInformationDetail"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_BusinessAcquisitionProFormaInformationTextBlock": {
     "auth_ref": [
      "r527",
      "r528"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of pro forma results of operations for a material business acquisition or series of individually immaterial business acquisitions that are material in the aggregate.",
        "label": "Business Acquisition, Pro Forma Information [Table Text Block]",
        "terseLabel": "Unaudited Supplemental Pro Forma Information"
       }
      }
     },
     "localname": "BusinessAcquisitionProFormaInformationTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss": {
     "auth_ref": [
      "r527",
      "r528"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The pro forma net Income or Loss for the period as if the business combination or combinations had been completed at the beginning of a period.",
        "label": "Business Acquisition, Pro Forma Net Income (Loss)",
        "terseLabel": "Net income",
        "verboseLabel": "Business acquisitions proforma net loss"
       }
      }
     },
     "localname": "BusinessAcquisitionsProFormaNetIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/role/AcquisitionsUnauditedSupplementalProFormaInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessAcquisitionsProFormaRevenue": {
     "auth_ref": [
      "r527",
      "r528"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The pro forma revenue for a period as if the business combination or combinations had been completed at the beginning of the period.",
        "label": "Business Acquisition, Pro Forma Revenue",
        "terseLabel": "Total revenue"
       }
      }
     },
     "localname": "BusinessAcquisitionsProFormaRevenue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsUnauditedSupplementalProFormaInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationAcquisitionRelatedCosts": {
     "auth_ref": [
      "r524"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This element represents acquisition-related costs incurred to effect a business combination which costs have been expensed during the period. Such costs include finder's fees; advisory, legal, accounting, valuation, and other professional or consulting fees; general administrative costs, including the costs of maintaining an internal acquisitions department; and may include costs of registering and issuing debt and equity securities.",
        "label": "Business Combination, Acquisition Related Costs",
        "terseLabel": "Business Combination, Acquisition Related Costs"
       }
      }
     },
     "localname": "BusinessCombinationAcquisitionRelatedCosts",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationConsiderationTransferred1": {
     "auth_ref": [
      "r540",
      "r541",
      "r542"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/AcquisitionsConsiderationTransferredDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.",
        "label": "Business Combination, Consideration Transferred",
        "terseLabel": "Business combination, consideration transferred",
        "totalLabel": "Fair value of net assets acquired"
       }
      }
     },
     "localname": "BusinessCombinationConsiderationTransferred1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/role/AcquisitionsConsiderationTransferredDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationConsiderationTransferredAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Consideration Transferred [Abstract]",
        "terseLabel": "Business Acquisitions:"
       }
      }
     },
     "localname": "BusinessCombinationConsiderationTransferredAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlowsParenthetical"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable": {
     "auth_ref": [
      "r540",
      "r541"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/AcquisitionsConsiderationTransferredDetail": {
       "order": 2.0,
       "parentTag": "us-gaap_BusinessCombinationConsiderationTransferred1",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of equity interests of the acquirer, including instruments or interests issued or issuable in consideration for the business combination.",
        "label": "Business Combination, Consideration Transferred, Equity Interests Issued and Issuable",
        "terseLabel": "Equity consideration",
        "verboseLabel": "Value of common stock issued"
       }
      }
     },
     "localname": "BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/role/AcquisitionsConsiderationTransferredDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred": {
     "auth_ref": [
      "r539",
      "r540",
      "r541",
      "r544"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/AcquisitionsConsiderationTransferredDetail": {
       "order": 4.0,
       "parentTag": "us-gaap_BusinessCombinationConsiderationTransferred1",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities incurred by the acquirer as part of consideration transferred in a business combination.",
        "label": "Business Combination, Consideration Transferred, Liabilities Incurred",
        "terseLabel": "Contingent consideration",
        "verboseLabel": "Business combination contingent consideration"
       }
      }
     },
     "localname": "BusinessCombinationConsiderationTransferredLiabilitiesIncurred",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/role/AcquisitionsConsiderationTransferredDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1": {
     "auth_ref": [
      "r114",
      "r546"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "definitionGuidance": "Deferred tax liability",
        "documentation": "Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement.",
        "label": "Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability"
       }
      }
     },
     "localname": "BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationDisclosureTextBlock": {
     "auth_ref": [
      "r549"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable).",
        "label": "Business Combination Disclosure [Text Block]",
        "terseLabel": "Acquisitions"
       }
      }
     },
     "localname": "BusinessCombinationDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/Acquisitions"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual": {
     "auth_ref": [
      "r526"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This element represents the amount of revenue of the acquiree since the acquisition date included in the consolidated income statement for the reporting period.",
        "label": "Business Combination, Pro Forma Information, Revenue of Acquiree since Acquisition Date, Actual",
        "terseLabel": "Business acquisition, revenue"
       }
      }
     },
     "localname": "BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents": {
     "auth_ref": [
      "r533"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions, acquired at the acquisition date. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents",
        "terseLabel": "Cash and cash equivalents"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets": {
     "auth_ref": [
      "r533"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer, acquired at the acquisition date.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Prepaid Expense and Other Assets",
        "terseLabel": "Prepaid expenses and other current assets"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables": {
     "auth_ref": [
      "r533"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount due from customers or clients for goods or services, including trade receivables, that have been delivered or sold in the normal course of business, and amounts due from others, including related parties expected to be converted to cash, sold or exchanged within one year or the normal operating cycle, if longer, acquired at the acquisition date.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Receivables",
        "terseLabel": "Accounts receivable"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable": {
     "auth_ref": [
      "r533"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities incurred for goods and services received that are used in an entity's business and related party payables, assumed at the acquisition date.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Accounts Payable",
        "negatedLabel": "Accounts payable"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets": {
     "auth_ref": [
      "r533"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax asset attributable to deductible temporary differences and carryforwards acquired at the acquisition date.",
        "label": "Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed, Deferred Tax Assets",
        "verboseLabel": "Deferred tax"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilitiesCurrent": {
     "auth_ref": [
      "r533"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary difference assumed at the acquisition date that are classified as current.",
        "label": "Deferred tax liabilities ,net",
        "negatedTerseLabel": "Deferred tax liabilities ,net"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill": {
     "auth_ref": [
      "r533"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of intangible assets, excluding goodwill, acquired at the acquisition date.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Intangible Assets, Other than Goodwill",
        "positiveLabel": "Fair value of acquired finite lived intangible assets",
        "verboseLabel": "Business combination, intangible assets"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/role/AcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles": {
     "auth_ref": [
      "r532",
      "r533"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of identifiable intangible assets recognized as of the acquisition date.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Finite-Lived Intangibles",
        "verboseLabel": "Fair Value"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsEstimatedUsefulLifeAndFairValueDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory": {
     "auth_ref": [
      "r532",
      "r533"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of inventory recognized as of the acquisition date.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Inventory",
        "terseLabel": "Inventory"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets": {
     "auth_ref": [
      "r533"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of other assets expected to be realized or consumed after one year or the normal operating cycle, if longer, acquired at the acquisition date.",
        "label": "Other noncurrent assets"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment": {
     "auth_ref": [
      "r532",
      "r533"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of property, plant, and equipment recognized as of the acquisition date.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment",
        "terseLabel": "Property and equipment"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet": {
     "auth_ref": [
      "r533"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount recognized for assets, including goodwill, in excess of (less than) the aggregate liabilities assumed.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired, Goodwill, and Liabilities Assumed, Net",
        "terseLabel": "Fair value of net assets acquired"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combinations [Abstract]"
       }
      }
     },
     "localname": "BusinessCombinationsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_CapitalizedComputerSoftwareGross": {
     "auth_ref": [
      "r717"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/PropertyPlantAndEquipmentDetail": {
       "order": 10.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before accumulated amortization of capitalized costs for computer software, including but not limited to, acquired and internally developed computer software.",
        "label": "Capitalized Computer Software, Gross",
        "terseLabel": "Computer hardware and software"
       }
      }
     },
     "localname": "CapitalizedComputerSoftwareGross",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/PropertyPlantAndEquipmentDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r1",
      "r46",
      "r117"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets": {
       "order": 18.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      },
      "http://www.repligencorp.com/role/ScheduleOfCashCashEquivalentsAndRestrictedCashDetail": {
       "order": 1.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.",
        "label": "Cash and Cash Equivalents, at Carrying Value",
        "terseLabel": "Cash and cash equivalents",
        "verboseLabel": "Cash and cash equivalents"
       }
      }
     },
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/role/ScheduleOfCashCashEquivalentsAndRestrictedCashDetail",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of cash and cash equivalent balance.",
        "label": "Cash and Cash Equivalents [Axis]"
       }
      }
     },
     "localname": "CashAndCashEquivalentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CashAndCashEquivalentsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Cash and Cash Equivalents [Line Items]",
        "verboseLabel": "Cash and Cash Equivalents [Line Items]"
       }
      }
     },
     "localname": "CashAndCashEquivalentsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ScheduleOfCashCashEquivalentsAndRestrictedCashDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy": {
     "auth_ref": [
      "r17",
      "r118",
      "r124",
      "r643"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Entity's cash and cash equivalents accounting policy with respect to restricted balances.  Restrictions may include legally restricted deposits held as compensating balances against short-term borrowing arrangements, contracts entered into with others, or company statements of intention with regard to particular deposits; however, time deposits and short-term certificates of deposit are not generally included in legally restricted deposits.",
        "label": "Cash and Cash Equivalents, Restricted Cash and Cash Equivalents, Policy [Policy Text Block]",
        "terseLabel": "Cash, Cash Equivalents, Restricted Cash and Marketable Securities"
       }
      }
     },
     "localname": "CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "auth_ref": [
      "r110",
      "r117",
      "r123"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ScheduleOfCashCashEquivalentsAndRestrictedCashDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents",
        "periodEndLabel": "Cash, cash equivalents and restricted cash, end of period",
        "periodStartLabel": "Cash, cash equivalents and restricted cash, beginning of period",
        "totalLabel": "Total cash, cash equivalents, and restricted cash"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/role/ScheduleOfCashCashEquivalentsAndRestrictedCashDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "auth_ref": [
      "r110",
      "r574"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect",
        "totalLabel": "Net increase in cash, cash equivalents and restricted cash"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Change in Contract with Customer, Asset and Liability [Abstract]",
        "verboseLabel": "Revenue recognized during years presented relating to:"
       }
      }
     },
     "localname": "ChangeInContractWithCustomerAssetAndLiabilityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ClassOfStockDomain": {
     "auth_ref": [
      "r127",
      "r129",
      "r157",
      "r158",
      "r161",
      "r163",
      "r165",
      "r174",
      "r175",
      "r176",
      "r223",
      "r573"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share of stock differentiated by the voting rights the holder receives. Examples include, but are not limited to, common stock, redeemable preferred stock, nonredeemable preferred stock, and convertible stock.",
        "label": "Class of Stock [Domain]"
       }
      }
     },
     "localname": "ClassOfStockDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail",
      "http://www.repligencorp.com/role/LeasesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/LeasesConsolidatedStatementsOfComprehensiveIncomeDetail",
      "http://www.repligencorp.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetail",
      "http://www.repligencorp.com/role/LeasesOperatingLeaseLiabilitiesDetail",
      "http://www.repligencorp.com/role/LeasesTables"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommitmentsAndContingencies": {
     "auth_ref": [
      "r61",
      "r295",
      "r651",
      "r674"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.",
        "label": "Commitments and Contingencies",
        "terseLabel": "Commitments and contingencies (Note 11)"
       }
      }
     },
     "localname": "CommitmentsAndContingencies",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies Disclosure [Abstract]"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "auth_ref": [
      "r292",
      "r293",
      "r294",
      "r296"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for commitments and contingencies.",
        "label": "Commitments and Contingencies Disclosure [Text Block]",
        "terseLabel": "Commitments and Contingencies"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CommitmentsAndContingencies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CommonStockCapitalSharesReservedForFutureIssuance": {
     "auth_ref": [
      "r62"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate number of common shares reserved for future issuance.",
        "label": "Common Stock, Capital Shares Reserved for Future Issuance",
        "verboseLabel": "Common stock shares reserved for Issuance"
       }
      }
     },
     "localname": "CommonStockCapitalSharesReservedForFutureIssuance",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockMember": {
     "auth_ref": [
      "r139",
      "r140"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock that is subordinate to all other stock of the issuer.",
        "label": "Common Stock [Member]",
        "terseLabel": "Common Stock"
       }
      }
     },
     "localname": "CommonStockMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquity",
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r28"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face amount or stated value per share of common stock.",
        "label": "Common Stock, Par or Stated Value Per Share",
        "terseLabel": "Common stock, par value"
       }
      }
     },
     "localname": "CommonStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "auth_ref": [
      "r28"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.",
        "label": "Common Stock, Shares Authorized",
        "terseLabel": "Common stock, shares authorized"
       }
      }
     },
     "localname": "CommonStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesIssued": {
     "auth_ref": [
      "r28"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.",
        "label": "Common Stock, Shares, Issued",
        "terseLabel": "Common stock, shares issued"
       }
      }
     },
     "localname": "CommonStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "auth_ref": [
      "r28",
      "r309"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.",
        "label": "Common Stock, Shares, Outstanding",
        "terseLabel": "Common stock, shares outstanding"
       }
      }
     },
     "localname": "CommonStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockValue": {
     "auth_ref": [
      "r28"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.",
        "label": "Common Stock, Value, Issued",
        "verboseLabel": "Common stock, $0.01 par value; 80,000,000 shares authorized; 54,760,837 shares at December 31, 2020 and 52,078,258 shares at December 31, 2019 issued and outstanding"
       }
      }
     },
     "localname": "CommonStockValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CompensationAndEmployeeBenefitPlansTextBlock": {
     "auth_ref": [
      "r341",
      "r344",
      "r422",
      "r467"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for an entity's employee compensation and benefit plans, including, but not limited to, postemployment and postretirement benefit plans, defined benefit pension plans, defined contribution plans, non-qualified and supplemental benefit plans, deferred compensation, share-based compensation, life insurance, severance, health care, unemployment and other benefit plans.",
        "label": "Compensation and Employee Benefit Plans [Text Block]",
        "terseLabel": "Employee Benefit Plans"
       }
      }
     },
     "localname": "CompensationAndEmployeeBenefitPlansTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/EmployeeBenefitPlans"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CompensationAndRetirementDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retirement Benefits [Abstract]"
       }
      }
     },
     "localname": "CompensationAndRetirementDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_CompensationExpenseExcludingCostOfGoodAndServiceSold": {
     "auth_ref": [
      "r92"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense for salary, wage, profit sharing; incentive and equity-based compensation; and other employee benefit. Other employee benefit expense includes, but is not limited to, service component of net periodic benefit cost for defined benefit plan. Excludes compensation cost in cost of good and service sold.",
        "label": "Compensation Expense, Excluding Cost of Good and Service Sold"
       }
      }
     },
     "localname": "CompensationExpenseExcludingCostOfGoodAndServiceSold",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "auth_ref": [
      "r79",
      "r81",
      "r82",
      "r88",
      "r655",
      "r677"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.",
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent",
        "totalLabel": "Comprehensive income"
       }
      }
     },
     "localname": "ComprehensiveIncomeNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent [Abstract]"
       }
      }
     },
     "localname": "ComprehensiveIncomeNetOfTaxAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_ComprehensiveIncomeNoteTextBlock": {
     "auth_ref": [
      "r87",
      "r102",
      "r654",
      "r676"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for comprehensive income, which includes, but is not limited to, 1) the amount of income tax expense or benefit allocated to each component of other comprehensive income, including reclassification adjustments, 2) the reclassification adjustments for each classification of other comprehensive income and 3) the ending accumulated balances for each component of comprehensive income.",
        "label": "Comprehensive Income (Loss) Note [Text Block]",
        "terseLabel": "Accumulated Other Comprehensive Income (Loss)"
       }
      }
     },
     "localname": "ComprehensiveIncomeNoteTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AccumulatedOtherComprehensiveIncomeLoss"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "auth_ref": [
      "r186",
      "r187",
      "r217",
      "r570",
      "r571"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage.",
        "label": "Concentration Risk Benchmark [Domain]",
        "terseLabel": "Concentration Risk Benchmark [Domain]"
       }
      }
     },
     "localname": "ConcentrationRiskBenchmarkDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/PercentageOfRevenueByGeographicAreaDetail",
      "http://www.repligencorp.com/role/PercentageOfRevenueFromSignificantCustomersDetail",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "auth_ref": [
      "r186",
      "r187",
      "r217",
      "r570",
      "r571",
      "r700"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by benchmark of concentration risk.",
        "label": "Concentration Risk Benchmark [Axis]",
        "terseLabel": "Concentration Risk Benchmark [Axis]"
       }
      }
     },
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/PercentageOfRevenueByGeographicAreaDetail",
      "http://www.repligencorp.com/role/PercentageOfRevenueFromSignificantCustomersDetail",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "auth_ref": [
      "r186",
      "r187",
      "r217",
      "r570",
      "r571",
      "r700"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender.",
        "label": "Concentration Risk Type [Axis]",
        "terseLabel": "Concentration Risk Type [Axis]"
       }
      }
     },
     "localname": "ConcentrationRiskByTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/PercentageOfRevenueByGeographicAreaDetail",
      "http://www.repligencorp.com/role/PercentageOfRevenueFromSignificantCustomersDetail",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskCreditRisk": {
     "auth_ref": [
      "r180",
      "r663"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for credit risk.",
        "label": "Concentration Risk, Credit Risk, Policy [Policy Text Block]",
        "terseLabel": "Concentrations of Credit Risk and Significant Customers"
       }
      }
     },
     "localname": "ConcentrationRiskCreditRisk",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ConcentrationRiskLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Concentration Risk [Line Items]",
        "verboseLabel": "Concentration Risk [Line Items]"
       }
      }
     },
     "localname": "ConcentrationRiskLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/PercentageOfRevenueByGeographicAreaDetail",
      "http://www.repligencorp.com/role/RevenueFromSignificantCustomersDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskPercentage1": {
     "auth_ref": [
      "r186",
      "r187",
      "r217",
      "r570",
      "r571"
     ],
     "lang": {
      "en-us": {
       "role": {
        "definitionGuidance": "Revenues, percentage by country",
        "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.",
        "label": "Concentration Risk, Percentage",
        "verboseLabel": "Revenue from significant customers as a percentage of total revenue"
       }
      }
     },
     "localname": "ConcentrationRiskPercentage1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/PercentageOfRevenueByGeographicAreaDetail",
      "http://www.repligencorp.com/role/PercentageOfRevenueFromSignificantCustomersDetail",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ConcentrationRiskTable": {
     "auth_ref": [
      "r183",
      "r186",
      "r187",
      "r188",
      "r570",
      "r572"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Describes the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark.",
        "label": "Concentration Risk [Table]",
        "verboseLabel": "Concentration Risk [Table]"
       }
      }
     },
     "localname": "ConcentrationRiskTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/PercentageOfRevenueByGeographicAreaDetail",
      "http://www.repligencorp.com/role/RevenueFromSignificantCustomersDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "auth_ref": [
      "r186",
      "r187",
      "r217",
      "r570",
      "r571"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration.",
        "label": "Concentration Risk Type [Domain]",
        "terseLabel": "Concentration Risk Type [Domain]"
       }
      }
     },
     "localname": "ConcentrationRiskTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/PercentageOfRevenueByGeographicAreaDetail",
      "http://www.repligencorp.com/role/PercentageOfRevenueFromSignificantCustomersDetail",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConstructionInProgressGross": {
     "auth_ref": [
      "r288"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/PropertyPlantAndEquipmentDetail": {
       "order": 8.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service.",
        "label": "Construction in Progress, Gross",
        "terseLabel": "Construction in progress"
       }
      }
     },
     "localname": "ConstructionInProgressGross",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/PropertyPlantAndEquipmentDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContingentConsiderationByTypeAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of contingent consideration.",
        "label": "Contingent Consideration by Type [Axis]",
        "terseLabel": "Contingent Consideration by Type [Axis]"
       }
      }
     },
     "localname": "ContingentConsiderationByTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ContingentConsiderationTypeDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Description of contingent payment arrangement.",
        "label": "Contingent Consideration Type [Domain]",
        "terseLabel": "Contingent Consideration Type [Domain]"
       }
      }
     },
     "localname": "ContingentConsiderationTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ContractWithCustomerAssetAndLiabilityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract with Customer, Asset and Liability [Abstract]",
        "verboseLabel": "Balances from contracts with customers only:"
       }
      }
     },
     "localname": "ContractWithCustomerAssetAndLiabilityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": {
     "auth_ref": [
      "r319"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability.",
        "label": "Contract with Customer, Asset and Liability [Table Text Block]",
        "verboseLabel": "Summary of Receivables and Deferred Revenue from Contracts with Customers"
       }
      }
     },
     "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/RevenueRecognitionTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ContractWithCustomerLiability": {
     "auth_ref": [
      "r317",
      "r318",
      "r329"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable.",
        "label": "Contract with Customer, Liability",
        "terseLabel": "The beginning deferred revenue balance"
       }
      }
     },
     "localname": "ContractWithCustomerLiability",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ConvertibleDebtTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of borrowings which can be exchanged for a specified number of another security at the option of the issuer or the holder. Disclosures include, but are not limited to, principal amount, amortized premium or discount, and amount of liability and equity components.",
        "label": "Convertible Debt [Table Text Block]",
        "terseLabel": "Carrying Value of Convertible Senior Notes"
       }
      }
     },
     "localname": "ConvertibleDebtTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ConvertibleLongTermNotesPayable": {
     "auth_ref": [
      "r59"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets": {
       "order": 16.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of long-term debt (with maturities initially due after one year or beyond the operating cycle if longer) identified as Convertible Notes Payable, excluding current portion. Convertible Notes Payable is a written promise to pay a note which can be exchanged for a specified amount of another, related security, at the option of the issuer and the holder.",
        "label": "Convertible Notes Payable, Noncurrent",
        "terseLabel": "Convertible senior notes, net"
       }
      }
     },
     "localname": "ConvertibleLongTermNotesPayable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ConvertibleNotesPayableCurrent": {
     "auth_ref": [
      "r54"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets": {
       "order": 11.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of the portion of long-term debt due within one year or the operating cycle if longer identified as Convertible Notes Payable. Convertible Notes Payable is a written promise to pay a note which can be exchanged for a specified amount of another, related security, at the option of the issuer and the holder.",
        "label": "Convertible Notes Payable, Current",
        "terseLabel": "Convertible senior notes, current portion, net"
       }
      }
     },
     "localname": "ConvertibleNotesPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "auth_ref": [
      "r95",
      "r624"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome": {
       "order": 4.0,
       "parentTag": "us-gaap_CostsAndExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.",
        "label": "Cost of Goods and Services Sold",
        "terseLabel": "Cost of product revenue"
       }
      }
     },
     "localname": "CostOfGoodsAndServicesSold",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostOfSalesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing cost of sales.",
        "label": "Cost of Sales [Member]",
        "terseLabel": "Cost of product revenue"
       }
      }
     },
     "localname": "CostOfSalesMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/StockBasedCompensationExpenseDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CostsAndExpenses": {
     "auth_ref": [
      "r93"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome": {
       "order": 3.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total costs of sales and operating expenses for the period.",
        "label": "Costs and Expenses",
        "totalLabel": "Total costs and operating expenses"
       }
      }
     },
     "localname": "CostsAndExpenses",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostsAndExpensesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Costs and Expenses [Abstract]",
        "verboseLabel": "Costs and operating expenses:"
       }
      }
     },
     "localname": "CostsAndExpensesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CreditFacilityAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.",
        "label": "Credit Facility [Axis]",
        "terseLabel": "Credit Facility [Axis]"
       }
      }
     },
     "localname": "CreditFacilityAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CreditFacilityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.",
        "label": "Credit Facility [Domain]",
        "terseLabel": "Credit Facility [Domain]"
       }
      }
     },
     "localname": "CreditFacilityDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CreditLossAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Credit Loss [Abstract]"
       }
      }
     },
     "localname": "CreditLossAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_CreditLossFinancialInstrumentPolicyTextBlock": {
     "auth_ref": [
      "r230",
      "r231",
      "r232",
      "r234",
      "r235",
      "r241",
      "r242",
      "r244",
      "r245",
      "r246",
      "r249",
      "r250",
      "r251",
      "r252",
      "r253",
      "r254",
      "r256"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for credit loss on financial instrument measured at amortized cost basis, net investment in lease, off-balance sheet credit exposure, and available-for-sale debt security. Includes, but is not limited to, methodology used to estimate allowance for credit loss, how writeoff of uncollectible amount is recognized, and determination of past due status and nonaccrual status.",
        "label": "Credit Loss, Financial Instrument [Policy Text Block]",
        "terseLabel": "Allowance for credit losses"
       }
      }
     },
     "localname": "CreditLossFinancialInstrumentPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CreditLossFinancialInstrumentTextBlock": {
     "auth_ref": [
      "r235",
      "r243",
      "r244",
      "r247",
      "r248",
      "r255",
      "r256"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for credit loss on financial instrument measured at amortized cost basis, net investment in lease, off-balance sheet credit exposure, and available-for-sale debt security.",
        "label": "Credit Loss, Financial Instrument [Text Block]",
        "terseLabel": "Credit Losses"
       }
      }
     },
     "localname": "CreditLossFinancialInstrumentTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CreditLosses"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CurrentIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r132",
      "r501",
      "r511",
      "r513"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/CurrentDeferredAndEquityIncomeTaxesDetail": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations.",
        "label": "Current Income Tax Expense (Benefit)",
        "terseLabel": "Current"
       }
      }
     },
     "localname": "CurrentIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CurrentDeferredAndEquityIncomeTaxesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CustomerConcentrationRiskMember": {
     "auth_ref": [
      "r184",
      "r217"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer.",
        "label": "Customer Concentration Risk [Member]",
        "terseLabel": "Customer Concentration Risk"
       }
      }
     },
     "localname": "CustomerConcentrationRiskMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/PercentageOfRevenueFromSignificantCustomersDetail",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CustomerRelationshipsMember": {
     "auth_ref": [
      "r537"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships.",
        "label": "Customer Relationships [Member]",
        "terseLabel": "Customer relationships"
       }
      }
     },
     "localname": "CustomerRelationshipsMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsEstimatedUsefulLifeAndFairValueDetail",
      "http://www.repligencorp.com/role/AcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtConversionConvertedInstrumentAmount1": {
     "auth_ref": [
      "r120",
      "r122"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The value of the financial instrument(s) that the original debt is being converted into in a noncash (or part noncash) transaction. \"Part noncash\" refers to that portion of the transaction not resulting in cash receipts or cash payments in the period.",
        "label": "Debt Conversion, Converted Instrument, Amount",
        "terseLabel": "Total consideration on conversion",
        "verboseLabel": "Fair value of 2,316,229 shares of common stock issued for conversion of convertible notes"
       }
      }
     },
     "localname": "DebtConversionConvertedInstrumentAmount1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtConversionConvertedInstrumentSharesIssued1": {
     "auth_ref": [
      "r120",
      "r122"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of shares issued in exchange for the original debt being converted in a noncash (or part noncash) transaction. \"Part noncash\" refers to that portion of the transaction not resulting in cash receipts or payments in the period.",
        "label": "Debt Conversion, Converted Instrument, Shares Issued",
        "verboseLabel": "Number of shares Issued for Conversion"
       }
      }
     },
     "localname": "DebtConversionConvertedInstrumentSharesIssued1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlowsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_DebtDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Disclosure [Abstract]"
       }
      }
     },
     "localname": "DebtDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentAxis": {
     "auth_ref": [
      "r21",
      "r22",
      "r23",
      "r646",
      "r649",
      "r665"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities.",
        "label": "Debt Instrument [Axis]",
        "terseLabel": "Debt Instrument [Axis]"
       }
      }
     },
     "localname": "DebtInstrumentAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CarryingValueOfConvertibleSeniorNotesDetail",
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquityParenthetical",
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentCarryingAmount": {
     "auth_ref": [
      "r23",
      "r302",
      "r649",
      "r665"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/CarryingValueOfConvertibleSeniorNotesDetail": {
       "order": 1.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt.",
        "label": "Long-term Debt, Gross",
        "terseLabel": "Principal amount"
       }
      }
     },
     "localname": "DebtInstrumentCarryingAmount",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CarryingValueOfConvertibleSeniorNotesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtInstrumentConvertibleBeneficialConversionFeature": {
     "auth_ref": [
      "r314"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of a favorable spread to a debt holder between the amount of debt being converted and the value of the securities received upon conversion. This is an embedded conversion feature of convertible debt issued that is in-the-money at the commitment date.",
        "label": "Debt Instrument, Convertible, Beneficial Conversion Feature",
        "terseLabel": "Proceeds allocated to the conversion feature"
       }
      }
     },
     "localname": "DebtInstrumentConvertibleBeneficialConversionFeature",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent": {
     "auth_ref": [
      "r301"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The carrying amount of the equity component of convertible debt which may be settled in cash upon conversion.",
        "label": "Debt Instrument, Convertible, Carrying Amount of Equity Component",
        "verboseLabel": "Equity component of converted debt"
       }
      }
     },
     "localname": "DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtInstrumentConvertibleConversionPrice1": {
     "auth_ref": [
      "r304"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The price per share of the conversion feature embedded in the debt instrument.",
        "label": "Debt Instrument, Convertible, Conversion Price",
        "terseLabel": "Notes initial conversion price"
       }
      }
     },
     "localname": "DebtInstrumentConvertibleConversionPrice1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_DebtInstrumentConvertibleConversionRatio1": {
     "auth_ref": [
      "r58",
      "r310",
      "r311",
      "r313"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Ratio applied to the conversion of debt instrument into equity with equity shares divided by debt principal amount.",
        "label": "Debt Instrument, Convertible, Conversion Ratio",
        "terseLabel": "Notes conversion ratio per $1,000 principal amount"
       }
      }
     },
     "localname": "DebtInstrumentConvertibleConversionRatio1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "xbrltype": "pureItemType"
    },
    "us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Threshold period of specified consecutive trading days within which common stock price to conversion price of convertible debt instrument must exceed threshold percentage for specified number of trading days to trigger conversion feature.",
        "label": "Debt Instrument, Convertible, Threshold Consecutive Trading Days",
        "terseLabel": "Notes threshold consecutive trading days"
       }
      }
     },
     "localname": "DebtInstrumentConvertibleThresholdConsecutiveTradingDays1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "xbrltype": "integerItemType"
    },
    "us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Minimum percentage of common stock price to conversion price of convertible debt instruments to determine eligibility of conversion.",
        "label": "Debt Instrument, Convertible, Threshold Percentage of Stock Price Trigger",
        "terseLabel": "Notes threshold percentage of stock price trigger"
       }
      }
     },
     "localname": "DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentConvertibleThresholdTradingDays": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Threshold number of specified trading days that common stock price to conversion price of convertible debt instruments must exceed threshold percentage within a specified consecutive trading period to trigger conversion feature.",
        "label": "Debt Instrument, Convertible, Threshold Trading Days",
        "terseLabel": "Notes threshold trading days"
       }
      }
     },
     "localname": "DebtInstrumentConvertibleThresholdTradingDays",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "xbrltype": "integerItemType"
    },
    "us-gaap_DebtInstrumentFaceAmount": {
     "auth_ref": [
      "r586",
      "r588"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face (par) amount of debt instrument at time of issuance.",
        "label": "Debt Instrument, Face Amount",
        "terseLabel": "Notes issued",
        "verboseLabel": "Principal amount"
       }
      }
     },
     "localname": "DebtInstrumentFaceAmount",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtInstrumentFrequencyOfPeriodicPayment": {
     "auth_ref": [
      "r59",
      "r659"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Description of the frequency of periodic payments (monthly, quarterly, annual).",
        "label": "Debt Instrument, Frequency of Periodic Payment",
        "terseLabel": "Notes, frequency of periodic payment"
       }
      }
     },
     "localname": "DebtInstrumentFrequencyOfPeriodicPayment",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentIncreaseAccruedInterest": {
     "auth_ref": [
      "r135"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Increase for accrued, but unpaid interest on the debt instrument for the period.",
        "label": "Debt Instrument, Increase, Accrued Interest",
        "verboseLabel": "Accrued interest"
       }
      }
     },
     "localname": "DebtInstrumentIncreaseAccruedInterest",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtInstrumentInterestRateEffectivePercentage": {
     "auth_ref": [
      "r56",
      "r305",
      "r586"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Effective interest rate for the funds borrowed under the debt agreement considering interest compounding and original issue discount or premium.",
        "label": "Debt Instrument, Interest Rate, Effective Percentage",
        "terseLabel": "Effective interest rate on the Notes"
       }
      }
     },
     "localname": "DebtInstrumentInterestRateEffectivePercentage",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentInterestRateStatedPercentage": {
     "auth_ref": [
      "r56"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contractual interest rate for funds borrowed, under the debt agreement.",
        "label": "Debt Instrument, Interest Rate, Stated Percentage",
        "terseLabel": "Notes, interest rate",
        "verboseLabel": "Senior convertible notes"
       }
      }
     },
     "localname": "DebtInstrumentInterestRateStatedPercentage",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquityParenthetical",
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentInterestRateTerms": {
     "auth_ref": [
      "r56"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Description of the interest rate as being fixed or variable, and, if variable, identification of the index or rate on which the interest rate is based and the number of points or percentage added to that index or rate to set the rate, and other pertinent information, such as frequency of rate resets.",
        "label": "Debt Instrument, Interest Rate Terms",
        "terseLabel": "Interest repayment terms"
       }
      }
     },
     "localname": "DebtInstrumentInterestRateTerms",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Debt Instrument [Line Items]",
        "terseLabel": "Debt Instrument [Line Items]"
       }
      }
     },
     "localname": "DebtInstrumentLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CarryingValueOfConvertibleSeniorNotesDetail",
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentMaturityDate": {
     "auth_ref": [
      "r57",
      "r565"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Date when the debt instrument is scheduled to be fully repaid, in CCYY-MM-DD format.",
        "label": "Debt Instrument, Maturity Date",
        "terseLabel": "Notes, due date"
       }
      }
     },
     "localname": "DebtInstrumentMaturityDate",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "xbrltype": "dateItemType"
    },
    "us-gaap_DebtInstrumentNameDomain": {
     "auth_ref": [
      "r59"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities.",
        "label": "Debt Instrument, Name [Domain]",
        "terseLabel": "Debt Instrument, Name [Domain]"
       }
      }
     },
     "localname": "DebtInstrumentNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CarryingValueOfConvertibleSeniorNotesDetail",
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquityParenthetical",
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtInstrumentRedemptionPeriodAxis": {
     "auth_ref": [
      "r660"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information about timing of debt redemption features under terms of the debt agreement.",
        "label": "Debt Instrument, Redemption, Period [Axis]",
        "terseLabel": "Debt Instrument, Redemption, Period [Axis]"
       }
      }
     },
     "localname": "DebtInstrumentRedemptionPeriodAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentRedemptionPeriodDomain": {
     "auth_ref": [
      "r660"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period as defined under terms of the debt agreement for debt redemption features.",
        "label": "Debt Instrument, Redemption, Period [Domain]",
        "terseLabel": "Debt Instrument, Redemption, Period [Domain]"
       }
      }
     },
     "localname": "DebtInstrumentRedemptionPeriodDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtInstrumentRedemptionPricePercentage": {
     "auth_ref": [
      "r660"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage price of original principal amount of debt at which debt can be redeemed by the issuer.",
        "label": "Debt Instrument, Redemption Price, Percentage",
        "terseLabel": "Notes redemption price"
       }
      }
     },
     "localname": "DebtInstrumentRedemptionPricePercentage",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentTable": {
     "auth_ref": [
      "r59",
      "r134",
      "r310",
      "r312",
      "r313",
      "r314",
      "r585",
      "r586",
      "r588",
      "r661"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A table or schedule providing information pertaining to long-term debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer.",
        "label": "Schedule of Long-term Debt Instruments [Table]",
        "terseLabel": "Schedule of Long-term Debt Instruments [Table]"
       }
      }
     },
     "localname": "DebtInstrumentTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CarryingValueOfConvertibleSeniorNotesDetail",
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentUnamortizedDiscount": {
     "auth_ref": [
      "r585",
      "r588"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/CarryingValueOfConvertibleSeniorNotesDetail": {
       "order": 2.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after accumulated amortization, of debt discount.",
        "label": "Debt Instrument, Unamortized Discount",
        "negatedLabel": "Unamortized debt discount"
       }
      }
     },
     "localname": "DebtInstrumentUnamortizedDiscount",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CarryingValueOfConvertibleSeniorNotesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis": {
     "auth_ref": [
      "r339",
      "r340"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of deferred compensation related to other postretirement benefit arrangements that are not equivalent to a defined benefit other postretirement benefit plan. Includes, but is not limited to, employment contracts with one or more selected officers or key employees. Excludes equity-based compensation plans, defined benefit pension plans and defined benefit other postretirement benefit plans.",
        "label": "Other Postretirement Benefits, Individual Contracts, Type of Deferred Compensation [Axis]",
        "terseLabel": "Other Postretirement Benefits, Individual Contracts, Type of Deferred Compensation [Axis]"
       }
      }
     },
     "localname": "DeferredCompensationArrangementWithIndividualPostretirementBenefitsByTypeOfDeferredCompensationAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/EmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Deferred Compensation Arrangement with Individual, Postretirement Benefits [Line Items]",
        "terseLabel": "Deferred Compensation Arrangement with Individual, Postretirement Benefits [Line Items]"
       }
      }
     },
     "localname": "DeferredCompensationArrangementWithIndividualPostretirementBenefitsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/EmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock": {
     "auth_ref": [
      "r50"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the amounts paid in advance for capitalized costs that will be expensed with the passage of time or the occurrence of a triggering event, and will be charged against earnings within one year or the normal operating cycle, if longer; the aggregate carrying amount of current assets, not separately presented elsewhere in the balance sheet; and other deferred costs.",
        "label": "Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Table Text Block]",
        "verboseLabel": "Prepaid Expenses and Other Current Assets"
       }
      }
     },
     "localname": "DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheetDetailTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DeferredFinanceCostsNet": {
     "auth_ref": [
      "r50",
      "r587"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/CarryingValueOfConvertibleSeniorNotesDetail": {
       "order": 3.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs.",
        "label": "Debt Issuance Costs, Net",
        "negatedLabel": "Unamortized debt issuance costs"
       }
      }
     },
     "localname": "DeferredFinanceCostsNet",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CarryingValueOfConvertibleSeniorNotesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r115",
      "r132",
      "r502",
      "r511",
      "r512",
      "r513"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 11.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Deferred Income Tax Expense (Benefit)",
        "terseLabel": "Deferred income taxes, net"
       }
      }
     },
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxLiabilities": {
     "auth_ref": [
      "r24",
      "r25",
      "r492",
      "r648",
      "r664"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail": {
       "order": 11.0,
       "parentTag": "us-gaap_DeferredTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences.",
        "label": "Deferred Tax Liabilities, Gross",
        "negatedTotalLabel": "Total deferred tax liabilities"
       }
      }
     },
     "localname": "DeferredIncomeTaxLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredRevenue": {
     "auth_ref": [
      "r37"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable.",
        "label": "Deferred Revenue",
        "verboseLabel": "Deferred revenue (included in accrued liabilities in the consolidated balance sheets)"
       }
      }
     },
     "localname": "DeferredRevenue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredRevenueArrangementTypeAxis": {
     "auth_ref": [
      "r13"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of deferred revenue arrangement.",
        "label": "Deferred Revenue Arrangement Type [Axis]",
        "terseLabel": "Deferred Revenue Arrangement Type [Axis]"
       }
      }
     },
     "localname": "DeferredRevenueArrangementTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredRevenueArrangementTypeDomain": {
     "auth_ref": [
      "r13"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Category of obligation arising when an entity receives consideration from a customer before achieving certain criteria that must be met for revenue to be recognized.",
        "label": "Deferred Revenue [Domain]",
        "terseLabel": "Deferred Revenue [Domain]"
       }
      }
     },
     "localname": "DeferredRevenueArrangementTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DeferredRevenueCurrent": {
     "auth_ref": [
      "r37"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ScheduleOfAccruedLiabilitiesDetail": {
       "order": 5.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable, classified as current.",
        "label": "Deferred Revenue, Current",
        "terseLabel": "Deferred revenue"
       }
      }
     },
     "localname": "DeferredRevenueCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ScheduleOfAccruedLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsGross": {
     "auth_ref": [
      "r493"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail": {
       "order": 2.0,
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.",
        "label": "Deferred Tax Assets, Gross",
        "totalLabel": "Total deferred tax assets"
       }
      }
     },
     "localname": "DeferredTaxAssetsGross",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent": {
     "auth_ref": [
      "r476",
      "r477",
      "r495"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets": {
       "order": 29.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting and classified as noncurrent.",
        "label": "Deferred Tax Assets, Net, Noncurrent",
        "verboseLabel": "Deferred tax assets"
       }
      }
     },
     "localname": "DeferredTaxAssetsLiabilitiesNetNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsNet": {
     "auth_ref": [
      "r495"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail": {
       "order": 1.0,
       "parentTag": "us-gaap_DeferredTaxLiabilities",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.",
        "label": "Deferred Tax Assets, Net of Valuation Allowance",
        "totalLabel": "Net deferred tax assets"
       }
      }
     },
     "localname": "DeferredTaxAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsNetAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Net [Abstract]",
        "terseLabel": "Deferred tax assets:"
       }
      }
     },
     "localname": "DeferredTaxAssetsNetAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredTaxAssetsOperatingLossCarryforwards": {
     "auth_ref": [
      "r499",
      "r500"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail": {
       "order": 3.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards.",
        "label": "Deferred Tax Assets, Operating Loss Carryforwards",
        "terseLabel": "Net operating loss carryforwards"
       }
      }
     },
     "localname": "DeferredTaxAssetsOperatingLossCarryforwards",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsTaxCreditCarryforwards": {
     "auth_ref": [
      "r498",
      "r499",
      "r500"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail": {
       "order": 4.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before allocation of a valuation allowances, of deferred tax assets attributable to deductible tax credit carryforwards including, but not limited to, research, foreign, general business, alternative minimum tax, and other deductible tax credit carryforwards.",
        "label": "Deferred Tax Assets, Tax Credit Carryforwards",
        "terseLabel": "Tax business credits carryforwards"
       }
      }
     },
     "localname": "DeferredTaxAssetsTaxCreditCarryforwards",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpense": {
     "auth_ref": [
      "r499",
      "r500"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail": {
       "order": 5.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before allocation of valuation allowances, of deferred tax asset attributable to deductible differences from reserves and accruals, compensation and benefit costs, and other provisions, reserves, and allowances.",
        "label": "Deferred Tax Assets, Tax Deferred Expense",
        "totalLabel": "Total temporary timing differences"
       }
      }
     },
     "localname": "DeferredTaxAssetsTaxDeferredExpense",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Tax Deferred Expense [Abstract]",
        "terseLabel": "Temporary timing differences:"
       }
      }
     },
     "localname": "DeferredTaxAssetsTaxDeferredExpenseAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost": {
     "auth_ref": [
      "r499",
      "r500"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail": {
       "order": 6.0,
       "parentTag": "us-gaap_DeferredTaxAssetsTaxDeferredExpense",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from share-based compensation.",
        "label": "Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-based Compensation Cost",
        "terseLabel": "Stock-based compensation expense"
       }
      }
     },
     "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther": {
     "auth_ref": [
      "r499",
      "r500"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail": {
       "order": 7.0,
       "parentTag": "us-gaap_DeferredTaxAssetsTaxDeferredExpense",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences from provisions, reserves, allowances, and accruals, classified as other.",
        "label": "Deferred Tax Assets, Tax Deferred Expense, Other",
        "terseLabel": "Other"
       }
      }
     },
     "localname": "DeferredTaxAssetsTaxDeferredExpenseOther",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsValuationAllowance": {
     "auth_ref": [
      "r494"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail": {
       "order": 10.0,
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.",
        "label": "Deferred Tax Assets, Valuation Allowance",
        "negatedLabel": "Less: valuation allowance"
       }
      }
     },
     "localname": "DeferredTaxAssetsValuationAllowance",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilities": {
     "auth_ref": [
      "r477",
      "r495"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting.",
        "label": "Deferred Tax Liabilities, Net",
        "negatedTotalLabel": "Total net deferred tax liabilities"
       }
      }
     },
     "localname": "DeferredTaxLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Liabilities, Gross [Abstract]",
        "terseLabel": "Deferred tax liabilities:"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill": {
     "auth_ref": [
      "r499",
      "r500",
      "r547",
      "r548"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail": {
       "order": 16.0,
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from goodwill.",
        "label": "Deferred Tax Liabilities, Goodwill",
        "negatedLabel": "Goodwill"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets": {
     "auth_ref": [
      "r499",
      "r500"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail": {
       "order": 12.0,
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from intangible assets other than goodwill.",
        "label": "Deferred Tax Liabilities, Intangible Assets",
        "negatedLabel": "Acquired intangible assets"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedDeferredTaxAssetsLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesNoncurrent": {
     "auth_ref": [
      "r476",
      "r477",
      "r478"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets": {
       "order": 13.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences, with jurisdictional netting and classified as noncurrent.",
        "label": "Deferred Tax Liabilities, Net, Noncurrent",
        "terseLabel": "Deferred tax liabilities"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedBenefitPlanContributionsByEmployer": {
     "auth_ref": [
      "r360",
      "r368",
      "r369",
      "r406",
      "r408",
      "r409"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of contribution received by defined benefit plan from employer which increases plan assets.",
        "label": "Defined Benefit Plan, Plan Assets, Contributions by Employer",
        "terseLabel": "Defined contribution plan, company contribution"
       }
      }
     },
     "localname": "DefinedBenefitPlanContributionsByEmployer",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/EmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Depreciation": {
     "auth_ref": [
      "r115",
      "r287"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.",
        "label": "Depreciation"
       }
      }
     },
     "localname": "Depreciation",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheetAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DepreciationAndAmortization": {
     "auth_ref": [
      "r115",
      "r287"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 9.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production.",
        "label": "Depreciation, Depletion and Amortization, Nonproduction",
        "terseLabel": "Depreciation and amortization"
       }
      }
     },
     "localname": "DepreciationAndAmortization",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DevelopedTechnologyRightsMember": {
     "auth_ref": [
      "r538"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Rights to developed technology, which can include the right to develop, use, market, sell, or offer for sale products, compounds, or intellectual property.",
        "label": "Developed Technology Rights [Member]",
        "terseLabel": "Technology\u2014developed",
        "verboseLabel": "Developed technology"
       }
      }
     },
     "localname": "DevelopedTechnologyRightsMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsEstimatedUsefulLifeAndFairValueDetail",
      "http://www.repligencorp.com/role/AcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DilutiveSecuritiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dilutive Securities, Effect on Basic Earnings Per Share [Abstract]",
        "verboseLabel": "Effect of dilutive shares:"
       }
      }
     },
     "localname": "DilutiveSecuritiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfBasicAndDilutedSharesAmountsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisaggregationOfRevenueLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Disaggregation of Revenue [Line Items]",
        "verboseLabel": "Disaggregation of Revenue [Line Items]"
       }
      }
     },
     "localname": "DisaggregationOfRevenueLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfDisaggregationOfProductRevenuesFromContractsWithCustomersByMajorProductLineDetail",
      "http://www.repligencorp.com/role/SummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisaggregationOfRevenueTable": {
     "auth_ref": [
      "r328",
      "r331",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r337"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.",
        "label": "Disaggregation of Revenue [Table]"
       }
      }
     },
     "localname": "DisaggregationOfRevenueTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfDisaggregationOfProductRevenuesFromContractsWithCustomersByMajorProductLineDetail",
      "http://www.repligencorp.com/role/SummaryOfReceivablesAndDeferredRevenueFromContractsWithCustomersDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisaggregationOfRevenueTableTextBlock": {
     "auth_ref": [
      "r328"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.",
        "label": "Disaggregation of Revenue [Table Text Block]",
        "verboseLabel": "Disaggregation of Revenue"
       }
      }
     },
     "localname": "DisaggregationOfRevenueTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/RevenueRecognitionTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disclosure of Compensation Related Costs, Share-based Payments [Abstract]"
       }
      }
     },
     "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisclosureTextBlockAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disclosure Text Block [Abstract]"
       }
      }
     },
     "localname": "DisclosureTextBlockAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DomesticCountryMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Designated tax department of the government that is entitled to levy and collect income taxes from the entity in its country of domicile.",
        "label": "Domestic Tax Authority [Member]",
        "terseLabel": "Domestic Tax Authority"
       }
      }
     },
     "localname": "DomesticCountryMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EarliestTaxYearMember": {
     "auth_ref": [
      "r484"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Earliest identified tax year.",
        "label": "Earliest Tax Year [Member]",
        "terseLabel": "Earliest Tax Year"
       }
      }
     },
     "localname": "EarliestTaxYearMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EarlyRepaymentOfSeniorDebt": {
     "auth_ref": [
      "r108"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow for the extinguishment of long-term borrowing, with the highest claim on the assets of the entity in case of bankruptcy or liquidation, before its maturity.",
        "label": "Early Repayment of Senior Debt",
        "terseLabel": "Repayment Of Senior Debt"
       }
      }
     },
     "localname": "EarlyRepaymentOfSeniorDebt",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EarningsPerShareAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share [Abstract]",
        "terseLabel": "Earnings per share:",
        "verboseLabel": "Earnings per share"
       }
      }
     },
     "localname": "EarningsPerShareAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfOperationsInformationForEachOfPreviousEightQuartersDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareBasic": {
     "auth_ref": [
      "r89",
      "r146",
      "r147",
      "r148",
      "r149",
      "r150",
      "r154",
      "r157",
      "r163",
      "r164",
      "r165",
      "r168",
      "r169",
      "r656",
      "r678"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.",
        "label": "Earnings Per Share, Basic",
        "terseLabel": "Basic"
       }
      }
     },
     "localname": "EarningsPerShareBasic",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfOperationsInformationForEachOfPreviousEightQuartersDetail",
      "http://www.repligencorp.com/role/ReconciliationOfBasicAndDilutedSharesAmountsDetail"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareBasicAndDilutedAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "definitionGuidance": "Earnings per share:",
        "label": "Earnings Per Share, Basic and Diluted [Abstract]"
       }
      }
     },
     "localname": "EarningsPerShareBasicAndDilutedAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfBasicAndDilutedSharesAmountsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareDiluted": {
     "auth_ref": [
      "r89",
      "r146",
      "r147",
      "r148",
      "r149",
      "r150",
      "r157",
      "r163",
      "r164",
      "r165",
      "r168",
      "r169",
      "r656",
      "r678"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.",
        "label": "Earnings Per Share, Diluted",
        "terseLabel": "Diluted"
       }
      }
     },
     "localname": "EarningsPerShareDiluted",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfOperationsInformationForEachOfPreviousEightQuartersDetail",
      "http://www.repligencorp.com/role/ReconciliationOfBasicAndDilutedSharesAmountsDetail"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerSharePolicyTextBlock": {
     "auth_ref": [
      "r124",
      "r166",
      "r167"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.",
        "label": "Earnings Per Share, Policy [Policy Text Block]",
        "terseLabel": "Earnings Per Share"
       }
      }
     },
     "localname": "EarningsPerSharePolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents": {
     "auth_ref": [
      "r574"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 7.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) from the effect of exchange rate changes on cash and cash equivalent balances held in foreign currencies.",
        "label": "Effect of Exchange Rate on Cash and Cash Equivalents",
        "terseLabel": "Effect of exchange rate changes on cash, cash equivalents and restricted cash"
       }
      }
     },
     "localname": "EffectOfExchangeRateOnCashAndCashEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "auth_ref": [
      "r480"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "Effective Income Tax Rate Reconciliation, Percent",
        "verboseLabel": "Income tax (benefit) provision"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateContinuingOperations",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Percent [Abstract]",
        "terseLabel": "Adjustments due to:"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": {
     "auth_ref": [
      "r480",
      "r515"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss).",
        "label": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent",
        "verboseLabel": "Expected tax at statutory rate"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance": {
     "auth_ref": [
      "r480",
      "r515"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the valuation allowance for deferred tax assets.",
        "label": "Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent",
        "terseLabel": "Change in valuation allowance"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate": {
     "auth_ref": [
      "r480",
      "r515"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the income tax rates.",
        "label": "Effective Income Tax Rate Reconciliation, Change in Enacted Tax Rate, Percent",
        "terseLabel": "Change in U.S. federal tax rates"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential": {
     "auth_ref": [
      "r480",
      "r515"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to statutory income tax expense (benefit) outside of the country of domicile.",
        "label": "Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Percent",
        "terseLabel": "Difference between U.S. and foreign tax"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther": {
     "auth_ref": [
      "r480",
      "r515"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other nondeductible expenses.",
        "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Other, Percent",
        "terseLabel": "Other"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost": {
     "auth_ref": [
      "r480",
      "r515"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to nondeductible expense for share-based payment arrangement.",
        "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Share-based Compensation Cost, Percent",
        "terseLabel": "Stock-based compensation expense"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments": {
     "auth_ref": [
      "r480",
      "r515"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments.",
        "label": "Effective Income Tax Rate Reconciliation, Other Adjustments, Percent",
        "terseLabel": "Other"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationOtherAdjustments",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings": {
     "auth_ref": [
      "r480",
      "r515"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to the repatriation of foreign earnings.",
        "label": "Effective Income Tax Rate Reconciliation, Repatriation of Foreign Earnings, Percent",
        "verboseLabel": "U.S. taxation of foreign earnings"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes": {
     "auth_ref": [
      "r480",
      "r515"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit).",
        "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent",
        "terseLabel": "State income and franchise tax"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies": {
     "auth_ref": [
      "r480",
      "r515"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to income tax contingencies. Includes, but not limited to, domestic tax contingency, foreign tax contingency, state and local tax contingency, and other contingencies.",
        "label": "Effective Income Tax Rate Reconciliation, Tax Contingency, Percent",
        "verboseLabel": "Uncertain tax provisions"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationTaxContingencies",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits": {
     "auth_ref": [
      "r480",
      "r515"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to tax credits. Including, but not limited to, research credit, foreign tax credit, investment tax credit, and other tax credits.",
        "label": "Effective Income Tax Rate Reconciliation, Tax Credit, Percent",
        "negatedLabel": "Business tax credits"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationTaxCredits",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EmployeeRelatedLiabilitiesCurrent": {
     "auth_ref": [
      "r54"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ScheduleOfAccruedLiabilitiesDetail": {
       "order": 1.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Employee-related Liabilities, Current",
        "terseLabel": "Employee compensation"
       }
      }
     },
     "localname": "EmployeeRelatedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ScheduleOfAccruedLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items]",
        "terseLabel": "Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/StockBasedCompensationExpenseDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": {
     "auth_ref": [
      "r452"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement.",
        "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized",
        "terseLabel": "Total unrecognized compensation cost"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "auth_ref": [
      "r452"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, Period for Recognition",
        "terseLabel": "Unrecognized compensation cost, weighted average remaining requisite service period"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_EmployeeStockOptionMember": {
     "auth_ref": [
      "r450"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time.",
        "label": "Employee Stock Option [Member]",
        "terseLabel": "Employee Stock Option"
       }
      }
     },
     "localname": "EmployeeStockOptionMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail",
      "http://www.repligencorp.com/role/SummaryOfOptionActivityParentheticalDetail",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Revenue from External Customer [Line Items]"
       }
      }
     },
     "localname": "EntityWideInformationRevenueFromExternalCustomerLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfProductRevenuesByProductLineDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EntityWideRevenueMajorCustomerLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Revenue, Major Customer [Line Items]",
        "terseLabel": "Revenue, Major Customer [Line Items]"
       }
      }
     },
     "localname": "EntityWideRevenueMajorCustomerLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/PercentageOfRevenueFromSignificantCustomersDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EquipmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tangible personal property used to produce goods and services.",
        "label": "Equipment [Member]"
       }
      }
     },
     "localname": "EquipmentMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/EstimatedUsefulLifeOfAssetsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity [Abstract]"
       }
      }
     },
     "localname": "EquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_EquityComponentDomain": {
     "auth_ref": [
      "r139",
      "r140",
      "r141",
      "r143",
      "r151",
      "r153",
      "r173",
      "r227",
      "r309",
      "r315",
      "r459",
      "r460",
      "r461",
      "r507",
      "r508",
      "r575",
      "r576",
      "r577",
      "r578",
      "r579",
      "r581",
      "r689",
      "r690",
      "r691"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc.",
        "label": "Equity Component [Domain]",
        "terseLabel": "Equity Component [Domain]"
       }
      }
     },
     "localname": "EquityComponentDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ChangeInChangeInAccumulatedOtherComprehensiveLossDetailDetail",
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquity",
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain": {
     "auth_ref": [
      "r566"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Class of asset.",
        "label": "Asset Class [Domain]"
       }
      }
     },
     "localname": "FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueByAssetClassAxis": {
     "auth_ref": [
      "r562",
      "r567"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by class of asset.",
        "label": "Asset Class [Axis]"
       }
      }
     },
     "localname": "FairValueByAssetClassAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueByFairValueHierarchyLevelAxis": {
     "auth_ref": [
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r408",
      "r563",
      "r614",
      "r615",
      "r616"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient.",
        "label": "Fair Value Hierarchy and NAV [Axis]"
       }
      }
     },
     "localname": "FairValueByFairValueHierarchyLevelAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueByMeasurementFrequencyAxis": {
     "auth_ref": [
      "r562",
      "r563",
      "r564",
      "r565",
      "r568"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by measurement frequency.",
        "label": "Measurement Frequency [Axis]"
       }
      }
     },
     "localname": "FairValueByMeasurementFrequencyAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueInputsLevel1Member": {
     "auth_ref": [
      "r368",
      "r369",
      "r374",
      "r408",
      "r563",
      "r614"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date.",
        "label": "Fair Value, Inputs, Level 1 [Member]"
       }
      }
     },
     "localname": "FairValueInputsLevel1Member",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueMeasurementFrequencyDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Measurement frequency.",
        "label": "Measurement Frequency [Domain]"
       }
      }
     },
     "localname": "FairValueMeasurementFrequencyDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueMeasurementPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for fair value measurements of financial and non-financial assets, liabilities and instruments classified in shareholders' equity. Disclosures include, but are not limited to, how an entity that manages a group of financial assets and liabilities on the basis of its net exposure measures the fair value of those assets and liabilities.",
        "label": "Fair Value Measurement, Policy [Policy Text Block]",
        "terseLabel": "Fair Value Measurement"
       }
      }
     },
     "localname": "FairValueMeasurementPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": {
     "auth_ref": [
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r408",
      "r614",
      "r615",
      "r616"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value.",
        "label": "Fair Value Hierarchy and NAV [Domain]"
       }
      }
     },
     "localname": "FairValueMeasurementsFairValueHierarchyDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations": {
     "auth_ref": [
      "r131",
      "r479"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current and deferred federal income tax expense (benefit) attributable to income (loss) from continuing operations.",
        "label": "Federal Income Tax Expense (Benefit), Continuing Operations",
        "terseLabel": "Federal"
       }
      }
     },
     "localname": "FederalIncomeTaxExpenseBenefitContinuingOperations",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ProvisionForIncomeTaxesByJurisdictionDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetUsefulLife": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Finite-Lived Intangible Asset, Useful Life",
        "verboseLabel": "Weighted Average Useful Life (in years)"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetUsefulLife",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsDetail"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "auth_ref": [
      "r280"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Finite-Lived Intangible Assets, Accumulated Amortization",
        "negatedLabel": "Accumulated Amortization"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive": {
     "auth_ref": [],
     "calculation": {
      "http://www.repligencorp.com/role/AmortizationExpenseForAmortizedIntangibleAssetsDetail": {
       "order": 6.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finite-Lived Intangible Assets, Amortization Expense, after Year Five",
        "verboseLabel": "2026 and thereafter"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AmortizationExpenseForAmortizedIntangibleAssetsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": {
     "auth_ref": [
      "r282"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/AmortizationExpenseForAmortizedIntangibleAssetsDetail": {
       "order": 1.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year One",
        "terseLabel": "2021"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AmortizationExpenseForAmortizedIntangibleAssetsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of amortization expense of assets, excluding financial assets, that lack physical substance, having a limited useful life.",
        "label": "Finite-lived Intangible Assets Amortization Expense [Table Text Block]",
        "verboseLabel": "Schedule of Amortization Expense for Amortized Intangible Assets"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": {
     "auth_ref": [
      "r282"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/AmortizationExpenseForAmortizedIntangibleAssetsDetail": {
       "order": 5.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Five",
        "terseLabel": "2025"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AmortizationExpenseForAmortizedIntangibleAssetsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": {
     "auth_ref": [
      "r282"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/AmortizationExpenseForAmortizedIntangibleAssetsDetail": {
       "order": 4.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Four",
        "terseLabel": "2024"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AmortizationExpenseForAmortizedIntangibleAssetsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": {
     "auth_ref": [
      "r282"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/AmortizationExpenseForAmortizedIntangibleAssetsDetail": {
       "order": 3.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Three",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AmortizationExpenseForAmortizedIntangibleAssetsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": {
     "auth_ref": [
      "r282"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/AmortizationExpenseForAmortizedIntangibleAssetsDetail": {
       "order": 2.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Two",
        "terseLabel": "2022"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AmortizationExpenseForAmortizedIntangibleAssetsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "auth_ref": [
      "r272",
      "r276",
      "r280",
      "r284",
      "r625",
      "r629"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by major type or class of finite-lived intangible assets.",
        "label": "Finite-Lived Intangible Assets by Major Class [Axis]",
        "terseLabel": "Finite-Lived Intangible Assets by Major Class [Axis]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/role/AcquisitionsEstimatedUsefulLifeAndFairValueDetail",
      "http://www.repligencorp.com/role/AcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/role/CommitmentsAndContingenciesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail",
      "http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsGross": {
     "auth_ref": [
      "r280",
      "r629"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Finite-Lived Intangible Assets, Gross",
        "terseLabel": "Gross Carrying Value"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsGross",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "auth_ref": [
      "r272",
      "r279"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company.",
        "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]",
        "terseLabel": "Finite-Lived Intangible Assets, Major Class Name [Domain]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/role/AcquisitionsEstimatedUsefulLifeAndFairValueDetail",
      "http://www.repligencorp.com/role/AcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/role/CommitmentsAndContingenciesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail",
      "http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsNet": {
     "auth_ref": [
      "r280",
      "r625"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/AmortizationExpenseForAmortizedIntangibleAssetsDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Finite-Lived Intangible Assets, Net",
        "terseLabel": "Net Carrying Value",
        "totalLabel": "Total"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AmortizationExpenseForAmortizedIntangibleAssetsDetail",
      "http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock": {
     "auth_ref": [
      "r124",
      "r583"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy.",
        "label": "Foreign Currency Transactions and Translations Policy [Policy Text Block]",
        "terseLabel": "Foreign Currency"
       }
      }
     },
     "localname": "ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations": {
     "auth_ref": [
      "r137"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current and deferred foreign income tax expense (benefit) attributable to income (loss) from continuing operations.",
        "label": "Foreign Income Tax Expense (Benefit), Continuing Operations",
        "terseLabel": "Foreign"
       }
      }
     },
     "localname": "ForeignIncomeTaxExpenseBenefitContinuingOperations",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ProvisionForIncomeTaxesByJurisdictionDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ForeignPlanMember": {
     "auth_ref": [
      "r411",
      "r415",
      "r420"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Location of employer sponsoring plan, designed to provide retirement benefits, not determined as principal place of business. Includes, but is not limited to, defined benefit and defined contribution plans.",
        "label": "Foreign Plan [Member]",
        "verboseLabel": "Sweden"
       }
      }
     },
     "localname": "ForeignPlanMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/EmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FurnitureAndFixturesGross": {
     "auth_ref": [
      "r288"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/PropertyPlantAndEquipmentDetail": {
       "order": 7.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before accumulated depreciation of equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases.",
        "label": "Furniture and Fixtures, Gross",
        "terseLabel": "Furniture, fixtures and office equipment"
       }
      }
     },
     "localname": "FurnitureAndFixturesGross",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/PropertyPlantAndEquipmentDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GainsLossesOnExtinguishmentOfDebt": {
     "auth_ref": [
      "r115",
      "r306",
      "r307"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 13.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome": {
       "order": 10.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Difference between the fair value of payments made and the carrying amount of debt which is extinguished prior to maturity.",
        "label": "Gain (Loss) on Extinguishment of Debt",
        "negatedLabel": "Loss on extinguishment of debt",
        "verboseLabel": "Loss on extinguishment of debt"
       }
      }
     },
     "localname": "GainsLossesOnExtinguishmentOfDebt",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GeographicConcentrationRiskMember": {
     "auth_ref": [
      "r185"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Reflects the percentage that a specified dollar value on the balance sheet or income statement in the period from one or more specified geographic areas is to a corresponding consolidated, segment, or product line amount. Risk is the materially adverse effects of economic decline or antagonistic political actions resulting in loss of assets, sales volume, labor supply, or source of materials and supplies in a US state or a specified country, continent, or region such as EMEA (Europe, Middle East, Africa).",
        "label": "Geographic Concentration Risk [Member]"
       }
      }
     },
     "localname": "GeographicConcentrationRiskMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/PercentageOfRevenueByGeographicAreaDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_Goodwill": {
     "auth_ref": [
      "r264",
      "r265",
      "r644"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets": {
       "order": 27.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "definitionGuidance": "Business acquisition, goodwill acquired",
        "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.",
        "label": "Goodwill",
        "periodEndLabel": "Balance",
        "periodStartLabel": "Balance",
        "terseLabel": "Goodwill"
       }
      }
     },
     "localname": "Goodwill",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/role/AcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/role/ChangesInCarryingValueOfGoodwillDetail",
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillAcquiredDuringPeriod": {
     "auth_ref": [
      "r266"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from a business combination.",
        "label": "Goodwill, Acquired During Period",
        "terseLabel": "Goodwill arising from Acquisition"
       }
      }
     },
     "localname": "GoodwillAcquiredDuringPeriod",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ChangesInCarryingValueOfGoodwillDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill and Intangible Assets Disclosure [Abstract]",
        "terseLabel": "Goodwill and Other Intangible Assets",
        "verboseLabel": "Goodwill and Other Intangible Assets"
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": {
     "auth_ref": [
      "r285"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for goodwill and intangible assets.",
        "label": "Goodwill and Intangible Assets Disclosure [Text Block]",
        "terseLabel": "Goodwill and Intangible Assets"
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/GoodwillAndIntangibleAssets"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock": {
     "auth_ref": [
      "r124",
      "r268",
      "r277"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for goodwill and intangible assets. This accounting policy also may address how an entity assesses and measures impairment of goodwill and intangible assets.",
        "label": "Goodwill and Intangible Assets, Policy [Policy Text Block]",
        "verboseLabel": "Business Combinations, Goodwill and Intangible Assets"
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_GoodwillForeignCurrencyTranslationGainLoss": {
     "auth_ref": [
      "r267"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of foreign currency translation gain (loss) which increases (decreases) an asset representing future economic benefits from other assets acquired in a business combination that are not individually identified and separately recognized.",
        "label": "Goodwill, Foreign Currency Translation Gain (Loss)",
        "negatedLabel": "Cumulative translation adjustment"
       }
      }
     },
     "localname": "GoodwillForeignCurrencyTranslationGainLoss",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ChangesInCarryingValueOfGoodwillDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Goodwill [Line Items]",
        "terseLabel": "Goodwill [Line Items]"
       }
      }
     },
     "localname": "GoodwillLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ChangesInCarryingValueOfGoodwillDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_GoodwillMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.",
        "label": "Goodwill [Member]",
        "verboseLabel": "Goodwill [Member]"
       }
      }
     },
     "localname": "GoodwillMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_GrossProfit": {
     "auth_ref": [
      "r94",
      "r129",
      "r197",
      "r205",
      "r208",
      "r211",
      "r213",
      "r223",
      "r573"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.",
        "label": "Gross profit",
        "terseLabel": "Gross profit"
       }
      }
     },
     "localname": "GrossProfit",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfOperationsInformationForEachOfPreviousEightQuartersDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic": {
     "auth_ref": [
      "r136",
      "r514"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to domestic operations.",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Domestic",
        "terseLabel": "Domestic"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/IncomeBeforeIncomeTaxesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "auth_ref": [
      "r85",
      "r197",
      "r205",
      "r208",
      "r211",
      "r213",
      "r642",
      "r652",
      "r658",
      "r679"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest",
        "totalLabel": "Income before income taxes",
        "verboseLabel": "Income before income taxes"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/role/IncomeBeforeIncomeTaxesDetail",
      "http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign": {
     "auth_ref": [
      "r136",
      "r514"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to foreign operations, which is defined as Income or Loss generated from operations located outside the entity's country of domicile.",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Foreign",
        "terseLabel": "Foreign"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/IncomeBeforeIncomeTaxesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeStatementAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement [Abstract]"
       }
      }
     },
     "localname": "IncomeStatementAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationAxis": {
     "auth_ref": [
      "r291"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by location in the income statement.",
        "label": "Income Statement Location [Axis]",
        "terseLabel": "Income Statement Location [Axis]"
       }
      }
     },
     "localname": "IncomeStatementLocationAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/role/LeasesConsolidatedStatementsOfComprehensiveIncomeDetail",
      "http://www.repligencorp.com/role/StockBasedCompensationExpenseDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Location in the income statement.",
        "label": "Income Statement Location [Domain]",
        "terseLabel": "Income Statement Location [Domain]"
       }
      }
     },
     "localname": "IncomeStatementLocationDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/role/LeasesConsolidatedStatementsOfComprehensiveIncomeDetail",
      "http://www.repligencorp.com/role/StockBasedCompensationExpenseDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeTaxAuthorityAxis": {
     "auth_ref": [
      "r484"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by tax jurisdiction.",
        "label": "Income Tax Authority [Axis]",
        "terseLabel": "Income Tax Authority [Axis]"
       }
      }
     },
     "localname": "IncomeTaxAuthorityAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/IncomeTaxesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxAuthorityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Agency, division or body classification that levies income taxes, examines tax returns for compliance, or grants exemptions from or makes other decisions pertaining to income taxes.",
        "label": "Income Tax Authority [Domain]",
        "terseLabel": "Income Tax Authority [Domain]"
       }
      }
     },
     "localname": "IncomeTaxAuthorityDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/IncomeTaxesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Disclosure [Abstract]"
       }
      }
     },
     "localname": "IncomeTaxDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "auth_ref": [
      "r481",
      "r490",
      "r497",
      "r509",
      "r516",
      "r520",
      "r521",
      "r523"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.",
        "label": "Income Tax Disclosure [Text Block]",
        "terseLabel": "Income Taxes"
       }
      }
     },
     "localname": "IncomeTaxDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/IncomeTaxes"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions": {
     "auth_ref": [
      "r517",
      "r519"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/CurrentDeferredAndEquityIncomeTaxesDetail": {
       "order": 3.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The tax effect of an increase or decrease in contributed capital (for example, deductible expenditures reported as a reduction of the proceeds from issuing capital stock) during the period charged or credited directly to shareholders' equity.",
        "label": "Income Tax Effects Allocated Directly to Equity, Equity Transactions",
        "terseLabel": "Equity"
       }
      }
     },
     "localname": "IncomeTaxEffectsAllocatedDirectlyToEquityEquityTransactions",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CurrentDeferredAndEquityIncomeTaxesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxExaminationLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Income Tax Examination [Line Items]",
        "terseLabel": "Income Tax Examination [Line Items]"
       }
      }
     },
     "localname": "IncomeTaxExaminationLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxExaminationTable": {
     "auth_ref": [
      "r485"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A summary of income tax examinations that an enterprise is currently subject to or that have been completed in the current period typically including a description of the examination, the jurisdiction conducting the examination, the tax year(s) under examination, the likelihood of an unfavorable settlement, the range of possible losses, the liability recorded, the Increase or Decrease in the liability from the prior period, and any penalties and interest that have been incurred or accrued.",
        "label": "Income Tax Examination [Table]",
        "terseLabel": "Income Tax Examination [Table]"
       }
      }
     },
     "localname": "IncomeTaxExaminationTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r132",
      "r152",
      "r153",
      "r196",
      "r479",
      "r510",
      "r518",
      "r680"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome": {
       "order": 13.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0
      },
      "http://www.repligencorp.com/role/CurrentDeferredAndEquityIncomeTaxesDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "Income Tax Expense (Benefit)",
        "terseLabel": "Income tax (benefit) provision",
        "totalLabel": "Total",
        "verboseLabel": "Income tax (benefit) provision"
       }
      }
     },
     "localname": "IncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/role/CurrentDeferredAndEquityIncomeTaxesDetail",
      "http://www.repligencorp.com/role/ProvisionForIncomeTaxesByJurisdictionDetail",
      "http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Amount [Abstract]",
        "terseLabel": "Adjustments due to:"
       }
      }
     },
     "localname": "IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxPolicyTextBlock": {
     "auth_ref": [
      "r83",
      "r124",
      "r474",
      "r475",
      "r490",
      "r491",
      "r496",
      "r503",
      "r705"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.",
        "label": "Income Tax, Policy [Policy Text Block]",
        "terseLabel": "Income Taxes"
       }
      }
     },
     "localname": "IncomeTaxPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance": {
     "auth_ref": [
      "r480"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to increase (decrease) in the valuation allowance for deferred tax assets.",
        "label": "Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Amount",
        "terseLabel": "Change in valuation allowance"
       }
      }
     },
     "localname": "IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxReconciliationChangeInEnactedTaxRate": {
     "auth_ref": [
      "r473",
      "r480"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations, attributable to increase (decrease) in the income tax rates.",
        "label": "Effective Income Tax Rate Reconciliation, Change in Enacted Tax Rate, Amount",
        "terseLabel": "Change in U.S. federal tax rates"
       }
      }
     },
     "localname": "IncomeTaxReconciliationChangeInEnactedTaxRate",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential": {
     "auth_ref": [
      "r480"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to foreign income tax expense (benefit).",
        "label": "Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Amount",
        "terseLabel": "Difference between U.S. and foreign tax"
       }
      }
     },
     "localname": "IncomeTaxReconciliationForeignIncomeTaxRateDifferential",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate": {
     "auth_ref": [
      "r480"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of income tax expense or benefit for the period computed by applying the domestic federal statutory tax rates to pretax income from continuing operations.",
        "label": "Effective Income Tax Rate Reconciliation at Federal Statutory Income Tax Rate, Amount",
        "terseLabel": "Expected tax at statutory rate"
       }
      }
     },
     "localname": "IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxReconciliationNondeductibleExpenseOther": {
     "auth_ref": [
      "r480"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other nondeductible expenses.",
        "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Other, Amount",
        "terseLabel": "Other"
       }
      }
     },
     "localname": "IncomeTaxReconciliationNondeductibleExpenseOther",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost": {
     "auth_ref": [
      "r480"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of reported income tax expense (benefit) in excess of (less than) expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to nondeductible expense for award under share-based payment arrangement. Includes, but is not limited to, expense determined to be nondeductible upon grant or after for award under share-based payment arrangement.",
        "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Share-based Compensation Cost, Amount",
        "terseLabel": "Stock-based compensation expense"
       }
      }
     },
     "localname": "IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxReconciliationOtherReconcilingItems": {
     "auth_ref": [
      "r480"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to tax exempt income, equity in earnings (loss) of an unconsolidated subsidiary, minority noncontrolling interest income (loss), tax holiday, disposition of a business, disposition of an asset, repatriation of foreign earnings, repatriation of foreign earnings jobs creation act of 2004, increase (decrease) in enacted tax rate, prior year income taxes, increase (decrease) in deferred tax asset valuation allowance, and other adjustments.",
        "label": "Effective Income Tax Rate Reconciliation, Other Reconciling Items, Amount",
        "terseLabel": "Other"
       }
      }
     },
     "localname": "IncomeTaxReconciliationOtherReconcilingItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings": {
     "auth_ref": [
      "r480"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to repatriation of foreign earnings.",
        "label": "Effective Income Tax Rate Reconciliation, Repatriation of Foreign Earnings, Amount",
        "verboseLabel": "U.S. taxation of foreign earnings"
       }
      }
     },
     "localname": "IncomeTaxReconciliationRepatriationOfForeignEarnings",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes": {
     "auth_ref": [
      "r480"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to state and local income tax expense (benefit).",
        "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Amount",
        "terseLabel": "State income and franchise tax"
       }
      }
     },
     "localname": "IncomeTaxReconciliationStateAndLocalIncomeTaxes",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxReconciliationTaxContingencies": {
     "auth_ref": [
      "r480"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to increase (decrease) in income tax contingencies. Including, but not limited to, domestic tax contingency, foreign tax contingency, state and local tax contingency, and other contingencies.",
        "label": "Effective Income Tax Rate Reconciliation, Tax Contingency, Amount",
        "verboseLabel": "Uncertain tax provisions"
       }
      }
     },
     "localname": "IncomeTaxReconciliationTaxContingencies",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxReconciliationTaxCredits": {
     "auth_ref": [
      "r480"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to tax credits. Including, but not limited to, research credit, foreign tax credit, investment tax credit, and other tax credits.",
        "label": "Effective Income Tax Rate Reconciliation, Tax Credit, Amount",
        "negatedLabel": "Business tax credits"
       }
      }
     },
     "localname": "IncomeTaxReconciliationTaxCredits",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfFederalStatutoryRateToEffectiveIncomeTaxRateDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxesPaid": {
     "auth_ref": [
      "r112",
      "r119"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income.",
        "label": "Income Taxes Paid",
        "terseLabel": "Income tax paid"
       }
      }
     },
     "localname": "IncomeTaxesPaid",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/RelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxesPaidNet": {
     "auth_ref": [
      "r119"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.",
        "label": "Income Taxes Paid, Net",
        "terseLabel": "Income taxes paid"
       }
      }
     },
     "localname": "IncomeTaxesPaidNet",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "auth_ref": [
      "r114"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 19.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.",
        "label": "Increase (Decrease) in Accounts Payable",
        "terseLabel": "Accounts payable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsPayable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "auth_ref": [
      "r114"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 15.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.",
        "label": "Increase (Decrease) in Accounts Receivable",
        "negatedLabel": "Accounts receivable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccruedLiabilities": {
     "auth_ref": [
      "r114"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 20.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid.",
        "label": "Increase (Decrease) in Accrued Liabilities",
        "verboseLabel": "Accrued expenses"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccruedLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerAsset": {
     "auth_ref": [
      "r114"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 21.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.",
        "label": "Increase (Decrease) in Contract with Customer, Asset",
        "negatedLabel": "Unbilled receivables"
       }
      }
     },
     "localname": "IncreaseDecreaseInContractWithCustomerAsset",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "auth_ref": [
      "r114"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 17.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.",
        "label": "Increase (Decrease) in Inventories",
        "negatedLabel": "Inventories"
       }
      }
     },
     "localname": "IncreaseDecreaseInInventories",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Operating Capital [Abstract]",
        "terseLabel": "Changes in operating assets and liabilities, excluding impact of acquisitions:"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherNoncurrentAssets": {
     "auth_ref": [
      "r114"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 26.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in noncurrent assets classified as other.",
        "label": "Increase (Decrease) in Other Noncurrent Assets",
        "negatedLabel": "Other assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherNoncurrentAssets",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities": {
     "auth_ref": [],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 24.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in noncurrent operating liabilities classified as other.",
        "label": "Increase (Decrease) in Other Noncurrent Liabilities",
        "terseLabel": "Long-term liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherNoncurrentLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherReceivables": {
     "auth_ref": [
      "r114"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 16.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in receivables classified as other.",
        "label": "Increase (Decrease) in Other Receivables",
        "negatedLabel": "Royalties and other receivables"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherReceivables",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": {
     "auth_ref": [
      "r114"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 18.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other.",
        "label": "Increase (Decrease) in Prepaid Expense and Other Assets",
        "negatedLabel": "Prepaid expenses and other assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities": {
     "auth_ref": [
      "r159",
      "r160",
      "r165"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ReconciliationOfBasicAndDilutedSharesAmountsDetail": {
       "order": 2.0,
       "parentTag": "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of convertible debt securities using the if-converted method.",
        "label": "Incremental Common Shares Attributable to Dilutive Effect of Conversion of Debt Securities",
        "verboseLabel": "Convertible senior notes"
       }
      }
     },
     "localname": "IncrementalCommonSharesAttributableToConversionOfDebtSecurities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfBasicAndDilutedSharesAmountsDetail",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis": {
     "auth_ref": [
      "r275",
      "r283"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type or class of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit.",
        "label": "Indefinite-lived Intangible Assets [Axis]",
        "terseLabel": "Indefinite-lived Intangible Assets [Axis]"
       }
      }
     },
     "localname": "IndefiniteLivedIntangibleAssetsByMajorClassAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill": {
     "auth_ref": [
      "r283"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit.",
        "label": "Indefinite-lived Intangible Assets (Excluding Goodwill)",
        "verboseLabel": "Gross Carrying Value"
       }
      }
     },
     "localname": "IndefiniteLivedIntangibleAssetsExcludingGoodwill",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "auth_ref": [
      "r275",
      "r283"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The major class of indefinite-lived intangible asset (for example, trade names, etc. but not all-inclusive), excluding goodwill. A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of the company.",
        "label": "Indefinite-lived Intangible Assets, Major Class Name [Domain]",
        "terseLabel": "Indefinite-lived Intangible Assets, Major Class Name [Domain]"
       }
      }
     },
     "localname": "IndefiniteLivedIntangibleAssetsMajorClassNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IntangibleAssetsGrossExcludingGoodwill": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before accumulated amortization of intangible assets, excluding goodwill.",
        "label": "Intangible Assets, Gross (Excluding Goodwill)",
        "terseLabel": "Gross Carrying Value"
       }
      }
     },
     "localname": "IntangibleAssetsGrossExcludingGoodwill",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwill": {
     "auth_ref": [
      "r270",
      "r278"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets": {
       "order": 26.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.",
        "label": "Intangible Assets, Net (Excluding Goodwill)",
        "terseLabel": "Intangible assets, net",
        "verboseLabel": "Net Carrying Value"
       }
      }
     },
     "localname": "IntangibleAssetsNetExcludingGoodwill",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestExpense": {
     "auth_ref": [
      "r84",
      "r195",
      "r584",
      "r587",
      "r657"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome": {
       "order": 11.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the cost of borrowed funds accounted for as interest expense.",
        "label": "Interest Expense",
        "negatedLabel": "Interest expense"
       }
      }
     },
     "localname": "InterestExpense",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestExpenseDebtExcludingAmortization": {
     "auth_ref": [
      "r101"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the portion of interest incurred in the period on debt arrangements that was charged against earnings, excluding amortization of debt discount (premium) and financing costs.",
        "label": "Interest Expense, Debt, Excluding Amortization",
        "terseLabel": "Contractual coupon interest"
       }
      }
     },
     "localname": "InterestExpenseDebtExcludingAmortization",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestPaidNet": {
     "auth_ref": [
      "r109",
      "r111",
      "r119"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.",
        "label": "Interest Paid, Excluding Capitalized Interest, Operating Activities",
        "terseLabel": "Interest paid"
       }
      }
     },
     "localname": "InterestPaidNet",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryCurrentTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about inventory expected to be sold or consumed within one year or operating cycle, if longer.",
        "label": "Inventory, Current [Table]",
        "terseLabel": "Inventory, Current [Table]"
       }
      }
     },
     "localname": "InventoryCurrentTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ScheduleOfInventoriesDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_InventoryDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory Disclosure [Abstract]"
       }
      }
     },
     "localname": "InventoryDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_InventoryFinishedGoodsNetOfReserves": {
     "auth_ref": [
      "r38",
      "r259"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ScheduleOfInventoriesDetail": {
       "order": 3.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale.",
        "label": "Inventory, Finished Goods, Net of Reserves",
        "terseLabel": "Finished products"
       }
      }
     },
     "localname": "InventoryFinishedGoodsNetOfReserves",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ScheduleOfInventoriesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Inventory [Line Items]",
        "terseLabel": "Inventory [Line Items]"
       }
      }
     },
     "localname": "InventoryLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ScheduleOfInventoriesDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_InventoryNet": {
     "auth_ref": [
      "r2",
      "r65"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets": {
       "order": 21.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      },
      "http://www.repligencorp.com/role/ScheduleOfInventoriesDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.",
        "label": "Inventory, Net",
        "terseLabel": "Inventories, net",
        "totalLabel": "Total inventories, net"
       }
      }
     },
     "localname": "InventoryNet",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/role/ScheduleOfInventoriesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryPolicyTextBlock": {
     "auth_ref": [
      "r16",
      "r66",
      "r124",
      "r170",
      "r257",
      "r258",
      "r260"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.",
        "label": "Inventory, Policy [Policy Text Block]",
        "terseLabel": "Inventories"
       }
      }
     },
     "localname": "InventoryPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InventoryRawMaterialsNetOfReserves": {
     "auth_ref": [
      "r40",
      "r259"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ScheduleOfInventoriesDetail": {
       "order": 1.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process.",
        "label": "Inventory, Raw Materials, Net of Reserves",
        "terseLabel": "Raw materials"
       }
      }
     },
     "localname": "InventoryRawMaterialsNetOfReserves",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ScheduleOfInventoriesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryWorkInProcessNetOfReserves": {
     "auth_ref": [
      "r39",
      "r259"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ScheduleOfInventoriesDetail": {
       "order": 2.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing.",
        "label": "Inventory, Work in Process, Net of Reserves",
        "terseLabel": "Work-in-process"
       }
      }
     },
     "localname": "InventoryWorkInProcessNetOfReserves",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ScheduleOfInventoriesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InvestmentIncomeNet": {
     "auth_ref": [
      "r97",
      "r99"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome": {
       "order": 9.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after accretion (amortization) of discount (premium), and investment expense, of interest income and dividend income on nonoperating securities.",
        "label": "Investment Income, Net",
        "terseLabel": "Investment income"
       }
      }
     },
     "localname": "InvestmentIncomeNet",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Land": {
     "auth_ref": [
      "r10",
      "r48"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/PropertyPlantAndEquipmentDetail": {
       "order": 3.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before accumulated depletion of real estate held for productive use, excluding land held for sale.",
        "label": "Land",
        "terseLabel": "Land"
       }
      }
     },
     "localname": "Land",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/PropertyPlantAndEquipmentDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LatestTaxYearMember": {
     "auth_ref": [
      "r484"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Latest identified tax year.",
        "label": "Latest Tax Year [Member]",
        "terseLabel": "Latest Tax Year"
       }
      }
     },
     "localname": "LatestTaxYearMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/IncomeTaxesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/SummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LeaseCost": {
     "auth_ref": [
      "r600",
      "r602"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/LeasesConsolidatedStatementsOfComprehensiveIncomeDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lease cost recognized by lessee for lease contract.",
        "label": "Lease, Cost",
        "totalLabel": "Lease, cost"
       }
      }
     },
     "localname": "LeaseCost",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/LeasesConsolidatedStatementsOfComprehensiveIncomeDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LeaseCostTableTextBlock": {
     "auth_ref": [
      "r600"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.",
        "label": "Lease, Cost [Table Text Block]",
        "verboseLabel": "Lease, Cost"
       }
      }
     },
     "localname": "LeaseCostTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/LeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LeaseholdImprovementsGross": {
     "auth_ref": [
      "r11",
      "r288"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/PropertyPlantAndEquipmentDetail": {
       "order": 5.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before accumulated depreciation of additions or improvements to assets held under a lease arrangement.",
        "label": "Leasehold Improvements, Gross",
        "terseLabel": "Leasehold improvements"
       }
      }
     },
     "localname": "LeaseholdImprovementsGross",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/PropertyPlantAndEquipmentDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LeaseholdImprovementsMember": {
     "auth_ref": [
      "r288"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Additions or improvements to assets held under a lease arrangement.",
        "label": "Leasehold Improvements [Member]"
       }
      }
     },
     "localname": "LeaseholdImprovementsMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/EstimatedUsefulLifeOfAssetsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LeasesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Leases [Abstract]"
       }
      }
     },
     "localname": "LeasesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "auth_ref": [
      "r601"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.",
        "label": "Lessee, Operating Lease, Liability, Maturity [Table Text Block]",
        "terseLabel": "Maturities of lease liabilities"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/LeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "auth_ref": [
      "r601"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.repligencorp.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetailAlternate1": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease.",
        "label": "Lessee, Operating Lease, Liability, Payments, Due",
        "totalLabel": "Total future minimum lease payments"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive": {
     "auth_ref": [
      "r601"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetail": {
       "order": 6.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease due after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, Payments, Due after Year Five",
        "verboseLabel": "2026 and thereafter"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "auth_ref": [
      "r601"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetail": {
       "order": 1.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year One",
        "verboseLabel": "2021"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": {
     "auth_ref": [
      "r601"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetail": {
       "order": 5.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Five",
        "verboseLabel": "2025"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": {
     "auth_ref": [
      "r601"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetail": {
       "order": 4.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Four",
        "verboseLabel": "2024"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": {
     "auth_ref": [
      "r601"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetail": {
       "order": 3.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Three",
        "verboseLabel": "2023"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "auth_ref": [
      "r601"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetail": {
       "order": 2.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Two",
        "verboseLabel": "2022"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "auth_ref": [
      "r601"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetailAlternate1": {
       "order": 7.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.",
        "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount",
        "verboseLabel": "Less: amount of lease payment representing interest"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeasesTextBlock": {
     "auth_ref": [
      "r603"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.",
        "label": "Lessee, Operating Leases [Text Block]",
        "verboseLabel": "Leases"
       }
      }
     },
     "localname": "LesseeOperatingLeasesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/Leases"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_Liabilities": {
     "auth_ref": [
      "r53",
      "r129",
      "r207",
      "r223",
      "r553",
      "r556",
      "r557",
      "r573"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets": {
       "order": 7.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.",
        "label": "Total liabilities",
        "totalLabel": "Total liabilities"
       }
      }
     },
     "localname": "Liabilities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "auth_ref": [
      "r35",
      "r129",
      "r223",
      "r573",
      "r650",
      "r672"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.",
        "label": "Liabilities and Equity",
        "totalLabel": "Total liabilities and stockholders' equity"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities and Equity [Abstract]",
        "terseLabel": "Liabilities and Stockholders' Equity"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesCurrent": {
     "auth_ref": [
      "r55",
      "r129",
      "r223",
      "r553",
      "r556",
      "r557",
      "r573"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets": {
       "order": 8.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.",
        "label": "Liabilities, Current",
        "totalLabel": "Total current liabilities"
       }
      }
     },
     "localname": "LiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities, Current [Abstract]",
        "terseLabel": "Current liabilities:"
       }
      }
     },
     "localname": "LiabilitiesCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LoansAndLeasesReceivableLeaseFinancingPolicy": {
     "auth_ref": [
      "r124",
      "r589",
      "r591",
      "r592"
     ],
     "lang": {
      "en-us": {
       "role": {
        "definitionGuidance": "Lease Accounting",
        "documentation": "Disclosure of accounting policy for recording, valuing, and reporting amounts due from lessees pursuant to contractual arrangements, which are secured, at a minimum, by the asset being rented, and in measuring certain revenues, expenses and gains and losses arising from creating, acquiring, collecting, terminating, modifying and holding lease agreements.",
        "label": "Loans and Leases Receivable, Lease Financing, Policy [Policy Text Block]"
       }
      }
     },
     "localname": "LoansAndLeasesReceivableLeaseFinancingPolicy",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LongTermDebt": {
     "auth_ref": [
      "r23",
      "r303",
      "r649",
      "r668"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/CarryingValueOfConvertibleSeniorNotesDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.",
        "label": "Long-term Debt",
        "terseLabel": "Notes, carrying value",
        "totalLabel": "Total convertible senior notes",
        "verboseLabel": "Total convertible senior notes"
       }
      }
     },
     "localname": "LongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CarryingValueOfConvertibleSeniorNotesDetail",
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtFairValue": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The fair value amount of long-term debt whether such amount is presented as a separate caption or as a parenthetical disclosure. Additionally, this element may be used in connection with the fair value disclosures required in the footnote disclosures to the financial statements. The element may be used in both the balance sheet and disclosure in the same submission.",
        "label": "Long-term Debt, Fair Value",
        "terseLabel": "Fair value of convertible senior notes",
        "verboseLabel": "Fair value of the note"
       }
      }
     },
     "localname": "LongTermDebtFairValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtTextBlock": {
     "auth_ref": [
      "r308"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for long-term debt.",
        "label": "Long-term Debt [Text Block]",
        "terseLabel": "Convertible Senior Notes"
       }
      }
     },
     "localname": "LongTermDebtTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConvertibleSeniorNotes"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LongTermPurchaseCommitmentAmount": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The minimum amount the entity agreed to spend under the long-term purchase commitment.",
        "label": "Long-term Purchase Commitment, Amount",
        "verboseLabel": "Payments to Navigo in connection with this program, which are recorded to research and development expenses"
       }
      }
     },
     "localname": "LongTermPurchaseCommitmentAmount",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by category of items purchased under a long-term purchase commitment.",
        "label": "Category of Item Purchased [Axis]"
       }
      }
     },
     "localname": "LongTermPurchaseCommitmentByCategoryOfItemPurchasedAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "General description of the goods or services to be purchased from the counterparty to the long-term purchase commitment.",
        "label": "Long-term Purchase Commitment, Category of Item Purchased [Domain]"
       }
      }
     },
     "localname": "LongTermPurchaseCommitmentCategoryOfItemPurchasedDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LongtermDebtTypeAxis": {
     "auth_ref": [
      "r59"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of long-term debt.",
        "label": "Long-term Debt, Type [Axis]"
       }
      }
     },
     "localname": "LongtermDebtTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LongtermDebtTypeDomain": {
     "auth_ref": [
      "r59",
      "r299"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of long-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer.",
        "label": "Long-term Debt, Type [Domain]"
       }
      }
     },
     "localname": "LongtermDebtTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_MachineryAndEquipmentGross": {
     "auth_ref": [
      "r11",
      "r288"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/PropertyPlantAndEquipmentDetail": {
       "order": 6.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before accumulated depreciation of tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment.",
        "label": "Machinery and Equipment, Gross",
        "terseLabel": "Equipment"
       }
      }
     },
     "localname": "MachineryAndEquipmentGross",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/PropertyPlantAndEquipmentDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The equity interest of noncontrolling shareholders, partners or other equity holders in consolidated entity.",
        "label": "Noncontrolling Interest, Ownership Percentage by Noncontrolling Owners",
        "terseLabel": "Non controlling ownership interest minimum"
       }
      }
     },
     "localname": "MinorityInterestOwnershipPercentageByNoncontrollingOwners",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/RelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_MoneyMarketFundsMember": {
     "auth_ref": [
      "r368"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fund that invests in short-term money-market instruments, for example, but not limited to, commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and other highly liquid securities.",
        "label": "Money Market Funds [Member]"
       }
      }
     },
     "localname": "MoneyMarketFundsMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NatureOfOperations": {
     "auth_ref": [
      "r177",
      "r192"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward.",
        "label": "Nature of Operations [Text Block]",
        "terseLabel": "Organization and Nature of Business"
       }
      }
     },
     "localname": "NatureOfOperations",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/OrganizationAndNatureOfBusiness"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "auth_ref": [
      "r110"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.",
        "label": "Net Cash Provided by (Used in) Financing Activities",
        "totalLabel": "Total cash provided by financing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]",
        "terseLabel": "Cash flows from financing activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "auth_ref": [
      "r110"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 27.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.",
        "label": "Net Cash Provided by (Used in) Investing Activities",
        "totalLabel": "Total cash used in investing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]",
        "terseLabel": "Cash flows from investing activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "auth_ref": [
      "r110",
      "r113",
      "r116"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 8.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.",
        "label": "Net Cash Provided by (Used in) Operating Activities",
        "totalLabel": "Total cash provided by operating activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]",
        "terseLabel": "Cash flows from operating activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetIncomeLoss": {
     "auth_ref": [
      "r0",
      "r77",
      "r80",
      "r86",
      "r116",
      "r129",
      "r142",
      "r146",
      "r147",
      "r148",
      "r149",
      "r152",
      "r153",
      "r162",
      "r197",
      "r205",
      "r208",
      "r211",
      "r213",
      "r223",
      "r573",
      "r653",
      "r675"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 14.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome": {
       "order": 14.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.",
        "label": "Net Income (Loss) Attributable to Parent",
        "positiveTerseLabel": "Net income",
        "terseLabel": "Net income",
        "totalLabel": "Net income"
       }
      }
     },
     "localname": "NetIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfOperationsInformationForEachOfPreviousEightQuartersDetail",
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquity",
      "http://www.repligencorp.com/role/ReconciliationOfBasicAndDilutedSharesAmountsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.",
        "label": "New Accounting Pronouncements, Policy [Policy Text Block]",
        "terseLabel": "Recent Accounting Standards Updates"
       }
      }
     },
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_NoncompeteAgreementsMember": {
     "auth_ref": [
      "r536"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Agreement in which one party agrees not to pursue a similar trade in competition with another party.",
        "label": "Noncompete Agreements [Member]",
        "verboseLabel": "Non-compete agreements"
       }
      }
     },
     "localname": "NoncompeteAgreementsMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsEstimatedUsefulLifeAndFairValueDetail",
      "http://www.repligencorp.com/role/AcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NonoperatingIncomeExpense": {
     "auth_ref": [
      "r98"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome": {
       "order": 8.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).",
        "label": "Nonoperating Income (Expense)",
        "totalLabel": "Other expenses, net"
       }
      }
     },
     "localname": "NonoperatingIncomeExpense",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NonrecurringAdjustmentAxis": {
     "auth_ref": [
      "r529"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information about material and nonrecurring adjustment directly attributable to the business combination(s) included in the reported pro forma revenue and earnings (supplemental pro forma information).",
        "label": "Nonrecurring Adjustment [Axis]"
       }
      }
     },
     "localname": "NonrecurringAdjustmentAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NonrecurringAdjustmentDomain": {
     "auth_ref": [
      "r529"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Material, nonrecurring adjustment(s) allocated (included) to (in) reported pro forma revenue and earnings (supplemental pro forma information).",
        "label": "Nonrecurring Adjustment [Domain]"
       }
      }
     },
     "localname": "NonrecurringAdjustmentDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OpenTaxYear": {
     "auth_ref": [
      "r484"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tax year that remains open to examination under enacted tax laws, in CCYY format.",
        "label": "Open Tax Year",
        "verboseLabel": "Fiscal year subject to examination"
       }
      }
     },
     "localname": "OpenTaxYear",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail"
     ],
     "xbrltype": "gYearListItemType"
    },
    "us-gaap_OperatingExpenses": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.",
        "label": "Operating expenses",
        "terseLabel": "Operating expenses"
       }
      }
     },
     "localname": "OperatingExpenses",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfOperationsInformationForEachOfPreviousEightQuartersDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingIncomeLoss": {
     "auth_ref": [
      "r197",
      "r205",
      "r208",
      "r211",
      "r213"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net result for the period of deducting operating expenses from operating revenues.",
        "label": "Operating Income (Loss)",
        "totalLabel": "Income from operations"
       }
      }
     },
     "localname": "OperatingIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseCost": {
     "auth_ref": [
      "r596",
      "r602"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/LeasesConsolidatedStatementsOfComprehensiveIncomeDetail": {
       "order": 1.0,
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.",
        "label": "Operating Lease, Cost",
        "terseLabel": "Operating lease cost"
       }
      }
     },
     "localname": "OperatingLeaseCost",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/LeasesConsolidatedStatementsOfComprehensiveIncomeDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiability": {
     "auth_ref": [
      "r594"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetailAlternate1": {
       "order": 8.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "definitionGuidance": "Minimum operating lease payments",
        "disclosureGuidance": "Operating lease liabilities",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.",
        "label": "Operating Lease, Liability",
        "presentationGuidance": "Total operating lease liabilities"
       }
      }
     },
     "localname": "OperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/LeasesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/LeasesConsolidatedBalanceSheetDetail",
      "http://www.repligencorp.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "auth_ref": [
      "r594"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets": {
       "order": 12.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.",
        "label": "Operating Lease, Liability, Current",
        "verboseLabel": "Operating lease liability"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/role/LeasesConsolidatedBalanceSheetDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "auth_ref": [
      "r594"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets": {
       "order": 15.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.",
        "label": "Operating Lease, Liability, Noncurrent",
        "verboseLabel": "Operating lease liability, long-term"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/role/LeasesConsolidatedBalanceSheetDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeasePayments": {
     "auth_ref": [
      "r595",
      "r597"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.",
        "label": "Operating Lease, Payments",
        "negatedLabel": "Operating lease cost"
       }
      }
     },
     "localname": "OperatingLeasePayments",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/LeasesConsolidatedStatementsOfCashFlowsRelatedToOperatingLeasesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "auth_ref": [
      "r593"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets": {
       "order": 30.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's right to use underlying asset under operating lease.",
        "label": "Operating Lease, Right-of-Use Asset",
        "terseLabel": "Operating lease right of use assets"
       }
      }
     },
     "localname": "OperatingLeaseRightOfUseAsset",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/role/LeasesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "auth_ref": [
      "r599",
      "r602"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average discount rate for operating lease calculated at point in time.",
        "label": "Operating Lease, Weighted Average Discount Rate, Percent",
        "verboseLabel": "Weighted average discount rate"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/LeasesOperatingLeaseLiabilitiesDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "auth_ref": [
      "r598",
      "r602"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Operating Lease, Weighted Average Remaining Lease Term",
        "verboseLabel": "Weighted average remaining lease term (years)"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/LeasesOperatingLeaseLiabilitiesDetail"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_OperatingLossCarryforwards": {
     "auth_ref": [
      "r498"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.",
        "label": "Operating Loss Carryforwards",
        "terseLabel": "Net operating loss carry forwards"
       }
      }
     },
     "localname": "OperatingLossCarryforwards",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherAccruedLiabilitiesCurrent": {
     "auth_ref": [
      "r12",
      "r14",
      "r15",
      "r54"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ScheduleOfAccruedLiabilitiesDetail": {
       "order": 6.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.",
        "label": "Other Accrued Liabilities, Current",
        "terseLabel": "Other"
       }
      }
     },
     "localname": "OtherAccruedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ScheduleOfAccruedLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherAssetsCurrent": {
     "auth_ref": [
      "r67"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/PrepaidExpensesAndOtherCurrentAssetsDetail": {
       "order": 4.0,
       "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current assets classified as other.",
        "label": "Other Assets, Current",
        "terseLabel": "Other"
       }
      }
     },
     "localname": "OtherAssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/PrepaidExpensesAndOtherCurrentAssetsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherAssetsMember": {
     "auth_ref": [
      "r558",
      "r560"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing other assets.",
        "label": "Other Assets [Member]"
       }
      }
     },
     "localname": "OtherAssetsMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "auth_ref": [
      "r50"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets": {
       "order": 28.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncurrent assets classified as other.",
        "label": "Other Assets, Noncurrent",
        "terseLabel": "Other assets"
       }
      }
     },
     "localname": "OtherAssetsNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": {
     "auth_ref": [
      "r70"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome": {
       "order": 15.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.",
        "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax",
        "verboseLabel": "Foreign currency translation adjustment"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent": {
     "auth_ref": [
      "r78",
      "r81",
      "r550",
      "r551",
      "r554"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax of other comprehensive income (loss) attributable to parent entity.",
        "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent",
        "terseLabel": "Other comprehensive loss"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ChangeInChangeInAccumulatedOtherComprehensiveLossDetailDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent [Abstract]",
        "terseLabel": "Other comprehensive income (loss):"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherInformationPertainingToIncomeTaxes": {
     "auth_ref": [
      "r481"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Description of events or transactions pertaining to income taxes classified as other.",
        "label": "Other Information Pertaining to Income Taxes",
        "terseLabel": "Net operating loss and business tax credit carry forwards expiration date"
       }
      }
     },
     "localname": "OtherInformationPertainingToIncomeTaxes",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherIntangibleAssetsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Intangible assets classified as other.",
        "label": "Other Intangible Assets [Member]",
        "terseLabel": "Other intangibles"
       }
      }
     },
     "localname": "OtherIntangibleAssetsMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OtherLiabilitiesNoncurrent": {
     "auth_ref": [
      "r60"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets": {
       "order": 14.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.",
        "label": "Other Liabilities, Noncurrent",
        "terseLabel": "Other liabilities, long-term"
       }
      }
     },
     "localname": "OtherLiabilitiesNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherNoncashIncomeExpense": {
     "auth_ref": [
      "r116"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 12.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (expense) included in net income that results in no cash inflow (outflow), classified as other.",
        "label": "Other Noncash Income (Expense)",
        "negatedLabel": "Other"
       }
      }
     },
     "localname": "OtherNoncashIncomeExpense",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "auth_ref": [
      "r100"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome": {
       "order": 12.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (expense) related to nonoperating activities, classified as other.",
        "label": "Other Nonoperating Income (Expense)",
        "verboseLabel": "Other (expenses) income"
       }
      }
     },
     "localname": "OtherNonoperatingIncomeExpense",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherNonoperatingIncomeExpenseAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Nonoperating Income (Expense) [Abstract]",
        "terseLabel": "Other (expenses) income:"
       }
      }
     },
     "localname": "OtherNonoperatingIncomeExpenseAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain": {
     "auth_ref": [
      "r339",
      "r340"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred compensation related to other postretirement benefit arrangements that are not equivalent to a defined benefit other postretirement benefit plan. Includes, but is not limited to, employment contracts with one or more selected officers or key employees. Excludes equity-based compensation plans, defined benefit pension plans and defined benefit other postretirement benefit plans.",
        "label": "Other Postretirement Benefits, Individual Contracts, Type of Deferred Compensation [Domain]",
        "terseLabel": "Other Postretirement Benefits, Individual Contracts, Type of Deferred Compensation [Domain]"
       }
      }
     },
     "localname": "OtherPostretirementBenefitsIndividualContractsTypeOfDeferredCompensationDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/EmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OtherReceivablesGrossCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets": {
       "order": 20.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before allowance, of receivables classified as other, due within one year or the operating cycle, if longer.",
        "label": "Other Receivables, Gross, Current",
        "terseLabel": "Royalties and other receivables"
       }
      }
     },
     "localname": "OtherReceivablesGrossCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PatentsMember": {
     "auth_ref": [
      "r538"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Exclusive legal right granted by the government to the owner of the patent to exploit an invention or a process for a period of time specified by law.",
        "label": "Patents [Member]",
        "terseLabel": "Patents"
       }
      }
     },
     "localname": "PatentsMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PayablesAndAccrualsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payables and Accruals [Abstract]"
       }
      }
     },
     "localname": "PayablesAndAccrualsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": {
     "auth_ref": [
      "r107"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement.",
        "label": "Payment, Tax Withholding, Share-based Payment Arrangement",
        "negatedLabel": "Payment of tax withholding obligation on vesting of restricted stock"
       }
      }
     },
     "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireBusinessesGross": {
     "auth_ref": [
      "r103",
      "r543"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price.",
        "label": "Cash consideration",
        "terseLabel": "Cash consideration"
       }
      }
     },
     "localname": "PaymentsToAcquireBusinessesGross",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": {
     "auth_ref": [
      "r103"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 30.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase.",
        "label": "Payments to Acquire Businesses, Net of Cash Acquired",
        "negatedLabel": "Acquisition of assets, net of cash acquired"
       }
      }
     },
     "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "auth_ref": [
      "r104"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 31.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.",
        "label": "Payments to Acquire Property, Plant, and Equipment",
        "negatedLabel": "Purchases of property, plant and equipment"
       }
      }
     },
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireSoftware": {
     "auth_ref": [
      "r104"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 29.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow associated with the acquisition from vendors of software programs or applications for internal use (that is, not to be sold, leased or otherwise marketed to others) that qualify for capitalization.",
        "label": "Payments to Acquire Software",
        "negatedLabel": "Additions to capitalized software costs"
       }
      }
     },
     "localname": "PaymentsToAcquireSoftware",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToDevelopSoftware": {
     "auth_ref": [
      "r104"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 28.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow associated with the development or modification of software programs or applications for internal use (that is, not to be sold, leased or otherwise marketed to others) that qualify for capitalization.",
        "label": "Payments to Develop Software",
        "negatedLabel": "Developed technology intangible asset payment"
       }
      }
     },
     "localname": "PaymentsToDevelopSoftware",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PensionPlansDefinedBenefitMember": {
     "auth_ref": [
      "r342",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362",
      "r363",
      "r364",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r409",
      "r410",
      "r411",
      "r417",
      "r418",
      "r419",
      "r420"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Plan designed to provide participant with pension benefits. Includes, but is not limited to, defined benefit and defined contribution plans. Excludes other postretirement benefits.",
        "label": "Pension Plan [Member]",
        "terseLabel": "Pension Plans, Defined Benefit"
       }
      }
     },
     "localname": "PensionPlansDefinedBenefitMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/EmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PlanNameAxis": {
     "auth_ref": [
      "r427",
      "r453"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by plan name for share-based payment arrangement.",
        "label": "Plan Name [Axis]"
       }
      }
     },
     "localname": "PlanNameAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PlanNameDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Plan name for share-based payment arrangement.",
        "label": "Plan Name [Domain]"
       }
      }
     },
     "localname": "PlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PostemploymentBenefitsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Postemployment Benefits [Abstract]"
       }
      }
     },
     "localname": "PostemploymentBenefitsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_PreferredStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r27"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.",
        "label": "Preferred Stock, Par or Stated Value Per Share",
        "terseLabel": "Preferred stock, par value"
       }
      }
     },
     "localname": "PreferredStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "auth_ref": [
      "r27"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.",
        "label": "Preferred Stock, Shares Authorized",
        "terseLabel": "Preferred stock, shares authorized"
       }
      }
     },
     "localname": "PreferredStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockSharesIssued": {
     "auth_ref": [
      "r27"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.",
        "label": "Preferred Stock, Shares Issued",
        "terseLabel": "Preferred stock, shares issued"
       }
      }
     },
     "localname": "PreferredStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockSharesOutstanding": {
     "auth_ref": [
      "r27"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.",
        "label": "Preferred Stock, Shares Outstanding",
        "terseLabel": "Preferred stock, shares outstanding"
       }
      }
     },
     "localname": "PreferredStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockValue": {
     "auth_ref": [
      "r27"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.",
        "label": "Preferred Stock, Value, Issued",
        "terseLabel": "Preferred stock, $0.01 par value, 5,000,000 shares authorized, no shares issued or outstanding"
       }
      }
     },
     "localname": "PreferredStockValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "auth_ref": [
      "r6",
      "r44",
      "r45"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets": {
       "order": 22.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      },
      "http://www.repligencorp.com/role/PrepaidExpensesAndOtherCurrentAssetsDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.",
        "label": "Prepaid Expense and Other Assets, Current",
        "terseLabel": "Prepaid expenses and other current assets",
        "totalLabel": "Total prepaid expenses and other current assets"
       }
      }
     },
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/role/PrepaidExpensesAndOtherCurrentAssetsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrepaidInsurance": {
     "auth_ref": [
      "r4",
      "r7",
      "r261",
      "r263"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/PrepaidExpensesAndOtherCurrentAssetsDetail": {
       "order": 3.0,
       "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of asset related to consideration paid in advance for insurance that provides economic benefits within a future period of one year or the normal operating cycle, if longer.",
        "label": "Prepaid Insurance",
        "terseLabel": "Prepaid insurance"
       }
      }
     },
     "localname": "PrepaidInsurance",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/PrepaidExpensesAndOtherCurrentAssetsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrepaidTaxes": {
     "auth_ref": [
      "r5",
      "r7",
      "r262",
      "r263"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/PrepaidExpensesAndOtherCurrentAssetsDetail": {
       "order": 2.0,
       "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of asset related to consideration paid in advance for income and other taxes that provide economic benefits within a future period of one year or the normal operating cycle, if longer.",
        "label": "Prepaid Taxes",
        "terseLabel": "Prepaid taxes"
       }
      }
     },
     "localname": "PrepaidTaxes",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/PrepaidExpensesAndOtherCurrentAssetsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrincipalOwnerMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Owner of record or known beneficial owner of more than 10 percent of the voting interests of the entity.",
        "label": "Principal Owner [Member]",
        "terseLabel": "Principal Owner"
       }
      }
     },
     "localname": "PrincipalOwnerMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/RelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ProceedsFromConvertibleDebt": {
     "auth_ref": [
      "r106"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from the issuance of a long-term debt instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder.",
        "label": "Proceeds from Convertible Debt",
        "terseLabel": "Proceeds from issuance of convertible senior notes, net of costs",
        "verboseLabel": "Proceeds from issuance of senior convertible notes, net of issuance costs"
       }
      }
     },
     "localname": "ProceedsFromConvertibleDebt",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromIssuanceOfCommonStock": {
     "auth_ref": [
      "r105"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from the additional capital contribution to the entity.",
        "label": "Proceeds from Issuance of Common Stock",
        "terseLabel": "Net proceeds from public offering",
        "verboseLabel": "Proceeds from issuance of common stock, net of issuance costs"
       }
      }
     },
     "localname": "ProceedsFromIssuanceOfCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromStockOptionsExercised": {
     "auth_ref": [
      "r105",
      "r454"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement.",
        "label": "Proceeds from Stock Options Exercised",
        "terseLabel": "Exercise of stock options"
       }
      }
     },
     "localname": "ProceedsFromStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductMember": {
     "auth_ref": [
      "r331"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Article or substance produced by nature, labor or machinery.",
        "label": "Product [Member]",
        "presentationGuidance": "Product",
        "verboseLabel": "Products"
       }
      }
     },
     "localname": "ProductMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/role/SummaryOfDisaggregationOfProductRevenuesFromContractsWithCustomersByMajorProductLineDetail",
      "http://www.repligencorp.com/role/SummaryOfProductRevenuesByProductLineDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ProductWarrantyAccrualClassifiedCurrent": {
     "auth_ref": [
      "r54",
      "r297",
      "r298"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ScheduleOfAccruedLiabilitiesDetail": {
       "order": 7.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers. For classified balance sheets, represents the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Product Warranty Accrual, Current",
        "verboseLabel": "Warranties"
       }
      }
     },
     "localname": "ProductWarrantyAccrualClassifiedCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ScheduleOfAccruedLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProfessionalFees": {
     "auth_ref": [
      "r701",
      "r702"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A fee charged for services from professionals such as doctors, lawyers and accountants. The term is often expanded to include other professions, for example, pharmacists charging to maintain a medicinal profile of a client or customer.",
        "label": "Spectrum Acquisition, tax preparation and other fees",
        "terseLabel": "Spectrum Acquisition, tax preparation and other fees"
       }
      }
     },
     "localname": "ProfessionalFees",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/RelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Abstract]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "auth_ref": [
      "r49",
      "r290"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale.",
        "label": "Property, Plant and Equipment, Type [Axis]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheetAdditionalInformationDetail",
      "http://www.repligencorp.com/role/EstimatedUsefulLifeOfAssetsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentEstimatedUsefulLives": {
     "auth_ref": [
      "r124",
      "r286"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Describes the periods of time over which an entity anticipates to receive utility from its property, plant and equipment (that is, the periods of time over which an entity allocates the initial cost of its property, plant and equipment).",
        "label": "Property, Plant and Equipment, Estimated Useful Lives",
        "terseLabel": "Estimated Useful Life"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentEstimatedUsefulLives",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/EstimatedUsefulLifeOfAssetsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "auth_ref": [
      "r48",
      "r288"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/PropertyPlantAndEquipmentDetail": {
       "order": 2.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.",
        "label": "Property, Plant and Equipment, Gross",
        "totalLabel": "Total property, plant and equipment"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentGross",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/PropertyPlantAndEquipmentDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Property, Plant and Equipment [Line Items]",
        "terseLabel": "Property, Plant and Equipment [Line Items]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/EstimatedUsefulLifeOfAssetsDetail",
      "http://www.repligencorp.com/role/PropertyPlantAndEquipmentDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "auth_ref": [
      "r18",
      "r19",
      "r290",
      "r673"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets": {
       "order": 25.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      },
      "http://www.repligencorp.com/role/PropertyPlantAndEquipmentDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.",
        "label": "Property, Plant and Equipment, Net",
        "terseLabel": "Property, plant and equipment, net",
        "totalLabel": "Total property, plant and equipment, net"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentNet",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/role/PropertyPlantAndEquipmentDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentOther": {
     "auth_ref": [
      "r290"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/PropertyPlantAndEquipmentDetail": {
       "order": 9.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before accumulated depreciation, depletion and amortization of other physical assets used in the normal conduct of business to produce goods and services and not intended for resale.",
        "label": "Property, Plant and Equipment, Other, Gross",
        "verboseLabel": "Other"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentOther",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/PropertyPlantAndEquipmentDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": {
     "auth_ref": [
      "r47",
      "r124",
      "r290",
      "r706",
      "r707"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.",
        "label": "Property, Plant and Equipment, Policy [Policy Text Block]",
        "terseLabel": "Property, Plant &amp; Equipment"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentTextBlock": {
     "auth_ref": [
      "r18",
      "r290"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.",
        "label": "Property, Plant and Equipment [Table Text Block]",
        "verboseLabel": "Property, Plant and Equipment"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheetDetailTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "auth_ref": [
      "r18",
      "r288"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software.",
        "label": "Property, Plant and Equipment, Type [Domain]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheetAdditionalInformationDetail",
      "http://www.repligencorp.com/role/EstimatedUsefulLifeOfAssetsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentUsefulLife": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.",
        "label": "Property, Plant and Equipment, Useful Life",
        "terseLabel": "Estimated Useful Life"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentUsefulLife",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/EstimatedUsefulLifeOfAssetsDetail"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_PropertySubjectToOrAvailableForOperatingLeaseAxis": {
     "auth_ref": [
      "r590"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by property that could be leased or is available for lease.",
        "label": "Property Subject to or Available for Operating Lease [Axis]"
       }
      }
     },
     "localname": "PropertySubjectToOrAvailableForOperatingLeaseAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/LeasesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertySubjectToOrAvailableForOperatingLeaseDomain": {
     "auth_ref": [
      "r590"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A descriptive title of whether the property is subject to or available for operating lease.",
        "label": "Property Subject to or Available for Operating Lease [Domain]"
       }
      }
     },
     "localname": "PropertySubjectToOrAvailableForOperatingLeaseDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/LeasesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ProvisionForDoubtfulAccounts": {
     "auth_ref": [
      "r90",
      "r237"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable.",
        "label": "Accounts Receivable, Credit Loss Expense (Reversal)",
        "terseLabel": "Current period change for expected credit losses"
       }
      }
     },
     "localname": "ProvisionForDoubtfulAccounts",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CreditLossesSummaryOfAllowanceForCreditLossesForAccountsReceivablesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_QuarterlyFinancialInformationDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Quarterly Financial Information Disclosure [Abstract]"
       }
      }
     },
     "localname": "QuarterlyFinancialInformationDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_QuarterlyFinancialInformationTextBlock": {
     "auth_ref": [
      "r172"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for quarterly financial data. Includes, but is not limited to, tabular presentation of financial information for fiscal quarters, effect of year-end adjustments, and an explanation of matters or transactions that affect comparability of the information.",
        "label": "Quarterly Financial Information [Text Block]",
        "terseLabel": "Selected Quarterly Financial Data (Unaudited)"
       }
      }
     },
     "localname": "QuarterlyFinancialInformationTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SelectedQuarterlyFinancialDataUnaudited"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable": {
     "auth_ref": [
      "r206",
      "r208"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identification, description, and amounts of all significant reconciling items in the reconciliation of total assets from reportable segments to the entity's consolidated assets.",
        "label": "Reconciliation of Assets from Segment to Consolidated [Table]",
        "terseLabel": "Reconciliation of Assets from Segment to Consolidated [Table]"
       }
      }
     },
     "localname": "ReconciliationOfAssetsFromSegmentToConsolidatedTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/LongLivedAssetsByGeographicAreaDetail",
      "http://www.repligencorp.com/role/TotalAssetsByGeographicAreaDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock": {
     "auth_ref": [
      "r206",
      "r208"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of all significant reconciling items in the reconciliation of total assets from reportable segments to the entity's consolidated assets.",
        "label": "Reconciliation of Assets from Segment to Consolidated [Table Text Block]",
        "terseLabel": "Total Assets by Geographic Area"
       }
      }
     },
     "localname": "ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RelatedPartyDomain": {
     "auth_ref": [
      "r392",
      "r606",
      "r607"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Related parties include affiliates; other entities for which investments are accounted for by the equity method by the entity; trusts for benefit of employees; and principal owners, management, and members of immediate families. It also may include other parties with which the entity may control or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests.",
        "label": "Related Party [Domain]",
        "terseLabel": "Related Party [Domain]"
       }
      }
     },
     "localname": "RelatedPartyDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/RelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RelatedPartyTransactionLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Related Party Transaction [Line Items]",
        "terseLabel": "Related Party Transaction [Line Items]"
       }
      }
     },
     "localname": "RelatedPartyTransactionLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/RelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RelatedPartyTransactionsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party Transactions [Abstract]"
       }
      }
     },
     "localname": "RelatedPartyTransactionsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_RelatedPartyTransactionsByRelatedPartyAxis": {
     "auth_ref": [
      "r392",
      "r606",
      "r610",
      "r630",
      "r631",
      "r632",
      "r633",
      "r634",
      "r635",
      "r636",
      "r637",
      "r638",
      "r639",
      "r640",
      "r641"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of related party. Related parties include, but not limited to, affiliates; other entities for which investments are accounted for by the equity method by the entity; trusts for benefit of employees; and principal owners, management, and members of immediate families. It also may include other parties with which the entity may control or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests.",
        "label": "Related Party [Axis]",
        "terseLabel": "Related Party [Axis]"
       }
      }
     },
     "localname": "RelatedPartyTransactionsByRelatedPartyAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/RelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RelatedPartyTransactionsDisclosureTextBlock": {
     "auth_ref": [
      "r604",
      "r605",
      "r607",
      "r611",
      "r612"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates.",
        "label": "Related Party Transactions Disclosure [Text Block]",
        "terseLabel": "Related Party Transactions"
       }
      }
     },
     "localname": "RelatedPartyTransactionsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/RelatedPartyTransactions"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RepaymentsOfConvertibleDebt": {
     "auth_ref": [
      "r108"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow from the repayment of a long-term debt instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder.",
        "label": "Repayments of Convertible Debt",
        "negatedLabel": "Repayment of senior convertible notes"
       }
      }
     },
     "localname": "RepaymentsOfConvertibleDebt",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ResearchAndDevelopmentArrangementMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contractual obligation to provide funding of research and development costs over periods that initially exceed one year or the normal operating cycle, if longer.",
        "label": "Research and Development Arrangement [Member]"
       }
      }
     },
     "localname": "ResearchAndDevelopmentArrangementMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/CommitmentsAndContingenciesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "auth_ref": [
      "r470",
      "r717"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome": {
       "order": 5.0,
       "parentTag": "us-gaap_CostsAndExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.",
        "label": "Research and Development Expense",
        "terseLabel": "Research and development"
       }
      }
     },
     "localname": "ResearchAndDevelopmentExpense",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ResearchAndDevelopmentExpenseMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption in which the reported facts about research and development expense have been included.",
        "label": "Research and Development Expense [Member]",
        "terseLabel": "Research and development"
       }
      }
     },
     "localname": "ResearchAndDevelopmentExpenseMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/StockBasedCompensationExpenseDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RestrictedCash": {
     "auth_ref": [
      "r123",
      "r643",
      "r669"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets": {
       "order": 24.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      },
      "http://www.repligencorp.com/role/ScheduleOfCashCashEquivalentsAndRestrictedCashDetail": {
       "order": 2.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash restricted as to withdrawal or usage. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits.",
        "label": "Restricted Cash",
        "terseLabel": "Restricted cash"
       }
      }
     },
     "localname": "RestrictedCash",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/role/ScheduleOfCashCashEquivalentsAndRestrictedCashDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of cash and cash equivalent. Cash is currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash and Cash Equivalents [Domain]"
       }
      }
     },
     "localname": "RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RestrictedCashAndCashEquivalentsNoncurrent": {
     "auth_ref": [
      "r9",
      "r20",
      "r117",
      "r123",
      "r704"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash and cash equivalents restricted as to withdrawal or usage, classified as noncurrent. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Restricted Cash and Cash Equivalents, Noncurrent",
        "terseLabel": "Restricted Cash"
       }
      }
     },
     "localname": "RestrictedCashAndCashEquivalentsNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RestrictedStockUnitsRSUMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met.",
        "label": "Restricted Stock Units (RSUs) [Member]",
        "terseLabel": "Restricted Stock Units (RSUs)"
       }
      }
     },
     "localname": "RestrictedStockUnitsRSUMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail",
      "http://www.repligencorp.com/role/SummaryOfRestrictedStockUnitActivityDetail",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "auth_ref": [
      "r31",
      "r315",
      "r462",
      "r671",
      "r693",
      "r698"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "definitionGuidance": "Impact on assets and liabilities due to change in accounting principle",
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings (Accumulated Deficit)",
        "terseLabel": "Accumulated earnings",
        "verboseLabel": "Cumulative effect of accounting changes"
       }
      }
     },
     "localname": "RetainedEarningsAccumulatedDeficit",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquity",
      "http://www.repligencorp.com/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsMember": {
     "auth_ref": [
      "r139",
      "r140",
      "r141",
      "r143",
      "r151",
      "r153",
      "r227",
      "r459",
      "r460",
      "r461",
      "r507",
      "r508",
      "r689",
      "r691"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings [Member]",
        "verboseLabel": "Accumulated Earnings/(Deficit)"
       }
      }
     },
     "localname": "RetainedEarningsMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RetirementPlanSponsorLocationAxis": {
     "auth_ref": [
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362",
      "r363",
      "r364",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r411",
      "r415",
      "r420"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by location of employer sponsoring plan designed to provide retirement benefits. Includes, but is not limited to, defined benefit and defined contribution plans.",
        "label": "Retirement Plan Sponsor Location [Axis]"
       }
      }
     },
     "localname": "RetirementPlanSponsorLocationAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/EmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RetirementPlanSponsorLocationDomain": {
     "auth_ref": [
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362",
      "r363",
      "r364",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r411",
      "r415",
      "r420"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Location of employer sponsoring plan designed to provide retirement benefits. Includes, but is not limited to, defined benefit and defined contribution plans.",
        "label": "Retirement Plan Sponsor Location [Domain]"
       }
      }
     },
     "localname": "RetirementPlanSponsorLocationDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/EmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RetirementPlanTypeAxis": {
     "auth_ref": [
      "r342",
      "r343",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362",
      "r363",
      "r364",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r409",
      "r410",
      "r411",
      "r412",
      "r413",
      "r414",
      "r415",
      "r417",
      "r418",
      "r419",
      "r420"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of retirement benefit plan. Includes, but is not limited to, retirement benefit arrangement for defined benefit pension and other postretirement plans, retirement benefit arrangement for defined contribution pension and other postretirement plans, and special and contractual termination benefits payable upon retirement.",
        "label": "Retirement Plan Type [Axis]",
        "terseLabel": "Retirement Plan Type [Axis]"
       }
      }
     },
     "localname": "RetirementPlanTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/EmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RetirementPlanTypeDomain": {
     "auth_ref": [
      "r342",
      "r343",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362",
      "r363",
      "r364",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r409",
      "r410",
      "r411",
      "r412",
      "r413",
      "r414",
      "r415",
      "r417",
      "r418",
      "r419",
      "r420"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of plan designed to provide participants with retirement benefits. Includes, but is not limited to, retirement benefit arrangement for defined benefit pension and other postretirement plans, retirement benefit arrangement for defined contribution pension and other postretirement plans, and special and contractual termination benefits payable upon retirement.",
        "label": "Retirement Plan Type [Domain]",
        "terseLabel": "Retirement Plan Type [Domain]"
       }
      }
     },
     "localname": "RetirementPlanTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/EmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax": {
     "auth_ref": [
      "r193",
      "r194",
      "r204",
      "r209",
      "r210",
      "r214",
      "r215",
      "r217",
      "r327",
      "r328",
      "r624"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome": {
       "order": 7.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.",
        "label": "Revenue from Contract with Customer, Including Assessed Tax",
        "terseLabel": "Revenue"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerIncludingAssessedTax",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfOperationsInformationForEachOfPreviousEightQuartersDetail",
      "http://www.repligencorp.com/role/RevenueFromSignificantCustomersDetail",
      "http://www.repligencorp.com/role/SummaryOfDisaggregationOfProductRevenuesFromContractsWithCustomersByMajorProductLineDetail",
      "http://www.repligencorp.com/role/SummaryOfProductRevenuesByProductLineDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerTextBlock": {
     "auth_ref": [
      "r319",
      "r320",
      "r321",
      "r322",
      "r323",
      "r324",
      "r325",
      "r326",
      "r330",
      "r338"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.",
        "label": "Revenue from Contract with Customer [Text Block]",
        "verboseLabel": "Revenue Recognition"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/RevenueRecognition"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RevenueRecognitionPolicyTextBlock": {
     "auth_ref": [
      "r125",
      "r126"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources.",
        "label": "Revenue Recognition, Policy [Policy Text Block]",
        "terseLabel": "Revenue Recognition"
       }
      }
     },
     "localname": "RevenueRecognitionPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RevenuesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenues [Abstract]",
        "terseLabel": "Revenue:"
       }
      }
     },
     "localname": "RevenuesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RisksAndUncertaintiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Risks and Uncertainties [Abstract]"
       }
      }
     },
     "localname": "RisksAndUncertaintiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_RoyaltyMember": {
     "auth_ref": [
      "r331"
     ],
     "lang": {
      "en-us": {
       "role": {
        "definitionGuidance": "Royalty and Other Revenue",
        "documentation": "Money for usage-based right to asset.",
        "label": "Royalty [Member]",
        "verboseLabel": "Royalty and Other Revenue"
       }
      }
     },
     "localname": "RoyaltyMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/role/SummaryOfDisaggregationOfProductRevenuesFromContractsWithCustomersByMajorProductLineDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SaleOfStockNameOfTransactionDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sale of the entity's stock, including, but not limited to, initial public offering (IPO) and private placement.",
        "label": "Sale of Stock [Domain]"
       }
      }
     },
     "localname": "SaleOfStockNameOfTransactionDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/RelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SalesRevenueNetMember": {
     "auth_ref": [
      "r186",
      "r217"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue from sale of product and rendering of service and other sources of income, when it serves as benchmark in concentration of risk calculation.",
        "label": "Revenue Benchmark [Member]",
        "terseLabel": "Sales Revenue"
       }
      }
     },
     "localname": "SalesRevenueNetMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/PercentageOfRevenueFromSignificantCustomersDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of accrued liabilities.",
        "label": "Schedule of Accrued Liabilities [Table Text Block]",
        "verboseLabel": "Accrued Liabilities"
       }
      }
     },
     "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheetDetailTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock": {
     "auth_ref": [
      "r75",
      "r580",
      "r581"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of accumulated other comprehensive income (loss).",
        "label": "Schedule of Accumulated Other Comprehensive Income (Loss) [Table Text Block]",
        "terseLabel": "Summary of Changes in Accumulated Other Comprehensive Income (Loss)"
       }
      }
     },
     "localname": "ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AccumulatedOtherComprehensiveIncomeLossTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock": {
     "auth_ref": [
      "r272"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the characteristics, including initial carrying value, residual amount, weighted average useful life, of finite-lived intangible assets acquired during the period by major class. A major class is composed of intangible assets that can be grouped together because they are similar, either by nature or by their use in the operations of the company.",
        "label": "Schedule of Acquired Finite-Lived Intangible Assets by Major Class [Table Text Block]",
        "terseLabel": "Schedule of Identified Intangible Assets and Estimated Useful Lives"
       }
      }
     },
     "localname": "ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": {
     "auth_ref": [
      "r530",
      "r531"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule reflecting each material business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities.",
        "label": "Schedule of Business Acquisitions, by Acquisition [Table]",
        "terseLabel": "Schedule of Business Acquisitions, by Acquisition [Table]"
       }
      }
     },
     "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/role/AcquisitionsConsiderationTransferredDetail",
      "http://www.repligencorp.com/role/AcquisitionsFairValueOfNetAssetsAcquiredDetail",
      "http://www.repligencorp.com/role/AcquisitionsUnauditedSupplementalProFormaInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": {
     "auth_ref": [
      "r503"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.",
        "label": "Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]",
        "terseLabel": "Income Tax Provision (Benefit)"
       }
      }
     },
     "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/IncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable": {
     "auth_ref": [
      "r339",
      "r340"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule, table or text reflecting pension and other postretirement benefit arrangements with individual employees, which are generally based on employment contracts between the entity and one or more selected officers or key employees, and which contain a promise by the employer to pay certain amounts at designated future dates, usually including a period after retirement, upon compliance with stipulated requirements. This type of arrangement is distinguished from broader based employee benefit plans as it is usually tailored to the employee. Disclosure also typically includes the amount of related compensation expense recognized during the reporting period and the carrying amount as of the balance sheet date of the related liability.",
        "label": "Schedule of Deferred Compensation Arrangement with Individual, Postretirement Benefits [Table]",
        "terseLabel": "Schedule of Deferred Compensation Arrangement with Individual, Postretirement Benefits [Table]"
       }
      }
     },
     "localname": "ScheduleOfDeferredCompensationArrangementWithIndividualPostretirementBenefitsTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/EmployeeBenefitPlansAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": {
     "auth_ref": [
      "r495"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.",
        "label": "Schedule of Deferred Tax Assets and Liabilities [Table Text Block]",
        "terseLabel": "Consolidated Deferred Tax Assets (Liabilities)"
       }
      }
     },
     "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/IncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "auth_ref": [
      "r165"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.",
        "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]",
        "terseLabel": "Reconciliation of Basic and Diluted Shares Amounts"
       }
      }
     },
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": {
     "auth_ref": [
      "r480"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.",
        "label": "Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]",
        "terseLabel": "Reconciliation of Federal Statutory Rate to Effective Income Tax Rate"
       }
      }
     },
     "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/IncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable": {
     "auth_ref": [
      "r425",
      "r451",
      "r464"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about amount recognized for award under share-based payment arrangement. Includes, but is not limited to, amount expensed in statement of income or comprehensive income, amount capitalized in statement of financial position, and corresponding reporting line item in financial statements.",
        "label": "Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Table]",
        "terseLabel": "Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Table]"
       }
      }
     },
     "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/StockBasedCompensationExpenseDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": {
     "auth_ref": [
      "r425",
      "r451",
      "r464"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement.",
        "label": "Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Table Text Block]",
        "terseLabel": "Stock-Based Compensation Expense"
       }
      }
     },
     "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/StockholdersEquityTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock": {
     "auth_ref": [
      "r216"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the names of foreign countries in which material long-lived assets other than financial instruments, long-term customer relationships of a financial institution, mortgage and other servicing rights, deferred policy acquisition costs, and deferred tax assets are located, and amount of such long-lived assets located in that country or foreign geographic area.",
        "label": "Schedule of Disclosure on Geographic Areas, Long-Lived Assets in Individual Foreign Countries by Country [Table Text Block]",
        "terseLabel": "Long Lived Assets by Geographic Area"
       }
      }
     },
     "localname": "ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable": {
     "auth_ref": [
      "r214"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular presentation of the description and amount of revenues from a product or service, or a group of similar products or similar services, reported from external customers during the period, if the information is not provided as part of the reportable operating segment information.",
        "label": "Revenue from External Customers by Products and Services [Table]"
       }
      }
     },
     "localname": "ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfProductRevenuesByProductLineDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock": {
     "auth_ref": [
      "r214"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of entity-wide revenues from external customers for each product or service or each group of similar products or services if the information is not provided as part of the reportable operating segment information.",
        "label": "Revenue from External Customers by Products and Services [Table Text Block]",
        "terseLabel": "Summary of Product Revenues by Product Line"
       }
      }
     },
     "localname": "ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable": {
     "auth_ref": [
      "r217"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure about the extent of the entity's reliance on its major customers.",
        "label": "Schedule of Revenue by Major Customers, by Reporting Segments [Table]",
        "terseLabel": "Schedule of Revenue by Major Customers, by Reporting Segments [Table]"
       }
      }
     },
     "localname": "ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/PercentageOfRevenueFromSignificantCustomersDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": {
     "auth_ref": [
      "r272",
      "r279",
      "r625"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Schedule of Finite-Lived Intangible Assets [Table]",
        "terseLabel": "Schedule of Finite-Lived Intangible Assets [Table]"
       }
      }
     },
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AmortizationExpenseForAmortizedIntangibleAssetsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfGoodwillTable": {
     "auth_ref": [
      "r268",
      "r269"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of goodwill and the changes during the year due to acquisition, sale, impairment or for other reasons.",
        "label": "Schedule of Goodwill [Table]",
        "terseLabel": "Schedule of Goodwill [Table]"
       }
      }
     },
     "localname": "ScheduleOfGoodwillTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ChangesInCarryingValueOfGoodwillDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfGoodwillTextBlock": {
     "auth_ref": [
      "r268",
      "r269"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule.",
        "label": "Schedule of Goodwill [Table Text Block]",
        "verboseLabel": "Changes in Carrying Value of Goodwill"
       }
      }
     },
     "localname": "ScheduleOfGoodwillTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock": {
     "auth_ref": [
      "r136"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of income before income tax between domestic and foreign jurisdictions.",
        "label": "Schedule of Income before Income Tax, Domestic and Foreign [Table Text Block]",
        "terseLabel": "Income Before Income Taxes"
       }
      }
     },
     "localname": "ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/IncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "auth_ref": [
      "r16",
      "r41",
      "r42",
      "r43"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.",
        "label": "Schedule of Inventory, Current [Table Text Block]",
        "verboseLabel": "Inventories"
       }
      }
     },
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheetDetailTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": {
     "auth_ref": [
      "r49",
      "r290"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.",
        "label": "Property, Plant and Equipment [Table]",
        "terseLabel": "Property, Plant and Equipment [Table]"
       }
      }
     },
     "localname": "ScheduleOfPropertyPlantAndEquipmentTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/EstimatedUsefulLifeOfAssetsDetail",
      "http://www.repligencorp.com/role/PropertyPlantAndEquipmentDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock": {
     "auth_ref": [
      "r171"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of quarterly financial data. Includes, but is not limited to, financial information for fiscal quarters, cumulative effect of a change in accounting principle and earnings per share data.",
        "label": "Quarterly Financial Information [Table Text Block]",
        "terseLabel": "Consolidated Statements of Operations Information for Each of Previous Eight Quarters"
       }
      }
     },
     "localname": "ScheduleOfQuarterlyFinancialInformationTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SelectedQuarterlyFinancialDataUnauditedTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock": {
     "auth_ref": [
      "r534"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the amounts recognized as of the acquisition date for each major class of assets acquired and liabilities assumed. May include but not limited to the following: (a) acquired receivables; (b) contingencies recognized at the acquisition date; and (c) the fair value of noncontrolling interests in the acquiree.",
        "label": "Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block]",
        "terseLabel": "Schedule of Recognized Identified Assets Acquired and Liabilities Assumed"
       }
      }
     },
     "localname": "ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable": {
     "auth_ref": [
      "r133",
      "r608",
      "r610"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of quantitative and qualitative information pertaining to related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates.",
        "label": "Schedule of Related Party Transactions, by Related Party [Table]",
        "terseLabel": "Schedule Of Related Party [Table]"
       }
      }
     },
     "localname": "ScheduleOfRelatedPartyTransactionsByRelatedPartyTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/RelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the extent of the entity's reliance on its major customers, if revenues from transactions with a single external customer amount to 10 percent or more of entity revenues, including the disclosure of that fact, the total amount of revenues from each such customer, and the identity of the reportable segment or segments reporting the revenues. The entity need not disclose the identity of a major customer or the amount of revenues that each segment reports from that customer. For these purposes, a group of companies known to the entity to be under common control is considered a single customer, and the federal government, a state government, a local government such as a county or municipality, or a foreign government is each considered a single customer.",
        "label": "Schedule of Revenue by Major Customers by Reporting Segments [Table Text Block]",
        "terseLabel": "Percentage of Revenue from Significant Customers"
       }
      }
     },
     "localname": "ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "auth_ref": [
      "r427",
      "r453"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about share-based payment arrangement.",
        "label": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]",
        "terseLabel": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/EstimatedWeightedAverageAssumptionsDetail",
      "http://www.repligencorp.com/role/SummaryOfOptionActivityDetail",
      "http://www.repligencorp.com/role/SummaryOfOptionActivityParentheticalDetail",
      "http://www.repligencorp.com/role/SummaryOfRestrictedStockUnitActivityDetail",
      "http://www.repligencorp.com/role/SummaryOfRestrictedStockUnitActivityParentheticalDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock": {
     "auth_ref": [
      "r432"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the number and weighted-average grant date fair value for restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock units that were granted, vested, or forfeited during the year.",
        "label": "Schedule of Share-based Compensation, Restricted Stock Units Award Activity [Table Text Block]",
        "terseLabel": "Summary of Restricted Stock Unit Activity"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/StockholdersEquityTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": {
     "auth_ref": [
      "r432",
      "r442",
      "r445"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.",
        "label": "Share-based Compensation, Stock Options, Activity [Table Text Block]",
        "terseLabel": "Summary of Option Activity"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/StockholdersEquityTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": {
     "auth_ref": [
      "r447"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.",
        "label": "Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]",
        "terseLabel": "Estimated Weighted Average Assumptions"
       }
      }
     },
     "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/StockholdersEquityTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock": {
     "auth_ref": [
      "r183",
      "r186",
      "r187",
      "r188",
      "r570",
      "r572"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark.",
        "label": "Schedules of Concentration of Risk, by Risk Factor [Table Text Block]",
        "terseLabel": "Percentage by Geographic Area or Significant Customers"
       }
      }
     },
     "localname": "SchedulesOfConcentrationOfRiskByRiskFactorTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SegmentReportingAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting [Abstract]"
       }
      }
     },
     "localname": "SegmentReportingAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_SegmentReportingAssetReconcilingItemLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Segment Reporting, Asset Reconciling Item [Line Items]",
        "terseLabel": "Segment Reporting, Asset Reconciling Item [Line Items]"
       }
      }
     },
     "localname": "SegmentReportingAssetReconcilingItemLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/LongLivedAssetsByGeographicAreaDetail",
      "http://www.repligencorp.com/role/TotalAssetsByGeographicAreaDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SegmentReportingPolicyPolicyTextBlock": {
     "auth_ref": [
      "r124",
      "r198",
      "r199",
      "r200",
      "r201",
      "r202",
      "r203",
      "r215"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for segment reporting.",
        "label": "Segment Reporting, Policy [Policy Text Block]",
        "terseLabel": "Segment Reporting"
       }
      }
     },
     "localname": "SegmentReportingPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SellingGeneralAndAdministrativeExpense": {
     "auth_ref": [
      "r96"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome": {
       "order": 6.0,
       "parentTag": "us-gaap_CostsAndExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.",
        "label": "Selling, General and Administrative Expense",
        "terseLabel": "Selling, general and administrative"
       }
      }
     },
     "localname": "SellingGeneralAndAdministrativeExpense",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SellingGeneralAndAdministrativeExpensesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "definitionGuidance": "Selling, general and administrative",
        "documentation": "Primary financial statement caption encompassing selling, general and administrative expense.",
        "label": "Selling, General and Administrative Expenses [Member]",
        "terseLabel": "Selling, general and administrative"
       }
      }
     },
     "localname": "SellingGeneralAndAdministrativeExpensesMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/role/StockBasedCompensationExpenseDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensation": {
     "auth_ref": [
      "r114"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 10.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncash expense for share-based payment arrangement.",
        "label": "Share-based Compensation",
        "terseLabel": "Stock-based compensation expense"
       }
      }
     },
     "localname": "ShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/role/StockBasedCompensationExpenseDetail",
      "http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Additional Disclosures [Abstract]",
        "terseLabel": "Weighted-Average Remaining Contractual Term (in years)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfRestrictedStockUnitActivityDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": {
     "auth_ref": [
      "r438"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period",
        "negatedLabel": "Forfeited/expired/cancelled"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfRestrictedStockUnitActivityDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": {
     "auth_ref": [
      "r440"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period",
        "terseLabel": "Awarded"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfRestrictedStockUnitActivityDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r440"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value",
        "terseLabel": "Weighted average grant date fair value of restricted stock units granted"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": {
     "auth_ref": [
      "r439"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number",
        "periodEndLabel": "Unvested at December 31, 2020",
        "periodStartLabel": "Unvested at December 31, 2019",
        "terseLabel": "Restricted stock units, outstanding"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail",
      "http://www.repligencorp.com/role/SummaryOfRestrictedStockUnitActivityDetail",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]",
        "terseLabel": "Options Outstanding"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfRestrictedStockUnitActivityDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms": {
     "auth_ref": [
      "r446"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining contractual term for equity-based awards excluding options, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Outstanding, Weighted Average Remaining Contractual Terms",
        "terseLabel": "Unvested at December 31, 2020"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfRestrictedStockUnitActivityDetail"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": {
     "auth_ref": [
      "r441"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period",
        "negatedLabel": "Vested"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfRestrictedStockUnitActivityDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue": {
     "auth_ref": [
      "r444"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value of share-based awards for which the grantee gained the right by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Fair Value",
        "terseLabel": "Total grant date fair value of restricted stock units vested"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": {
     "auth_ref": [
      "r449"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Dividend Rate",
        "terseLabel": "Expected dividend yield"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/EstimatedWeightedAverageAssumptionsDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The estimated measure of the maximum percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Volatility Rate, Maximum",
        "terseLabel": "Expected volatility (range), maximum"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/EstimatedWeightedAverageAssumptionsDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The estimated measure of the minimum percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Volatility Rate, Minimum",
        "terseLabel": "Expected volatility (range), minimum"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/EstimatedWeightedAverageAssumptionsDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The maximum risk-free interest rate assumption that is used in valuing an option on its own shares.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate, Maximum",
        "terseLabel": "Risk-free interest rate, maximum"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/EstimatedWeightedAverageAssumptionsDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The minimum risk-free interest rate assumption that is used in valuing an option on its own shares.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate, Minimum",
        "terseLabel": "Risk-free interest rate, minimum"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/EstimatedWeightedAverageAssumptionsDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]",
        "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/EstimatedWeightedAverageAssumptionsDetail",
      "http://www.repligencorp.com/role/SummaryOfOptionActivityDetail",
      "http://www.repligencorp.com/role/SummaryOfOptionActivityParentheticalDetail",
      "http://www.repligencorp.com/role/SummaryOfRestrictedStockUnitActivityDetail",
      "http://www.repligencorp.com/role/SummaryOfRestrictedStockUnitActivityParentheticalDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": {
     "auth_ref": [
      "r453"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant",
        "terseLabel": "Incentive options, vesting period"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Additional Disclosures [Abstract]",
        "terseLabel": "Weighted-Average Remaining Contractual Term (in years)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfOptionActivityDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": {
     "auth_ref": [
      "r435"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number",
        "terseLabel": "Options exercisable at December 31, 2020 | shares"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfOptionActivityDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": {
     "auth_ref": [
      "r435"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Exercise Price",
        "terseLabel": "Options exercisable at December 31, 2020"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfOptionActivityDetail"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": {
     "auth_ref": [
      "r444"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value",
        "terseLabel": "Aggregate intrinsic value of stock options exercised"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod": {
     "auth_ref": [
      "r436"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Net number of share options (or share units) granted during the period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Net of Forfeitures",
        "terseLabel": "Granted | shares"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfOptionActivityDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r443"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value",
        "terseLabel": "Weighted average grant date fair value of share-based awards granted"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": {
     "auth_ref": [
      "r453"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value",
        "terseLabel": "Options outstanding at December 31, 2020"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfOptionActivityDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "auth_ref": [
      "r434",
      "r453"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of options outstanding, including both vested and non-vested options.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number",
        "periodEndLabel": "Options outstanding at December 31, 2020 | shares",
        "periodStartLabel": "Options outstanding at December 31, 2019 | shares",
        "terseLabel": "Stock options, outstanding"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail",
      "http://www.repligencorp.com/role/SummaryOfOptionActivityDetail",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]",
        "terseLabel": "Options Outstanding"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfOptionActivityDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": {
     "auth_ref": [
      "r433"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price",
        "periodEndLabel": "Options outstanding at December 31, 2020",
        "periodStartLabel": "Options outstanding at December 31, 2019",
        "terseLabel": "Stock options, weighted average exercise price"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfOptionActivityDetail",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]",
        "terseLabel": "Weighted-Average Exercise Price Per Share"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfOptionActivityDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue": {
     "auth_ref": [
      "r445"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value",
        "terseLabel": "Vested and expectd to vest at December 31, 2020"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfOptionActivityDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber": {
     "auth_ref": [
      "r446"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of fully vested and expected to vest options outstanding that can be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number",
        "terseLabel": "Vested and expected to vest at December 31, 2020 | shares"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfOptionActivityDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "auth_ref": [
      "r424",
      "r429"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Award under share-based payment arrangement.",
        "label": "Award Type [Domain]",
        "terseLabel": "Equity Award [Domain]"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail",
      "http://www.repligencorp.com/role/SummaryOfOptionActivityParentheticalDetail",
      "http://www.repligencorp.com/role/SummaryOfRestrictedStockUnitActivityDetail",
      "http://www.repligencorp.com/role/SummaryOfRestrictedStockUnitActivityParentheticalDetail",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares.",
        "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price",
        "terseLabel": "Exercised"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfOptionActivityDetail"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.",
        "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Grants in Period, Weighted Average Exercise Price",
        "terseLabel": "Granted"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfOptionActivityDetail"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationAwardTrancheOneMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "First portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period.",
        "label": "Share-based Compensation Award, Tranche One [Member]",
        "terseLabel": "Vest Over Three Year"
       }
      }
     },
     "localname": "ShareBasedCompensationAwardTrancheOneMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensationAwardTrancheTwoMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Second portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period.",
        "label": "Share-based Compensation Award, Tranche Two [Member]",
        "terseLabel": "Vest Over Five Year"
       }
      }
     },
     "localname": "ShareBasedCompensationAwardTrancheTwoMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": {
     "auth_ref": [
      "r124",
      "r427",
      "r430"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost.",
        "label": "Share-based Compensation, Option and Incentive Plans Policy [Policy Text Block]",
        "terseLabel": "Stock Based Compensation"
       }
      }
     },
     "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SharePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Price of a single share of a number of saleable stocks of a company.",
        "label": "Share Price",
        "terseLabel": "Closing price of common stock"
       }
      }
     },
     "localname": "SharePrice",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage": {
     "auth_ref": [
      "r428"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of vesting of award under share-based payment arrangement.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage",
        "terseLabel": "Incentive options, vesting percentage"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Aggregate Intrinsic Value [Abstract]",
        "terseLabel": "Aggregate Intrinsic Value"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfRestrictedStockUnitActivityDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Intrinsic value of outstanding award under share-based payment arrangement. Excludes share and unit options.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Aggregate Intrinsic Value, Outstanding",
        "terseLabel": "Unvested at December 31, 2020"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfRestrictedStockUnitActivityDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Intrinsic value of vested award under share-based payment arrangement. Excludes share and unit options.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Aggregate Intrinsic Value, Vested",
        "terseLabel": "Aggregate intrinsic value of restricted stock units vested"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": {
     "auth_ref": [
      "r448",
      "r463"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Term",
        "terseLabel": "Expected term (in years)"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/EstimatedWeightedAverageAssumptionsDetail"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1": {
     "auth_ref": [
      "r453"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of difference between fair value of the underlying shares reserved for issuance and exercise price of vested portions of options outstanding and currently exercisable.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Intrinsic Value",
        "terseLabel": "Options exercisable at December 31, 2020"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfOptionActivityDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": {
     "auth_ref": [
      "r453"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term",
        "terseLabel": "Options exercisable at December 31, 2020"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfOptionActivityDetail"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": {
     "auth_ref": [
      "r446"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term",
        "terseLabel": "Options outstanding at December 31, 2020"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfOptionActivityDetail"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1": {
     "auth_ref": [
      "r446"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term",
        "terseLabel": "Vested and expected to vest at December 31, 2020"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfOptionActivityDetail"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1": {
     "auth_ref": [
      "r431"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value of options vested. Excludes equity instruments other than options, for example, but not limited to, share units, stock appreciation rights, restricted stock.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested in Period, Fair Value",
        "terseLabel": "Total fair value of stock options vested"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares issued which are neither cancelled nor held in the treasury.",
        "label": "Shares, Outstanding",
        "periodEndLabel": "Balance (in shares)",
        "periodStartLabel": "Balance (in shares)"
       }
      }
     },
     "localname": "SharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement.",
        "label": "Share-based Payment Arrangement, Shares Withheld for Tax Withholding Obligation",
        "terseLabel": "Tax withholding on vesting of restricted stock units (in shares)"
       }
      }
     },
     "localname": "SharesPaidForTaxWithholdingForShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_SignificantAccountingPoliciesTextBlock": {
     "auth_ref": [
      "r138"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for all significant accounting policies of the reporting entity.",
        "label": "Significant Accounting Policies [Text Block]",
        "terseLabel": "Summary of Significant Accounting Policies"
       }
      }
     },
     "localname": "SignificantAccountingPoliciesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Significant Change in Unrecognized Tax Benefits is Reasonably Possible [Line Items]",
        "terseLabel": "Significant Change in Unrecognized Tax Benefits is Reasonably Possible [Line Items]"
       }
      }
     },
     "localname": "SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfUnrecognizedTaxBenefitsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable": {
     "auth_ref": [
      "r483"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A summary of unrecognized tax benefits for which a material change is reasonably possible in the next twelve months, typically including the nature of the uncertainty, the event(s) that could cause a material change, and an estimate of the range of the reasonably possible change or a statement that an estimate of the range cannot be made. An unrecognized tax benefit is the difference between a tax position taken in a tax return for which the resultant tax benefit has not been recognized in the financial statements because it is more likely than not, based on the technical merits of the position, that the tax position will not be sustained upon examination.",
        "label": "Significant Change in Unrecognized Tax Benefits is Reasonably Possible [Table]",
        "terseLabel": "Significant Change in Unrecognized Tax Benefits is Reasonably Possible [Table]"
       }
      }
     },
     "localname": "SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfUnrecognizedTaxBenefitsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations": {
     "auth_ref": [
      "r130",
      "r479",
      "r510"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of state and local current and deferred income tax expense (benefit) attributable to continuing operations.",
        "label": "State and Local Income Tax Expense (Benefit), Continuing Operations",
        "terseLabel": "State"
       }
      }
     },
     "localname": "StateAndLocalIncomeTaxExpenseBenefitContinuingOperations",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ProvisionForIncomeTaxesByJurisdictionDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StateAndLocalJurisdictionMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Designated tax department of a state or local government entitled to levy and collect income taxes from the entity.",
        "label": "State and Local Jurisdiction [Member]",
        "terseLabel": "State"
       }
      }
     },
     "localname": "StateAndLocalJurisdictionMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_StatementClassOfStockAxis": {
     "auth_ref": [
      "r26",
      "r27",
      "r28",
      "r127",
      "r129",
      "r157",
      "r158",
      "r161",
      "r163",
      "r165",
      "r174",
      "r175",
      "r176",
      "r223",
      "r309",
      "r573"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by the different classes of stock of the entity.",
        "label": "Class of Stock [Axis]"
       }
      }
     },
     "localname": "StatementClassOfStockAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail",
      "http://www.repligencorp.com/role/LeasesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/LeasesConsolidatedStatementsOfComprehensiveIncomeDetail",
      "http://www.repligencorp.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetail",
      "http://www.repligencorp.com/role/LeasesOperatingLeaseLiabilitiesDetail",
      "http://www.repligencorp.com/role/LeasesTables"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "auth_ref": [
      "r64",
      "r139",
      "r140",
      "r141",
      "r143",
      "r151",
      "r153",
      "r173",
      "r227",
      "r309",
      "r315",
      "r459",
      "r460",
      "r461",
      "r507",
      "r508",
      "r575",
      "r576",
      "r577",
      "r578",
      "r579",
      "r581",
      "r689",
      "r690",
      "r691"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by component of equity.",
        "label": "Equity Components [Axis]",
        "terseLabel": "Equity Components [Axis]"
       }
      }
     },
     "localname": "StatementEquityComponentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ChangeInChangeInAccumulatedOtherComprehensiveLossDetailDetail",
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquity",
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Statement [Line Items]",
        "terseLabel": "Statement [Line Items]"
       }
      }
     },
     "localname": "StatementLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AccumulatedOtherComprehensiveIncomeLoss",
      "http://www.repligencorp.com/role/AccumulatedOtherComprehensiveIncomeLossTables",
      "http://www.repligencorp.com/role/Acquisitions",
      "http://www.repligencorp.com/role/AcquisitionsEstimatedUsefulLifeAndFairValueDetail",
      "http://www.repligencorp.com/role/AcquisitionsTables",
      "http://www.repligencorp.com/role/CommitmentsAndContingencies",
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheetAdditionalInformationDetail",
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheetDetailTables",
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlowsParenthetical",
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquity",
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquityParenthetical",
      "http://www.repligencorp.com/role/ConvertibleSeniorNotes",
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesTables",
      "http://www.repligencorp.com/role/EmployeeBenefitPlans",
      "http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsTables",
      "http://www.repligencorp.com/role/IncomeTaxes",
      "http://www.repligencorp.com/role/IncomeTaxesTables",
      "http://www.repligencorp.com/role/LeasesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/LeasesConsolidatedStatementsOfCashFlowsRelatedToOperatingLeasesDetail",
      "http://www.repligencorp.com/role/LeasesConsolidatedStatementsOfComprehensiveIncomeDetail",
      "http://www.repligencorp.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetail",
      "http://www.repligencorp.com/role/LeasesOperatingLeaseLiabilitiesDetail",
      "http://www.repligencorp.com/role/LeasesTables",
      "http://www.repligencorp.com/role/OrganizationAndNatureOfBusiness",
      "http://www.repligencorp.com/role/RelatedPartyTransactions",
      "http://www.repligencorp.com/role/RevenueRecognitionTables",
      "http://www.repligencorp.com/role/SelectedQuarterlyFinancialDataUnaudited",
      "http://www.repligencorp.com/role/SelectedQuarterlyFinancialDataUnauditedTables",
      "http://www.repligencorp.com/role/StockholdersEquity",
      "http://www.repligencorp.com/role/StockholdersEquityTables",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPolicies",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesPolicies",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Cash Flows [Abstract]"
       }
      }
     },
     "localname": "StatementOfCashFlowsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Financial Position [Abstract]"
       }
      }
     },
     "localname": "StatementOfFinancialPositionAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Stockholders' Equity [Abstract]"
       }
      }
     },
     "localname": "StatementOfStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementTable": {
     "auth_ref": [
      "r139",
      "r140",
      "r141",
      "r173",
      "r624"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed.",
        "label": "Statement [Table]",
        "terseLabel": "Statement [Table]"
       }
      }
     },
     "localname": "StatementTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AccumulatedOtherComprehensiveIncomeLoss",
      "http://www.repligencorp.com/role/AccumulatedOtherComprehensiveIncomeLossTables",
      "http://www.repligencorp.com/role/Acquisitions",
      "http://www.repligencorp.com/role/AcquisitionsEstimatedUsefulLifeAndFairValueDetail",
      "http://www.repligencorp.com/role/AcquisitionsTables",
      "http://www.repligencorp.com/role/CommitmentsAndContingencies",
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheetAdditionalInformationDetail",
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheetDetailTables",
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows",
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlowsParenthetical",
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquity",
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquityParenthetical",
      "http://www.repligencorp.com/role/ConvertibleSeniorNotes",
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesTables",
      "http://www.repligencorp.com/role/EmployeeBenefitPlans",
      "http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsAdditionalInformationDetail",
      "http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsTables",
      "http://www.repligencorp.com/role/IncomeTaxes",
      "http://www.repligencorp.com/role/IncomeTaxesTables",
      "http://www.repligencorp.com/role/LeasesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/LeasesConsolidatedStatementsOfCashFlowsRelatedToOperatingLeasesDetail",
      "http://www.repligencorp.com/role/LeasesConsolidatedStatementsOfComprehensiveIncomeDetail",
      "http://www.repligencorp.com/role/LeasesMaturitiesOfLeaseLiabilitiesDetail",
      "http://www.repligencorp.com/role/LeasesOperatingLeaseLiabilitiesDetail",
      "http://www.repligencorp.com/role/LeasesTables",
      "http://www.repligencorp.com/role/OrganizationAndNatureOfBusiness",
      "http://www.repligencorp.com/role/RelatedPartyTransactions",
      "http://www.repligencorp.com/role/RevenueRecognitionTables",
      "http://www.repligencorp.com/role/ScheduleOfCashCashEquivalentsAndRestrictedCashDetail",
      "http://www.repligencorp.com/role/SelectedQuarterlyFinancialDataUnaudited",
      "http://www.repligencorp.com/role/SelectedQuarterlyFinancialDataUnauditedTables",
      "http://www.repligencorp.com/role/StockholdersEquity",
      "http://www.repligencorp.com/role/StockholdersEquityTables",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPolicies",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesPolicies",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockIssued1": {
     "auth_ref": [
      "r120",
      "r121",
      "r122"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The fair value of stock issued in noncash financing activities.",
        "label": "Stock Issued",
        "verboseLabel": "Fair value of common stock issued for acquisition"
       }
      }
     },
     "localname": "StockIssued1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesAcquisitions": {
     "auth_ref": [
      "r27",
      "r28",
      "r315"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares of stock issued during the period pursuant to acquisitions.",
        "label": "Stock Issued During Period, Shares, Acquisitions",
        "terseLabel": "Issuance of commons stock pursuant to the acquisition, (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesAcquisitions",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities": {
     "auth_ref": [
      "r63",
      "r309",
      "r310",
      "r315"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares issued during the period as a result of the conversion of convertible securities.",
        "label": "Stock Issued During Period, Shares, Conversion of Convertible Securities",
        "verboseLabel": "Conversion of Convertible Securities Stock Issued | shares"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits": {
     "auth_ref": [
      "r27",
      "r28",
      "r309",
      "r310",
      "r315"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of shares issued during the period upon the conversion of units. An example of a convertible unit is an umbrella partnership real estate investment trust unit (UPREIT unit).",
        "label": "Stock Issued During Period, Shares, Conversion of Units",
        "verboseLabel": "Issuance of common stock for debt conversion (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesConversionOfUnits",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesNewIssues": {
     "auth_ref": [
      "r27",
      "r28",
      "r309",
      "r315"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of new stock issued during the period.",
        "label": "Stock Issued During Period, Shares, New Issues",
        "terseLabel": "Proceeds from issuance of common stock, net of issuance costs (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesNewIssues",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation": {
     "auth_ref": [
      "r27",
      "r28",
      "r309",
      "r315"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP).",
        "label": "Stock Issued During Period, Shares, Share-based Compensation, Net of Forfeitures",
        "terseLabel": "Exercise of stock options and vesting of stock units (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "auth_ref": [
      "r27",
      "r28",
      "r309",
      "r315",
      "r437"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of share options (or share units) exercised during the current period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period",
        "negatedLabel": "Exercised | shares",
        "terseLabel": "Exercised number of shares"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail",
      "http://www.repligencorp.com/role/SummaryOfOptionActivityDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueAcquisitions": {
     "auth_ref": [
      "r64",
      "r309",
      "r315"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value of stock issued pursuant to acquisitions during the period.",
        "label": "Stock Issued During Period, Value, Acquisitions",
        "terseLabel": "Issuance of commons stock pursuant to the acquisition"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueAcquisitions",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities": {
     "auth_ref": [
      "r64",
      "r309",
      "r315"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The gross value of stock issued during the period upon the conversion of convertible securities.",
        "label": "Stock Issued During Period, Value, Conversion of Convertible Securities",
        "terseLabel": "Conversion of Convertible Securities Stock Issued | value"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueConversionOfConvertibleSecurities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueConversionOfUnits": {
     "auth_ref": [
      "r64",
      "r309",
      "r315"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value of stock issued during the period upon the conversion of units. An example of a convertible unit is an umbrella partnership real estate investment trust unit (UPREIT unit).",
        "label": "Stock Issued During Period, Value, Conversion of Units",
        "verboseLabel": "Issuance of common stock for debt conversion"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueConversionOfUnits",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueNewIssues": {
     "auth_ref": [
      "r27",
      "r28",
      "r309",
      "r315"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering.",
        "label": "Stock Issued During Period, Value, New Issues",
        "terseLabel": "Proceeds from issuance of common stock, net of issuance costs"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueNewIssues",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation": {
     "auth_ref": [
      "r27",
      "r28",
      "r315",
      "r426",
      "r443"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value, after forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP).",
        "label": "Stock Issued During Period, Value, Share-based Compensation, Net of Forfeitures",
        "terseLabel": "Exercise of stock options and vesting of stock units"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquity": {
     "auth_ref": [
      "r28",
      "r33",
      "r34",
      "r129",
      "r222",
      "r223",
      "r573"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.",
        "label": "Stockholders' Equity Attributable to Parent",
        "periodEndLabel": "Balance",
        "periodStartLabel": "Balance",
        "totalLabel": "Total stockholders' equity"
       }
      }
     },
     "localname": "StockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ChangeInChangeInAccumulatedOtherComprehensiveLossDetailDetail",
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets",
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders' Equity Attributable to Parent [Abstract]",
        "terseLabel": "Stockholders' equity:"
       }
      }
     },
     "localname": "StockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockholdersEquityNoteDisclosureTextBlock": {
     "auth_ref": [
      "r128",
      "r315",
      "r316"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for shareholders' equity comprised of portions attributable to the parent entity and noncontrolling interest, including other comprehensive income. Includes, but is not limited to, balances of common stock, preferred stock, additional paid-in capital, other capital and retained earnings, accumulated balance for each classification of other comprehensive income and amount of comprehensive income.",
        "label": "Stockholders' Equity Note Disclosure [Text Block]",
        "terseLabel": "Stockholders' Equity"
       }
      }
     },
     "localname": "StockholdersEquityNoteDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/StockholdersEquity"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SubsequentEventTypeAxis": {
     "auth_ref": [
      "r582",
      "r613"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued.",
        "label": "Subsequent Event Type [Axis]",
        "terseLabel": "Subsequent Event Type [Axis]"
       }
      }
     },
     "localname": "SubsequentEventTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventTypeDomain": {
     "auth_ref": [
      "r582",
      "r613"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued.",
        "label": "Subsequent Event Type [Domain]",
        "terseLabel": "Subsequent Event Type [Domain]"
       }
      }
     },
     "localname": "SubsequentEventTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConvertibleSeniorNotesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SubsidiarySaleOfStockAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of sale of the entity's stock.",
        "label": "Sale of Stock [Axis]"
       }
      }
     },
     "localname": "SubsidiarySaleOfStockAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/RelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SummaryOfIncomeTaxExaminationsTextBlock": {
     "auth_ref": [
      "r485",
      "r504"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of income tax examinations that an enterprise is currently subject to or that have been completed in the current period typically including a description of the examination, the jurisdiction conducting the examination, the tax year(s) under examination, the likelihood of an unfavorable settlement, the range of possible losses, the liability recorded, the increase or decrease in the liability from the prior period, and any penalties and interest that have been recorded.",
        "label": "Summary of Income Tax Examinations [Table Text Block]",
        "terseLabel": "Summary of Tax Returns Periods Subject to Examination by Federal, State and Foreign Tax Authorities"
       }
      }
     },
     "localname": "SummaryOfIncomeTaxExaminationsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/IncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock": {
     "auth_ref": [
      "r483"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of unrecognized tax benefits for which a material change is reasonably possible in the next twelve months, typically including the nature of the uncertainty, the event(s) that could cause a material change, and an estimate of the range of the reasonably possible change or a statement that an estimate of the range cannot be made. An unrecognized tax benefit is the difference between a tax position taken in a tax return and the amounts recognized in the financial statements for which it is more likely than not, based on the technical merits of the position, that the tax position will not be sustained upon examination.",
        "label": "Summary of Positions for which Significant Change in Unrecognized Tax Benefits is Reasonably Possible [Table Text Block]",
        "terseLabel": "Reconciliation of Unrecognized Tax Benefits"
       }
      }
     },
     "localname": "SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/IncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SupplementalBalanceSheetDisclosuresTextBlock": {
     "auth_ref": [
      "r69"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for supplemental balance sheet disclosures, including descriptions and amounts for assets, liabilities, and equity.",
        "label": "Supplemental Balance Sheet Disclosures [Text Block]",
        "verboseLabel": "Consolidated Balance Sheet Detail"
       }
      }
     },
     "localname": "SupplementalBalanceSheetDisclosuresTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheetDetail"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SupplementalCashFlowElementsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental Cash Flow Elements [Abstract]",
        "verboseLabel": "Supplemental disclosure of non-cash investing and financing activities:"
       }
      }
     },
     "localname": "SupplementalCashFlowElementsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SupplementalCashFlowInformationAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental Cash Flow Information [Abstract]",
        "terseLabel": "Supplemental disclosure of cash flow information:"
       }
      }
     },
     "localname": "SupplementalCashFlowInformationAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_TaxCreditCarryforwardAmount": {
     "auth_ref": [
      "r498"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of the tax credit carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.",
        "label": "Tax Credit Carryforward, Amount",
        "terseLabel": "Business tax credits carry forwards"
       }
      }
     },
     "localname": "TaxCreditCarryforwardAmount",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TaxPeriodAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information about the period subject to enacted tax laws.",
        "label": "Tax Period [Axis]",
        "terseLabel": "Tax Period [Axis]"
       }
      }
     },
     "localname": "TaxPeriodAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/IncomeTaxesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/SummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_TaxPeriodDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identified tax period.",
        "label": "Tax Period [Domain]",
        "terseLabel": "Tax Period [Domain]"
       }
      }
     },
     "localname": "TaxPeriodDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/IncomeTaxesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/SummaryOfTaxReturnsPeriodsSubjectToExaminationByFederalStateAndForeignTaxAuthoritiesDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TaxesPayableCurrent": {
     "auth_ref": [
      "r52"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for statutory income, sales, use, payroll, excise, real, property and other taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Taxes Payable, Current",
        "terseLabel": "Tax payable"
       }
      }
     },
     "localname": "TaxesPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/RelatedPartyTransactionsAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TextBlockAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Text Block [Abstract]"
       }
      }
     },
     "localname": "TextBlockAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_TradeNamesMember": {
     "auth_ref": [
      "r535"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof.",
        "label": "Trade Names [Member]",
        "terseLabel": "Trademark and tradename [Member]"
       }
      }
     },
     "localname": "TradeNamesMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsEstimatedUsefulLifeAndFairValueDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TrademarksAndTradeNamesMember": {
     "auth_ref": [
      "r535"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Rights acquired through registration of a trademark to gain or protect exclusive use of a business name, symbol or other device or style, or rights either acquired through registration of a business name to gain or protect exclusive use thereof.",
        "label": "Trademarks and Trade Names [Member]",
        "verboseLabel": "Trademark and tradename"
       }
      }
     },
     "localname": "TrademarksAndTradeNamesMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsFairValueOfNetAssetsAcquiredDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TrademarksMember": {
     "auth_ref": [
      "r535"
     ],
     "lang": {
      "en-us": {
       "role": {
        "definitionGuidance": "Trademark",
        "documentation": "Rights acquired through registration of a trademark to gain or protect exclusive use of a business name, symbol or other device or style.",
        "label": "Trademarks [Member]",
        "terseLabel": "Trademark"
       }
      }
     },
     "localname": "TrademarksMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/GoodwillAndIntangibleAssetsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TrustForBenefitOfEmployeesMember": {
     "auth_ref": [
      "r392",
      "r606",
      "r607",
      "r610"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Trust created by the entity that exists for the benefit of its employees, such as pension and profit-sharing trusts that are managed by or under the trusteeship of the entity's management.",
        "label": "Trust for Benefit of Employees [Member]",
        "terseLabel": "Employees"
       }
      }
     },
     "localname": "TrustForBenefitOfEmployeesMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TypeOfAdoptionMember": {
     "auth_ref": [
      "r142",
      "r143",
      "r144",
      "r145",
      "r224",
      "r225",
      "r226",
      "r227",
      "r228",
      "r229",
      "r455",
      "r456",
      "r457",
      "r458",
      "r459",
      "r460",
      "r461",
      "r462",
      "r505",
      "r506",
      "r507",
      "r508",
      "r626",
      "r627",
      "r628",
      "r687",
      "r688",
      "r689",
      "r690",
      "r691",
      "r692",
      "r693",
      "r694",
      "r695",
      "r696",
      "r697",
      "r698"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amendment to accounting standards.",
        "label": "Type of Adoption [Domain]",
        "terseLabel": "Type of Adoption [Domain]"
       }
      }
     },
     "localname": "TypeOfAdoptionMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/AcquisitionsAdditionalInformationDetail",
      "http://www.repligencorp.com/role/CommitmentsAndContingenciesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/IncomeTaxesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/LeasesAdditionalInformationDetail",
      "http://www.repligencorp.com/role/LeasesTables",
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_UnbilledReceivablesCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets": {
       "order": 23.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount received for services rendered and products shipped, but not yet billed, for non-contractual agreements due within one year or the normal operating cycle, if longer.",
        "label": "Unbilled Receivables, Current",
        "verboseLabel": "Unbilled receivables"
       }
      }
     },
     "localname": "UnbilledReceivablesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UndistributedEarningsOfForeignSubsidiaries": {
     "auth_ref": [
      "r471",
      "r522",
      "r662",
      "r699"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of undistributed earnings of foreign subsidiaries intended to be permanently reinvested outside the country of domicile.",
        "label": "Undistributed Earnings of Foreign Subsidiaries",
        "verboseLabel": "Undistributed earnings of foreign subsidiaries"
       }
      }
     },
     "localname": "UndistributedEarningsOfForeignSubsidiaries",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefits": {
     "auth_ref": [
      "r472",
      "r486"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of unrecognized tax benefits.",
        "label": "Unrecognized Tax Benefits",
        "periodEndLabel": "Balance of gross unrecognized tax benefits, end of period",
        "periodStartLabel": "Balance of gross unrecognized tax benefits, beginning of period"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefits",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfUnrecognizedTaxBenefitsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions": {
     "auth_ref": [
      "r487"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of decrease in unrecognized tax benefits resulting from tax positions taken in prior period tax returns.",
        "label": "Unrecognized Tax Benefits, Decrease Resulting from Prior Period Tax Positions",
        "negatedLabel": "Gross amounts of decreases in unrecognized tax benefits as a result of tax positions taken in the prior period"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfUnrecognizedTaxBenefitsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued": {
     "auth_ref": [
      "r482"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount accrued for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return.",
        "label": "Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued",
        "terseLabel": "Interest and penalties accrued"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense": {
     "auth_ref": [
      "r482"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return.",
        "label": "Unrecognized Tax Benefits, Income Tax Penalties and Interest Expense",
        "terseLabel": "Interest and penalties related to income taxes"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions": {
     "auth_ref": [
      "r488"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in unrecognized tax benefits resulting from tax positions that have been or will be taken in current period tax return.",
        "label": "Unrecognized Tax Benefits, Increase Resulting from Current Period Tax Positions",
        "terseLabel": "Gross amounts of increases in unrecognized tax benefits as a result of tax positions taken in the current period"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfUnrecognizedTaxBenefitsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate": {
     "auth_ref": [
      "r489"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The total amount of unrecognized tax benefits that, if recognized, would affect the effective tax rate.",
        "label": "Unrecognized Tax Benefits that Would Impact Effective Tax Rate",
        "terseLabel": "Impact of unrecognized tax benefits on effective tax rate"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UseOfEstimates": {
     "auth_ref": [
      "r178",
      "r179",
      "r181",
      "r182",
      "r189",
      "r190",
      "r191"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.",
        "label": "Use of Estimates, Policy [Policy Text Block]",
        "terseLabel": "Use of Estimates"
       }
      }
     },
     "localname": "UseOfEstimates",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount": {
     "auth_ref": [
      "r495"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in the valuation allowance for a specified deferred tax asset.",
        "label": "Valuation Allowance, Deferred Tax Asset, Increase (Decrease), Amount",
        "terseLabel": "Valuation allowance increase (decrease)"
       }
      }
     },
     "localname": "ValuationAllowanceDeferredTaxAssetChangeInAmount",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/IncomeTaxesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_VestingAxis": {
     "auth_ref": [
      "r453"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by vesting schedule of award under share-based payment arrangement.",
        "label": "Vesting [Axis]",
        "terseLabel": "Vesting [Axis]"
       }
      }
     },
     "localname": "VestingAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_VestingDomain": {
     "auth_ref": [
      "r453"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Vesting schedule of award under share-based payment arrangement.",
        "label": "Vesting [Domain]",
        "terseLabel": "Vesting [Domain]"
       }
      }
     },
     "localname": "VestingDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/StockholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment": {
     "auth_ref": [
      "r165"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ReconciliationOfBasicAndDilutedSharesAmountsDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation.",
        "label": "Weighted Average Number Diluted Shares Outstanding Adjustment",
        "totalLabel": "Dilutive potential common shares"
       }
      }
     },
     "localname": "WeightedAverageNumberDilutedSharesOutstandingAdjustment",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfBasicAndDilutedSharesAmountsDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "auth_ref": [
      "r156",
      "r165"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.",
        "label": "Weighted Average Number of Shares Outstanding, Diluted",
        "terseLabel": "Diluted",
        "verboseLabel": "Weighted average shares used in computing net income per share - diluted"
       }
      }
     },
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/role/ReconciliationOfBasicAndDilutedSharesAmountsDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number of Shares Outstanding, Diluted [Abstract]",
        "presentationGuidance": "Weighted average common shares outstanding:"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "auth_ref": [
      "r154",
      "r165"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.",
        "label": "Weighted Average Number of Shares Outstanding, Basic",
        "terseLabel": "Basic",
        "verboseLabel": "Weighted average shares used in computing net income per share - basic"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ConsolidatedStatementsOfComprehensiveIncome",
      "http://www.repligencorp.com/role/ReconciliationOfBasicAndDilutedSharesAmountsDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesRestrictedStock": {
     "auth_ref": [
      "r155"
     ],
     "calculation": {
      "http://www.repligencorp.com/role/ReconciliationOfBasicAndDilutedSharesAmountsDetail": {
       "order": 1.0,
       "parentTag": "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares of restricted stock determined by relating the portion of time within a reporting period that restricted shares have been outstanding to the total time in that period. Restricted shares are subject to sales, contractual, regulatory or other restrictions that prevent or inhibit the holder from freely disposing of them before the restriction ends.",
        "label": "Weighted Average Number of Shares, Restricted Stock",
        "terseLabel": "Options and stock units"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesRestrictedStock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.repligencorp.com/role/ReconciliationOfBasicAndDilutedSharesAmountsDetail"
     ],
     "xbrltype": "sharesItemType"
    }
   },
   "unitCount": 8
  }
 },
 "std_ref": {
  "r0": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760"
  },
  "r1": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765"
  },
  "r10": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6812-107765"
  },
  "r100": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.9)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r101": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "8",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r102": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "220",
   "URI": "http://asc.fasb.org/topic&trid=2134417"
  },
  "r103": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3213-108585"
  },
  "r104": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3213-108585"
  },
  "r105": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3255-108585"
  },
  "r106": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3255-108585"
  },
  "r107": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3291-108585"
  },
  "r108": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3291-108585"
  },
  "r109": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3367-108585"
  },
  "r11": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6812-107765"
  },
  "r110": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3521-108585"
  },
  "r111": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3536-108585"
  },
  "r112": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3536-108585"
  },
  "r113": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3536-108585"
  },
  "r114": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3602-108585"
  },
  "r115": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3602-108585"
  },
  "r116": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3602-108585"
  },
  "r117": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3044-108585"
  },
  "r118": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121583591&loc=d3e4273-108586"
  },
  "r119": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121583591&loc=d3e4297-108586"
  },
  "r12": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6911-107765"
  },
  "r120": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121583591&loc=d3e4304-108586"
  },
  "r121": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121583591&loc=d3e4313-108586"
  },
  "r122": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121583591&loc=d3e4332-108586"
  },
  "r123": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121583591&loc=SL98516268-108586"
  },
  "r124": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=84158767&loc=d3e18780-107790"
  },
  "r125": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=84158767&loc=d3e18823-107790"
  },
  "r126": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=84158767&loc=d3e18823-107790"
  },
  "r127": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(d))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r128": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(e)(1))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r129": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r13": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6935-107765"
  },
  "r130": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r131": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h)(1)(i))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r132": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r133": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(k))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r134": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08.(e),(f))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r135": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08.(f))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r136": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08.(h)(1)(i))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r137": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08.(h)(1))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r138": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "235",
   "URI": "http://asc.fasb.org/topic&trid=2122369"
  },
  "r139": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e21914-107793"
  },
  "r14": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6935-107765"
  },
  "r140": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e21930-107793"
  },
  "r141": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e21711-107793"
  },
  "r142": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794"
  },
  "r143": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(3)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794"
  },
  "r144": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(4)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794"
  },
  "r145": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794"
  },
  "r146": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22694-107794"
  },
  "r147": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22694-107794"
  },
  "r148": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22583-107794"
  },
  "r149": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22595-107794"
  },
  "r15": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e7018-107765"
  },
  "r150": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22644-107794"
  },
  "r151": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22644-107794"
  },
  "r152": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22658-107794"
  },
  "r153": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22663-107794"
  },
  "r154": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1448-109256"
  },
  "r155": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e2646-109256"
  },
  "r156": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1505-109256"
  },
  "r157": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1252-109256"
  },
  "r158": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1278-109256"
  },
  "r159": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1930-109256"
  },
  "r16": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766"
  },
  "r160": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "42",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e2029-109256"
  },
  "r161": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "55",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e2626-109256"
  },
  "r162": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=SL5780133-109256"
  },
  "r163": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=SL5780133-109256"
  },
  "r164": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1337-109256"
  },
  "r165": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257"
  },
  "r166": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257"
  },
  "r167": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3630-109257"
  },
  "r168": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=120380238&loc=d3e3842-109258"
  },
  "r169": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "52",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=120380238&loc=d3e4984-109258"
  },
  "r17": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r170": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "270",
   "URI": "http://asc.fasb.org/extlink&oid=116846552&loc=d3e543-108305"
  },
  "r171": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "270",
   "URI": "http://asc.fasb.org/extlink&oid=121640914&loc=d3e1280-108306"
  },
  "r172": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "270",
   "URI": "http://asc.fasb.org/topic&trid=2126967"
  },
  "r173": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "http://asc.fasb.org/extlink&oid=6828210&loc=d3e70191-108054"
  },
  "r174": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "http://asc.fasb.org/extlink&oid=6828210&loc=d3e70229-108054"
  },
  "r175": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "http://asc.fasb.org/extlink&oid=6373374&loc=d3e70434-108055"
  },
  "r176": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "272",
   "URI": "http://asc.fasb.org/extlink&oid=6373374&loc=d3e70478-108055"
  },
  "r177": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r178": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r179": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r18": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(13))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r180": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r181": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6161-108592"
  },
  "r182": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6191-108592"
  },
  "r183": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6327-108592"
  },
  "r184": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592"
  },
  "r185": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592"
  },
  "r186": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592"
  },
  "r187": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6404-108592"
  },
  "r188": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6442-108592"
  },
  "r189": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6061-108592"
  },
  "r19": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(14))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r190": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6132-108592"
  },
  "r191": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6143-108592"
  },
  "r192": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "275",
   "URI": "http://asc.fasb.org/topic&trid=2134479"
  },
  "r193": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599"
  },
  "r194": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599"
  },
  "r195": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599"
  },
  "r196": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599"
  },
  "r197": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599"
  },
  "r198": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8864-108599"
  },
  "r199": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8864-108599"
  },
  "r2": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765"
  },
  "r20": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(17))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r200": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8864-108599"
  },
  "r201": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8864-108599"
  },
  "r202": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8864-108599"
  },
  "r203": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8864-108599"
  },
  "r204": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599"
  },
  "r205": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599"
  },
  "r206": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599"
  },
  "r207": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599"
  },
  "r208": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8924-108599"
  },
  "r209": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599"
  },
  "r21": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(19))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r210": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599"
  },
  "r211": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599"
  },
  "r212": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599"
  },
  "r213": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599"
  },
  "r214": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9031-108599"
  },
  "r215": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9038-108599"
  },
  "r216": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9038-108599"
  },
  "r217": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "42",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9054-108599"
  },
  "r218": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121593590&loc=d3e4647-111522"
  },
  "r219": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121593590&loc=d3e4428-111522"
  },
  "r22": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(20))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r220": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121593590&loc=d3e4531-111522"
  },
  "r221": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=d3e5074-111524"
  },
  "r222": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 4.E)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=27010918&loc=d3e74512-122707"
  },
  "r223": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "http://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571"
  },
  "r224": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437"
  },
  "r225": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437"
  },
  "r226": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437"
  },
  "r227": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437"
  },
  "r228": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(3)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437"
  },
  "r229": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(4)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437"
  },
  "r23": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(22))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r230": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121647444&loc=SL120269210-210444"
  },
  "r231": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5A",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121647444&loc=SL120254536-210444"
  },
  "r232": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8A",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121648281&loc=SL120267834-210445"
  },
  "r233": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121599878&loc=SL82895884-210446"
  },
  "r234": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121599878&loc=SL120267845-210446"
  },
  "r235": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919244-210447"
  },
  "r236": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919249-210447"
  },
  "r237": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919249-210447"
  },
  "r238": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919249-210447"
  },
  "r239": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919249-210447"
  },
  "r24": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(26)(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r240": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919249-210447"
  },
  "r241": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919253-210447"
  },
  "r242": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919260-210447"
  },
  "r243": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919269-210447"
  },
  "r244": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919272-210447"
  },
  "r245": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL120267966-210447"
  },
  "r246": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL120267969-210447"
  },
  "r247": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919230-210447"
  },
  "r248": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919236-210447"
  },
  "r249": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121614247&loc=SL120267897-210452"
  },
  "r25": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(26)(b))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r250": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13A",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121565518&loc=SL120267917-210453"
  },
  "r251": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121565518&loc=SL120269220-210453"
  },
  "r252": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121582814&loc=SL120267853-210455"
  },
  "r253": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121582814&loc=SL120267859-210455"
  },
  "r254": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121582814&loc=SL120267862-210455"
  },
  "r255": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121582814&loc=SL82922888-210455"
  },
  "r256": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121582814&loc=SL82922895-210455"
  },
  "r257": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=116847112&loc=d3e4492-108314"
  },
  "r258": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=116847112&loc=d3e4556-108314"
  },
  "r259": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.BB)",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=27011343&loc=d3e100047-122729"
  },
  "r26": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(27))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r260": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "330",
   "URI": "http://asc.fasb.org/topic&trid=2126998"
  },
  "r261": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "05",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "340",
   "URI": "http://asc.fasb.org/extlink&oid=68074540&loc=d3e5879-108316"
  },
  "r262": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "05",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "340",
   "URI": "http://asc.fasb.org/extlink&oid=68074540&loc=d3e5879-108316"
  },
  "r263": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "340",
   "URI": "http://asc.fasb.org/extlink&oid=6387103&loc=d3e6435-108320"
  },
  "r264": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=99380562&loc=d3e13770-109266"
  },
  "r265": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=120320667&loc=SL49117168-202975"
  },
  "r266": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r267": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r268": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r269": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13854-109267"
  },
  "r27": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(28))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r270": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=6388964&loc=d3e16212-109274"
  },
  "r271": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=6388964&loc=d3e16225-109274"
  },
  "r272": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r273": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(2)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r274": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(3)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r275": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r276": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r277": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r278": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "((a)(1),(b))",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r279": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r28": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(29))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r280": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(1)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r281": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(2)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r282": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(3)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r283": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r284": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r285": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "350",
   "URI": "http://asc.fasb.org/topic&trid=2144416"
  },
  "r286": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=68071081&loc=d3e1205-110223"
  },
  "r287": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r288": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r289": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r29": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(3))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r290": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r291": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230"
  },
  "r292": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "440",
   "URI": "http://asc.fasb.org/extlink&oid=121559207&loc=d3e25336-109308"
  },
  "r293": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "440",
   "URI": "http://asc.fasb.org/extlink&oid=121559207&loc=d3e25336-109308"
  },
  "r294": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "440",
   "URI": "http://asc.fasb.org/topic&trid=2144648"
  },
  "r295": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14326-108349"
  },
  "r296": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "450",
   "URI": "http://asc.fasb.org/topic&trid=2127136"
  },
  "r297": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=68070138&loc=d3e11281-110244"
  },
  "r298": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=68068213&loc=d3e12524-110249"
  },
  "r299": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=6802200&loc=SL6230698-112601"
  },
  "r3": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765"
  },
  "r30": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r300": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=51819886&loc=SL6014347-161799"
  },
  "r301": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=120520924&loc=SL6031897-161870"
  },
  "r302": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=120520924&loc=SL6031897-161870"
  },
  "r303": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=120520924&loc=SL6031897-161870"
  },
  "r304": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=120520924&loc=SL6031898-161870"
  },
  "r305": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=120520924&loc=SL6036836-161870"
  },
  "r306": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "40",
   "SubTopic": "50",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=117329964&loc=d3e12317-112629"
  },
  "r307": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "40",
   "SubTopic": "50",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=117329964&loc=d3e12355-112629"
  },
  "r308": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "470",
   "URI": "http://asc.fasb.org/topic&trid=2208564"
  },
  "r309": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21463-112644"
  },
  "r31": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r310": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21475-112644"
  },
  "r311": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21506-112644"
  },
  "r312": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21506-112644"
  },
  "r313": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21521-112644"
  },
  "r314": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21538-112644"
  },
  "r315": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770"
  },
  "r316": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "505",
   "URI": "http://asc.fasb.org/topic&trid=2208762"
  },
  "r317": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121556615&loc=SL49130531-203044"
  },
  "r318": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121556615&loc=SL49130532-203044"
  },
  "r319": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130551-203045"
  },
  "r32": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(4))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r320": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130554-203045"
  },
  "r321": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130554-203045"
  },
  "r322": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130554-203045"
  },
  "r323": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130554-203045"
  },
  "r324": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130554-203045"
  },
  "r325": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130556-203045"
  },
  "r326": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130558-203045"
  },
  "r327": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130543-203045"
  },
  "r328": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130545-203045"
  },
  "r329": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130549-203045"
  },
  "r33": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r330": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130550-203045"
  },
  "r331": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046"
  },
  "r332": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046"
  },
  "r333": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046"
  },
  "r334": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046"
  },
  "r335": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046"
  },
  "r336": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046"
  },
  "r337": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046"
  },
  "r338": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "606",
   "URI": "http://asc.fasb.org/topic&trid=49130388"
  },
  "r339": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "10",
   "Topic": "710",
   "URI": "http://asc.fasb.org/extlink&oid=6409733&loc=d3e19512-108361"
  },
  "r34": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(31))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r340": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "10",
   "Topic": "710",
   "URI": "http://asc.fasb.org/extlink&oid=6409875&loc=d3e20015-108363"
  },
  "r341": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "710",
   "URI": "http://asc.fasb.org/topic&trid=2127225"
  },
  "r342": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "15",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "712",
   "URI": "http://asc.fasb.org/extlink&oid=6410066&loc=d3e79218-111664"
  },
  "r343": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "15",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "712",
   "URI": "http://asc.fasb.org/extlink&oid=6410066&loc=d3e79218-111664"
  },
  "r344": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "712",
   "URI": "http://asc.fasb.org/topic&trid=2197446"
  },
  "r345": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=109237824&loc=d3e1703-114919"
  },
  "r346": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r347": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(1)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r348": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(10)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r349": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(2)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r35": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(32))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r350": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(3)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r351": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(4)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r352": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(5)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r353": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(6)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r354": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(7)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r355": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(8)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r356": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(9)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r357": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r358": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r359": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r36": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(4)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r360": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r361": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(4)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r362": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(5)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r363": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(6)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r364": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(7)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r365": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(8)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r366": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r367": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(i)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r368": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(ii)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r369": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(01)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r37": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(5))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r370": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r371": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(A)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r372": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(B)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r373": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(C)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r374": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(03)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r375": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r376": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r377": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r378": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r379": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)(1)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r38": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r380": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)(2)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r381": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)(3)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r382": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)(4)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r383": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)(5)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r384": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)(6)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r385": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)(7)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r386": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(i)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r387": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(j)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r388": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(k)(1)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r389": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(k)(2)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r39": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(3))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r390": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(k)(3)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r391": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(k)(4)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r392": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(n)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r393": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(q)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r394": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e2410-114920"
  },
  "r395": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e2417-114920"
  },
  "r396": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e2417-114920"
  },
  "r397": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e2439-114920"
  },
  "r398": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e2709-114920"
  },
  "r399": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(1)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e2709-114920"
  },
  "r4": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(g)(1)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765"
  },
  "r40": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(4))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r400": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(2)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e2709-114920"
  },
  "r401": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(3)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e2709-114920"
  },
  "r402": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(4)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e2709-114920"
  },
  "r403": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(5)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e2709-114920"
  },
  "r404": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(6)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e2709-114920"
  },
  "r405": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(7)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e2709-114920"
  },
  "r406": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e2709-114920"
  },
  "r407": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e2919-114920"
  },
  "r408": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118257860&loc=d3e4179-114921"
  },
  "r409": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118257860&loc=d3e4587-114921"
  },
  "r41": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r410": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "70",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=49170846&loc=d3e28014-114942"
  },
  "r411": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "80",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=29639808&loc=d3e29008-114946"
  },
  "r412": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947"
  },
  "r413": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(b)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947"
  },
  "r414": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(c)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947"
  },
  "r415": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947"
  },
  "r416": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(d)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947"
  },
  "r417": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450673-114947"
  },
  "r418": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(b)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450673-114947"
  },
  "r419": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(c)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450673-114947"
  },
  "r42": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r420": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(b)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450691-114947"
  },
  "r421": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "80",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=35742348&loc=SL14450788-114948"
  },
  "r422": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "715",
   "URI": "http://asc.fasb.org/topic&trid=2235017"
  },
  "r423": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121326096&loc=d3e4534-113899"
  },
  "r424": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901"
  },
  "r425": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901"
  },
  "r426": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901"
  },
  "r427": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901"
  },
  "r428": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r429": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a),(g)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r43": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r430": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b),(f)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r431": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r432": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r433": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r434": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)-(ii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r435": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r436": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r437": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r438": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(3)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r439": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(i)-(ii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r44": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(7))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r440": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r441": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r442": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r443": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r444": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r445": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r446": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r447": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r448": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r449": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r45": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(8))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r450": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r451": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r452": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r453": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r454": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=SL79508275-113901"
  },
  "r455": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r456": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r457": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r458": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r459": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r46": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.1)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r460": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r461": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r462": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(g)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r463": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 14.D.2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=115993241&loc=d3e301413-122809"
  },
  "r464": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 14.F)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=115993241&loc=d3e301413-122809"
  },
  "r465": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120383193&loc=d3e11149-113907"
  },
  "r466": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120383193&loc=d3e11178-113907"
  },
  "r467": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "718",
   "URI": "http://asc.fasb.org/topic&trid=2228938"
  },
  "r468": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "35",
   "Subparagraph": "(a)",
   "Topic": "720",
   "URI": "http://asc.fasb.org/extlink&oid=6420018&loc=d3e36677-107848"
  },
  "r469": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "35",
   "Subparagraph": "(b)",
   "Topic": "720",
   "URI": "http://asc.fasb.org/extlink&oid=6420018&loc=d3e36677-107848"
  },
  "r47": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.13(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r470": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "730",
   "URI": "http://asc.fasb.org/extlink&oid=6420194&loc=d3e21568-108373"
  },
  "r471": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121573983&loc=d3e28200-109314"
  },
  "r472": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=120406818&loc=SL37586934-109318"
  },
  "r473": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=120406818&loc=d3e32059-109318"
  },
  "r474": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=120406818&loc=d3e32247-109318"
  },
  "r475": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=120406818&loc=d3e32280-109318"
  },
  "r476": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=120406818&loc=d3e31917-109318"
  },
  "r477": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=120406818&loc=d3e31931-109318"
  },
  "r478": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=120406818&loc=d3e31958-109318"
  },
  "r479": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32672-109319"
  },
  "r48": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.13)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r480": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32687-109319"
  },
  "r481": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32705-109319"
  },
  "r482": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32718-109319"
  },
  "r483": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32718-109319"
  },
  "r484": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32718-109319"
  },
  "r485": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32718-109319"
  },
  "r486": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=SL6600010-109319"
  },
  "r487": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=SL6600010-109319"
  },
  "r488": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=SL6600010-109319"
  },
  "r489": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=SL6600010-109319"
  },
  "r49": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.14)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r490": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32809-109319"
  },
  "r491": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32840-109319"
  },
  "r492": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32537-109319"
  },
  "r493": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32537-109319"
  },
  "r494": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32537-109319"
  },
  "r495": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32537-109319"
  },
  "r496": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32847-109319"
  },
  "r497": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32857-109319"
  },
  "r498": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32559-109319"
  },
  "r499": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32621-109319"
  },
  "r5": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(g)(4)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765"
  },
  "r50": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.17)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r500": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32632-109319"
  },
  "r501": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32639-109319"
  },
  "r502": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32639-109319"
  },
  "r503": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32639-109319"
  },
  "r504": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "217",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121610041&loc=d3e36027-109320"
  },
  "r505": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740"
  },
  "r506": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740"
  },
  "r507": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "740"
  },
  "r508": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(3)",
   "Topic": "740"
  },
  "r509": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.5.Q1)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817"
  },
  "r51": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r510": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817"
  },
  "r511": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817"
  },
  "r512": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.1)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817"
  },
  "r513": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.2)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817"
  },
  "r514": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.3)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817"
  },
  "r515": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.4)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817"
  },
  "r516": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.C)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330215-122817"
  },
  "r517": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=120385591&loc=d3e39076-109324"
  },
  "r518": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=120385591&loc=d3e38679-109324"
  },
  "r519": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=120385591&loc=d3e38679-109324"
  },
  "r52": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19,20)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r520": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "270",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=6424409&loc=d3e44925-109338"
  },
  "r521": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331"
  },
  "r522": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331"
  },
  "r523": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "740",
   "URI": "http://asc.fasb.org/topic&trid=2144680"
  },
  "r524": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=116868678&loc=d3e1043-128460"
  },
  "r525": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463"
  },
  "r526": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463"
  },
  "r527": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(2)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463"
  },
  "r528": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(3)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463"
  },
  "r529": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(4)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463"
  },
  "r53": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19-26)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r530": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463"
  },
  "r531": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1486-128463"
  },
  "r532": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "37",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=121600890&loc=d3e2207-128464"
  },
  "r533": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=121647850&loc=d3e4845-128472"
  },
  "r534": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=121647850&loc=d3e4845-128472"
  },
  "r535": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=121598580&loc=d3e5263-128473"
  },
  "r536": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=121598580&loc=d3e5263-128473"
  },
  "r537": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=121598580&loc=d3e5333-128473"
  },
  "r538": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "38",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=121598580&loc=d3e5504-128473"
  },
  "r539": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "30",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=6911189&loc=d3e6405-128476"
  },
  "r54": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.20)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r540": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "30",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=116859721&loc=d3e6578-128477"
  },
  "r541": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "30",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=116859721&loc=d3e6613-128477"
  },
  "r542": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=120321790&loc=d3e6927-128479"
  },
  "r543": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)(1)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=120321790&loc=d3e6927-128479"
  },
  "r544": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)(3)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=120321790&loc=d3e6927-128479"
  },
  "r545": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)(4)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=120321790&loc=d3e6927-128479"
  },
  "r546": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(1)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=120321790&loc=d3e7008-128479"
  },
  "r547": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "740",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=121554379&loc=d3e9972-128506"
  },
  "r548": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "740",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=121554379&loc=d3e9979-128506"
  },
  "r549": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "805",
   "URI": "http://asc.fasb.org/topic&trid=2303972"
  },
  "r55": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.21)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r550": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=108774443&loc=SL4569616-111683"
  },
  "r551": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=108774443&loc=SL4569643-111683"
  },
  "r552": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988"
  },
  "r553": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988"
  },
  "r554": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(3)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r555": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c),(3)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r556": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bb)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=121559654&loc=d3e5710-111685"
  },
  "r557": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=121559654&loc=d3e5710-111685"
  },
  "r558": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5618551-113959"
  },
  "r559": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5624163-113959"
  },
  "r56": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22(a)(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r560": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "182",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=121582272&loc=SL5629052-113961"
  },
  "r561": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "15",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=120432202&loc=SL78129883-166256"
  },
  "r562": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258"
  },
  "r563": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258"
  },
  "r564": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bbb)(1)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258"
  },
  "r565": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bbb)(2)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258"
  },
  "r566": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258"
  },
  "r567": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19279-110258"
  },
  "r568": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=SL6742756-110258"
  },
  "r569": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=116690757&loc=SL116692626-108610"
  },
  "r57": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22(a)(2))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r570": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=121572278&loc=d3e13531-108611"
  },
  "r571": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=121572278&loc=d3e13537-108611"
  },
  "r572": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=121572278&loc=d3e13537-108611"
  },
  "r573": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=75031198&loc=d3e14064-108612"
  },
  "r574": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "230",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=98513438&loc=d3e33268-110906"
  },
  "r575": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900"
  },
  "r576": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r577": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r578": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r579": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r58": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22(a)(5))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r580": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r581": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901"
  },
  "r582": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=6450520&loc=d3e32618-110901"
  },
  "r583": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "830",
   "URI": "http://asc.fasb.org/topic&trid=2175825"
  },
  "r584": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=6450988&loc=d3e26243-108391"
  },
  "r585": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=119993939&loc=d3e28541-108399"
  },
  "r586": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=119993939&loc=d3e28551-108399"
  },
  "r587": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=119993939&loc=d3e28555-108399"
  },
  "r588": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=114775985&loc=d3e28878-108400"
  },
  "r589": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "840",
   "URI": "http://asc.fasb.org/extlink&oid=121603689&loc=d3e36975-112693"
  },
  "r59": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r590": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "840",
   "URI": "http://asc.fasb.org/extlink&oid=121578510&loc=d3e41551-112718"
  },
  "r591": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "840",
   "URI": "http://asc.fasb.org/extlink&oid=121578510&loc=d3e41551-112718"
  },
  "r592": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "840",
   "URI": "http://asc.fasb.org/extlink&oid=121568338&loc=d3e45377-112738"
  },
  "r593": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121603541&loc=SL77918627-209977"
  },
  "r594": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121603541&loc=SL77918627-209977"
  },
  "r595": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121603541&loc=SL77918643-209977"
  },
  "r596": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918686-209980"
  },
  "r597": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(1)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918686-209980"
  },
  "r598": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(3)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918686-209980"
  },
  "r599": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(4)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918686-209980"
  },
  "r6": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765"
  },
  "r60": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.24)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r600": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918686-209980"
  },
  "r601": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918701-209980"
  },
  "r602": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "53",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121568110&loc=SL77918982-209971"
  },
  "r603": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/subtopic&trid=77888251"
  },
  "r604": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864"
  },
  "r605": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864"
  },
  "r606": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864"
  },
  "r607": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864"
  },
  "r608": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864"
  },
  "r609": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39599-107864"
  },
  "r61": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.25)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r610": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39603-107864"
  },
  "r611": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39691-107864"
  },
  "r612": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "850",
   "URI": "http://asc.fasb.org/topic&trid=2122745"
  },
  "r613": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "855",
   "URI": "http://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662"
  },
  "r614": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r615": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r616": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r617": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r618": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r619": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r62": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r620": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r621": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r622": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r623": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "910",
   "URI": "http://asc.fasb.org/extlink&oid=119991564&loc=SL119991595-234733"
  },
  "r624": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.L)",
   "Topic": "924",
   "URI": "http://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856"
  },
  "r625": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "926",
   "URI": "http://asc.fasb.org/extlink&oid=120154696&loc=d3e54445-107959"
  },
  "r626": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "926",
   "URI": "http://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079"
  },
  "r627": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "926",
   "URI": "http://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079"
  },
  "r628": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "926",
   "URI": "http://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079"
  },
  "r629": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "340",
   "Topic": "928",
   "URI": "http://asc.fasb.org/extlink&oid=6473545&loc=d3e61844-108004"
  },
  "r63": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29-30)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r630": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=d3e61929-109447"
  },
  "r631": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=d3e61929-109447"
  },
  "r632": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=d3e62059-109447"
  },
  "r633": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=d3e62059-109447"
  },
  "r634": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=d3e62395-109447"
  },
  "r635": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=d3e62395-109447"
  },
  "r636": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "33",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=d3e62479-109447"
  },
  "r637": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "33",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=d3e62479-109447"
  },
  "r638": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "35A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=SL6807758-109447"
  },
  "r639": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "35A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=SL6807758-109447"
  },
  "r64": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r640": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(c)(1)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=d3e61872-109447"
  },
  "r641": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(c)(2)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=d3e61872-109447"
  },
  "r642": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Topic": "940",
   "URI": "http://asc.fasb.org/extlink&oid=68072869&loc=d3e41242-110953"
  },
  "r643": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(1)(a))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r644": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(10)(1))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r645": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(11))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r646": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(13))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r647": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(15)(1))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r648": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(15)(2))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r649": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(16))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r65": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.6(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r650": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(23))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r651": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.17)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r652": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(15))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r653": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(22))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r654": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(23))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r655": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(26))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r656": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(27))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r657": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.9)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r658": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884"
  },
  "r659": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "470",
   "Subparagraph": "(c)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=75038535&loc=d3e64711-112823"
  },
  "r66": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.6(b))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r660": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "470",
   "Subparagraph": "e",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=75038535&loc=d3e64711-112823"
  },
  "r661": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "470",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=75038535&loc=d3e64711-112823"
  },
  "r662": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "740",
   "Subparagraph": "(b)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6479915&loc=d3e66715-112838"
  },
  "r663": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "825",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=108315417&loc=d3e61044-112788"
  },
  "r664": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(15)(b)(2))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r665": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(16))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r666": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r667": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(15)(b)(1))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r668": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(16))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r669": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(2))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r67": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.8)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r670": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r671": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r672": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r673": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r674": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03.(a),19)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r675": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(18))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r676": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(19))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r677": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(22))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r678": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(23))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r679": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(8))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r68": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.9)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r680": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(9))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r681": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4H",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=116884468&loc=SL65671331-158438"
  },
  "r682": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(d)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121643868&loc=SL117782755-158439"
  },
  "r683": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121639165&loc=SL117783719-158441"
  },
  "r684": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(b)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121639165&loc=SL117783719-158441"
  },
  "r685": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(c)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121639165&loc=SL117783719-158441"
  },
  "r686": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121639165&loc=SL117819544-158441"
  },
  "r687": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r688": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(b)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r689": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r69": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "210",
   "URI": "http://asc.fasb.org/topic&trid=2122208"
  },
  "r690": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(1)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r691": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(2)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r692": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(1)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r693": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(i)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r694": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(ii)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r695": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(iii)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r696": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(iv)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r697": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(h)(1)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r698": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(h)(2)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r699": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "740",
   "Subparagraph": "(b)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=6487024&loc=d3e29054-158556"
  },
  "r7": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6787-107765"
  },
  "r70": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669646-108580"
  },
  "r700": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "825",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=99380617&loc=SL75241803-196195"
  },
  "r701": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "220",
   "Subparagraph": "(k)",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=118262090&loc=SL114874205-224268"
  },
  "r702": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07.2(a),(b),(c),(d))",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=120401555&loc=SL114874292-224272"
  },
  "r703": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "310",
   "Subparagraph": "(SX 210.12-29(Footnote 4))",
   "Topic": "948",
   "URI": "http://asc.fasb.org/extlink&oid=120402547&loc=d3e617274-123014"
  },
  "r704": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "210",
   "Topic": "954",
   "URI": "http://asc.fasb.org/extlink&oid=120413173&loc=SL116631458-115580"
  },
  "r705": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "740",
   "Topic": "954",
   "URI": "http://asc.fasb.org/extlink&oid=6491622&loc=d3e9504-115650"
  },
  "r706": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Subparagraph": "(d)",
   "Topic": "958",
   "URI": "http://asc.fasb.org/extlink&oid=120429125&loc=d3e99779-112916"
  },
  "r707": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "958",
   "URI": "http://asc.fasb.org/extlink&oid=120429125&loc=d3e99893-112916"
  },
  "r708": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r709": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r71": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a),(b),(c)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669646-108580"
  },
  "r710": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r711": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r712": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r713": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r714": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r715": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r716": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Footnote 2))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r717": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "985",
   "URI": "http://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756"
  },
  "r718": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b"
  },
  "r719": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r72": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669646-108580"
  },
  "r720": {
   "Name": "Form 10-K",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "310"
  },
  "r721": {
   "Name": "Form 20-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "220",
   "Subsection": "f"
  },
  "r722": {
   "Name": "Form 40-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "240",
   "Subsection": "f"
  },
  "r723": {
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13",
   "Subsection": "a-1"
  },
  "r724": {
   "Name": "Regulation 12B",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r725": {
   "Name": "Regulation S-T",
   "Number": "232",
   "Publisher": "SEC",
   "Section": "405"
  },
  "r73": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=d3e637-108580"
  },
  "r74": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=d3e681-108580"
  },
  "r75": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669686-108580"
  },
  "r76": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL34724394-108580"
  },
  "r77": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669619-108580"
  },
  "r78": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669619-108580"
  },
  "r79": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669619-108580"
  },
  "r8": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6801-107765"
  },
  "r80": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669625-108580"
  },
  "r81": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669625-108580"
  },
  "r82": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=d3e557-108580"
  },
  "r83": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116657188&loc=SL116659661-227067"
  },
  "r84": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(210.5-03(11))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r85": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(10))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r86": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(20))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r87": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(21))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r88": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(24))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r89": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(25))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r9": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6812-107765"
  },
  "r90": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(5))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r91": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(8))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r92": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(b)(4))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r93": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r94": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r95": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.2(a),(d))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r96": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.4)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r97": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.7(a),(b))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r98": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.7)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r99": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.8)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  }
 },
 "version": "2.1"
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>114
<FILENAME>0001193125-21-054675-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001193125-21-054675-xbrl.zip
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
M8 >.9_MHU""*"UZ,'1Y=.W)C"Q%9/'=FJL?>*_MUJ<MG%2.66^UL?7B<0H8
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
M4T17C,FD'I;'A5&-BNRD-H4_AIE01J$6"'TY"Y!;EM&H'J&>A;1/W13@ITC
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
ML\E32$BW*JM-*!AM+=ED?$7YZE39FA> 0@%GQ;@FLX<8K(2&A]*41*4A1LE
MS 9V.PAURB >F7U,><,9#L8QSI[P4'XJ\1P/O-&H6#"')S ^1N8_!E@%$X^$
M=$VZ%HZ*G57X7 D6!2O@133 6G98D/%<1T7=PG11>'07RV^">GXA/4J:Y!0K
M6?C'WJN$DP2S-X)5+H"" FF6M^%X]67::$TI?/!L7' \,F)864$7WYK)6.D(
M[B5>45,'RP;/%.TD13?:T,; 'ZEU^DY6"&&6 :$L@UZ5GXERZ841QL,"Z[-P
M!";JJ98U:I"W0KH22?7T8G0X>9C5B?N28,XB9OJQA=,=LUG,A^H0W6I,'K="
M_"3P4E[AORZ/KV#VO)! L-G(D$(RG>A8>V!N]<QX$.IFFZL0'FZ\R1&G[)?#
MAT9N'5UR8W+.>([@S&%W$AIP2;K9*6F3$:4*YJ/"6<XB13ZE^U(K1C!@47)2
M/&L\3;H;K\LL@=I]U2JU>_!A5;E)4(#Y*$&*E36])>7_13 4Y1&26;DJ51,,
M=.<GZL*."MOE-A^XWNCKU-XM"\_JF'<7K!:=2+DM=CMZB"Z5>-X@8_UB G_4
M[&U!/E\/,RPPU1P):4A1?CC\G '2^'OKU/,3IL4/UO$ 3G&0C7#DP6GW@7NT
MQQB[M_TQ'/WQ!]6ZG7STF^(]['@(G-AJ-%NF;ZP?>#TX[TG.ZZ.FZ(<V0B24
M,87<W2.0(9V\C<D8>KTI-YZNIZ,(*^I&/GH@HCB!A:C+2!KG>U#! ,5QS%"E
M+,K503.R EE&,:"0/!!IS"2KE5,Y<Q7+@"?7%:"A78 98@@DU!<P/@<GEV"E
M)H,?XF05Z9E6!0KYF!\O&L.Z":8I>%7L@/"KY:9 X):<EH( W8ZMQX%7S0(Y
M6E>*N\X47Y+N5-PH%[,?VKZ.^<6B6'W],_/^L-:G:U]H23/WOQFQ4)ZV\A(/
M'9:[^IL]''WXK(.BB0H L>0P_=<J$$K4%XE^"J<H,@IWP!&&5IKE)-FHI:.3
M!!5BU@659X)Q!EWA(V]YAGF0V$!_Z-#GF)'&*56D T<YZ9L2BGD:9,6Z$DI[
M(IJ@4!0]+/' ,)7+N6!8)Y,.R>:53D,\#7Q1=VPL..H'>I?E]Z")ZHTN:ATR
MS4(J[';6&<JP(ZYU#$T360SFD>E;&OEIOPX?ZC@I'"$,G5%J67W,4;<$G<3X
M U!7+&0BD!_B?@=LCI2(A!KS!%P[Q"0[A$F"N:>4,61$R_/4FT4Q.4F-/*!#
MCYVCI-1R!HJV>&7H7@W $+[/'@0A_X,K')DJ\YY/&J*7A]=[ZL-_@?-8V137
M?QT+L#?;UZ?3W)-OI^60%Q[U(;OI:'=_=$=.RH-]J9-;])HK005_L+(=F5>T
M85JG03N9WX/25,WB.LHZ2>R^BH3K?!7. BCDD:C45)44K!*KBOD]ZGL4.,)Z
MY<"PB$WS$?#71O8*ZRN2 E1/$,2 1#<0%V:>@EFDA210B9:.*C',')G.CT#W
M34IJUBNI_81IS"'W\WJ3 _6!U!9[PJUW[03QO2-K,.Y&GIO=_YK*-'0>0J;1
M;\I9IME/RE;\*])<DJ&@\]'"BSYAQ-B!2F0"PYSB1: \(ZVIC?L]V[=>1J%
M0!X&UFP+[XA!H4";?SABBF.O$SP-O2KX\FRHYC""@..15#\*E O[3S$IRFLC
MZ!UY9IG[R ZO* VLC#RP118E'%!A#OS.'DJS'E(8+ZC!"2_B 7!5@B#OP&>O
M<J^@WC>OY6-Z] 19<:Y&:+Z:F034-:9)(X=':0%T ;[@UH;)Z^$-0U0V7@WL
M"-4ZX;[./58J!#0A3DWSC )/6N+8BRE"J^91C]#!*X(;+PH#S=M@<M&X>75@
MYZB;#R[M;5B7D;-(B#KJC)SE27:6':AT>&4%=<<ZAZZJ&GTQKM^KXEM5?&O%
M:30[EZ5(W;7:L:Z/R: 3QI[PJ0F'-D15)S'./\5( <=!QE::P'__8R3FD5C3
M"0HQ)0OV\@>)&24Q4?MMJP^&7F#=A#Z6W!?U)C6^W8ESBT6QC/G[@B4Q9JI9
M%/ZBK -*EF>L Q@BQM'@C&#%B@Q+N!--C3 :DU6EG$F]U,_E1]-YELV%['SN
M7 D?WM8:C88%Z[)HD^E%H6245VTB$Y-<-482*VR_;Z>!@YT.,NO;8C"$6"?U
M (-Y 8.2>%P* WLH?&-768V)S=1R(_BI4VH-IXCQNACC%[[0I$$[I@O@#$M=
M!0J**EEQ',@) >;U:_K"9"*=S(_V-Z:Q$I2YFANH 3VOK]*97O$$!Z$,> 7Y
M]?%040=E&LD6WLRD^JI5L_9KUCNZNMEX75/^#DIC-VZ7@WR%.Q?&-#[YHC?\
M9$NFG2>D?:/O ;O?9&]Y5U/OX/GG<F=@T[+U,%KX$(M-;+)D_9A@:]BQREHO
M5@Z HB(0#$2:))2_A-]+T^&&P]8]U%SM0I-NE+R@R]VHU5-J:,Y)P0W-0)OB
M=''5I5KZ6$T7MDP5AS=1!8!'=I&J\J#>0.@ N0W@H0-OM"F<? 8VNA@E%&?&
M,, AAY>1KY4R;7,]>U>7M/5!!265E99,<YXO;'3[=^"8!Y)/8ZL#6^4-L8D!
MTHBV4CJ=3YF7-51Y!@DW:,GH*K-+\B0&M\@G$$#0I[,+1.I:LENC<WW%$KU.
MIT/-I')#\%,Z",JD!',H,/5-F[AU)D_7O/RETHB?N;J:W S_6O(.G?H@:3H#
M(1+KF((VF$NP86XGN9) ^_N'K0^YX)OFKNP:YK"N[7/I$W*7]MQ,*DNO3(_"
M:R4-LQH3#*+"$M=C6N(D<QWU^"[M;M #.<V\$8[>$>5#,LIJ\OH<>9N#Q"B?
MQ5,D];6WS9$Q.#R5Y&1+2F)D?A1/VV#6SMGWSI(IL1M1]0#GJC!0FCJ,Y*JB
MX5[/0:31^1++L\QHVTN9O2D?X+"@V4)NROF#DR*7&%:WL;HHLK:C(AF$KJX!
MG$T:;!D,0U^ (:/4>B\FE=\?:\*C&$LNUBIK O/%EC.K*G>)C RJ[@E;&BNX
MM2JMC<+<<+("/0B) >']A4W X(2,/+<O&. MDE8$H_Q))48I(I3V G3M8=CI
M!#U#ADJG!L !,8H?4GT8G%(V*C#_D0HXL)D[EMXX-+-\KQN1'D6#PH6A)<[S
M=,U*D:<-SN8$@-PWQCKN6M]CLJIH;7+$JE4\$5,"']6!U4&+)PQ#,4*G'F@/
M 4'$J3RRKDAN!8-DQ(A &&(]EZQ"3D$%"_JOLQI(;3T2A^58)HNR&1RI6CV2
MKLE\)T5*-FB&L0!J9@PX>B ]7FK00##N+>7NHZFH\QER?GY4%!"LL3<V!8&5
M<#(5@0*&(T6^M'";%L4%!5-G+:K\#ZS'6KX<_F(/AW8M2Z4561<L;#=A1X%"
M7#!$<4X"4;$%;,SS:##/L"1*&LE\4T7JM$@8//?CT. 2*7/-P+5-O@].BQFB
M.EM346H*84>1[;*%QFH%LU1F,6="B@Q6H*&?R-3Y8B U+,(#]> XIY?8PQ&J
MUVE7F7LR)D%J="X>CWQ*K$0$8+P]"Y&#H0+JN1>E65EVN_U/K:X8%=?CB7@Y
M.W;8'<7I'%*R9L<3"6$O)%00)Y=7MAT:?P>A@Z)TN&1J_ITUUE/46#=.US=.
M63.K$77FH(]-;3C*8Y/937D=IJK^7#MP:HXSSCH/9AS-\D(;^:[UCRB,3_UP
MR2.#DW_9XMIT)?XC#-S4P]S[0'OS+J/P&&74W=(M7V""2QMS$3,[1PIHRAN4
M*VXQF=*!=IH9?KTPR[S.:]A ;KQ[G-NDG.(M"Q[C>^S11A%G>K@S,!'I/V>'
MB6R5HO+S"MKT9X$IIU(-':41)9^6*OFFPEG3$U-;P<JS%87 ,8EI8I9ILD//
MB<+LNTW1M_Z0QWB?X\\$:DS"P'YS&49+)L6<##*")V;>"B@(_C@&VLIULO!0
M3<3*B5N1Q0N,P<,V*[?'YW%@8S7S9_4@N?V[5ALF7E./*BB<^*SG$CV?3]58
M7Q5S;#Z+$3!JEC_T6HW>4%0E@)_L5H;ZJ090)]QM[B'"UA@.#+2;*L;_4ORV
M7\7XJQC_BM-H@F:9Q#Z0*4PJ"TJ>LUE1%AM3ZF1%6:;SP)1+549FM .D)F,=
MY/N2,?(18C>F74R-1_0([36)GU4UPN$O^17D_AZ!]I4#=45%)I>GEEON7/@H
MM]1&I$O:RK&5!B-L$XX@JICXAXO<\],[L%S[R8<FZ5Y?O_W^NL8_92AM.#!X
M=Q>,>?R3=9[ &Q+. FOJ-57.2W'7[-V3+NJB5]HD*5(9O5[:-]R$>LLS3V$4
MVG"JQ]+Y,DF$NQ-+8/@CL)15]097>!,XP0'(CGHZDO:X7 ,$58.E@TG'0XS>
M]L(P 8.<&GI0$)J YM*1/D/#F#J)%E+X.6Z=:2[H+-P4-?%:JU9+-Q)S82J0
MY])HI#2)+" $N^L,<%TT_*MA,$@C0KMB:A(_$<T9%1W(B*TV:4/D#1LCB2A6
M7NU^$!):3.9_12M<FTZ&E:NRBP*SF)VSORGG0R=>,BX->Z70):;,8_(7Y>H6
M=81(YL9BU;/GD/!4!C^N4;[.Q10B]'IV8F\.?<JB,%EW4N80&: ;$9U 6'3(
M,'YI%]<_8:1HC62*#W"]2*@Z'T*L)*<F0H"EV*:'EK0=>W:NT'$L@?!4?^"8
M4Q88? %EBXY>@BR+996C!H)L=S,LQW*LQQ*$Q^WP$5Y05?V4(IQU]]\AX".>
M%EE-+4$Y"F61&VX,1=[*@R2Q')0YB*KGD )GD]'/;DI"1\@F1363-%$H<%HB
MBB00N8;+A[&3\&R-A=^KF]F6AFS6L34EH7/I.35#;SFET92HC!LCC?[ E0S3
M7%LQW+B3+*3T+62\S^M,??GZ]5B'%TZ^7>OP MS[]]0?2\2"/0/6@T.B\EKN
M?P;J".P\&(6<<FO(?*P-@5\4K+T*EN@J:4-@ZB)LA2.3 ^!%A$;C8=A[/9^(
M:-!</IR1.PRYP[KP1V;ULSKTC2=JY=_0G6L6>^KX<DS92(%%8%@#JMF'(QYS
M5:0;"=5!X!.,O!IXU#;"K<CDW0QMN9C_88)=:V_5QM,IRISVU;7H_/L<T_$R
M3>1WIMI8@5Y:7[$Q&Y:ZJ+ 8WY6E$ZFC-RSBT^R5P=,4Z%"MO%)7:C(&3O "
M&0#I="+7%&,XN+D)H)]ZQ .R@: 9[>]30EZ4IQ9]HAN8M;.)J$@U:U[_F@>\
M>)D:V&4$S@KSTJ(O\U^8-9I:$)8DIIE61.V^?LT*$UTY1PP;(T/ 9XA<? M6
MK], -, Q(U<8&6R<NW9QN?2L $P8PE \]:L',SK+X;N\/)ZHD\<G;HJ\/ NT
MV,%3$]=:6F E0E2*0CZH(SJLR78K/Q'E(:P-LQK+%C@B[7@;!=Q+ DED)TMA
MLS3W*[69MKW7\VBML/-H2LEE,:'R*[_3,78DO6DOF2LETI#5UN^?T,AMZ=_*
MQ)D18U7543)Y1>WRR=>S3IN2[*R?'F;%T<.ZXPD!Y@KT0LB>5B'V5!6R/E:"
M$,KJ"6E'8\ /*U>%:XQ<5J=(&<<-EE2-;\\+LKK;+;%Y0;[ ZHCZ)4O;8Y*V
M&Y>Z,O4$EFFR\40A'BT,GSUF(%2ZP"=@G\!NM7V9<V8<7JJ+KP>7#D*/B9*8
M1YD]U G9\)K!A1(AAOZNHJ@O139OJRCJ"T11JV#J(TC5S+^7\EOV7^%4##S;
MV"6?M5F1 JJ/+F)]%VIU4ZR-7>L3!@ )B _T.U,\ZK8"&1 4 _-J:!!;-^K"
MG>?L<A4DR05&<F$0RM<JPYS1T9ARH!D9FLD91+6L%QYZZ+OH]Q8R53%KKP3&
MA=10.=:"U1MYG#4M[[EQ#->.:VQ"LVA&[D%NH;"D6YT@W3%'\_"Q,O;'_EE*
M4JH9@1R)X.M)72A.S Y/.6M!(;8%?3-_CH$^'%; 9U48&YG5FZ)H_V'D;K'G
M![L+&87R3"NY7>)LK18MET2?I' S^80HUQHC-_90H('#U"PWFQ^&.QEF[NY6
MEHN8K[2\D+:T==BX4F:NQ^G_]!8L"-&UW$B:(5/I,.OO)H'5L-,IRFBLWU$\
M$>;@!W-<9I2L_2$#=:H02.M#RK*P65W1 6Q+-0PE5RHO1D%-HO!72=$S8];(
M.#:#%PCU7.'*]Z!7G^(P^4*>/[(<-+R+ENUM'1<N%\N5RT>5XUK@Y*[(H2]D
MJUEC0&>9=Y!;+<RGCTW9682OP_9I;,S0P#,!IM9P1N^T3>&S@MO"((Y)!I,-
M]Z841J+YB&\NN2V/S7P5=D,V5Y9K]M:L;\!29$&H'$K<QW_" ^G+)1O=2BKI
M))ZR$U%[QS*T4!PC'%*>JS)99--#?IIILU-BC9$D=?DY YJO63<>(NY3=V[*
MNLF>"9-.7=VND_8+E0?S"N2:"?^&DCV;0?E_9.!:1A,[NEGJJQGVQF1',5PZ
M&>Q7H*D&S9M9&"1@)* ?6)A##S])SQKV+0!]SL)"4ECR01JXD1):^>7/.Y R
M:4B^P)&(\E);QORD[;KFT84)^.S-"3!,3DV[$3/L:&93 ^?XU$A/*CA(3%QQ
M R];-U>G(QYS4-!)$4DPR9]PNB9UCI>B2LT?[6X<1ET2'=)+)_N>J^Y2RA!
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
M%>1\\#K.Q@=Z^QZHV%,N7Q]>G^%\$)(%M?"9"*E1"20:X2# (L:[R>&SHB!
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
M'OB-@!U)R+W<NE7:!5X0S#6Q:9KBW[/7_@G9'UZF>%7/ 'YKCW=1)#9A%SF
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
MT>G#^6CW9<BYN*#N;8UOM8<8=UBPN,%.M) Z>+;\2%@-_/VKDB^MU[-RMJT
MU.'#BI+JDQ26^18*@2>CK(Y/%4;.VVF?BC6Z](-*Y 4A=:EY4;33<"'6:G.J
ME5<&;9MLI/<]OJJ<%E[M,3P*.ZBXAQ2-%[HGI#2L$N&H^ =$0IC;9MDU9)/>
MF.>;ZU6_8[WJ\[E>-=>K[E1'U=/D%+I#_MB%0+?@#JF!O?\GSINDYRXY7MI]
MX@1XQY6@SQ[2(J(M6@.!EZ@R9HL?R5?Z&_D!I00 ^.?_-NVK/P ?>NP$8C3*
MP9B^\M1HH/9+O@7?*Z+_$+K4A0":?BR1B]]QWIJU0QD%>%?2'.BO.EBA)QR
M5T$J5UR,,''("JA$MDW?"0%-3-7?>TRB3=B/TN$4)2:M&F 9V4W;7)%+A#LU
MWBL:CH!^+%<F)Y4UXB;*,O'B$[]&8[V-.PQ4(<9M12_B>HCFH4<K]\N=(LC>
MO*K]Q9_3VJN[9=]NW!(3.<P8$PSN-[A%7TF)E+VKHI![_(6>)A^O44$OWT\?
M9QU1YF\Q^J=YNZ,P'B6:J=?Z'##U9O%=LZ<K].4_D>6T'<MPP>3WQZWBV)$<
MH_N'-*;BU&D]4;A4'AG2G@0@(@P^O-OH@I;]13T/J/=UM41K?H#*A[QHN+K-
MC2I>!SC!C4ON+VU5;,HKQ!W>#LFUD+63/LVV:?8W7^A)>\D@U)?EZQR^L(4!
M1SJD2U_VMW<IS98;T;P^8<0>T@L@,[9X1EYX%NSBXK-'3U]*0';1TPJLAZ_S
MLQ^?OO@#5TO6N[XJ?(^BJ-S#5T#T*KGT(+QHZVIJ-)-72Q.0 @<;;YHCA^1%
ML,#\[;_F[:\]72M_U6#3!W,]W$)Q+MQJO!M6FN*E_@A\GN2Z$(*J0''U3D8X
M12/&7-S;J)9R%CQOZ:4W_3$$;6LR:(D*.JSQ98EOR99@O5/9S-BX![KR6O,H
M4%'?-\L![C#?6 RI.1EK(%D<2PW:UA,9OV3+T2_PCWA:Q=G2+LXX>V.K/9C%
M;Y,I_';*GG][RCI\>V)C?OM&0\K/\>3%3XMO[MV[_^<']\BCPIS3Y&EFWNJA
M"TYB[<)LV>9"FM:^8J9.9Y+;YU:EIK DOV45*.#'-2OFDU8H<[F)O!X9,AAC
M#/?^YU]\_2>,]T$<+P?\!\;5K +:%>DR!;EJ<R[=BET$-*6J:BN=(?3=,C1M
M"QX_0=52U"%_6I=E 6X<2=?)]S3')^!RSK58LGF@^ORD#J8DDS2)3ET^*2_M
M+)O,MV0O^%@J^51Z)77&/*J;R\\W9;VZAC0Z@YVRV%Q+0UF]4F=HO3Z#-<-G
M+2K*@-SF5PMT1+=5OE/@,OK&D6A$-<Z7FMT$:U>Z[IAX_OT[)L,O+O-JQ['O
M$]>6\>'"L%^25755+OD5:UVDQ/)KL<I&(7A!%E4LZ9\E&<G/\\Z/?W5U==Y:
MGP-YS/*P4H>F18-$F0>,ETGS"I:4^!]:S+3AT[K.M<JYY@8:ND;3'AKUAJHC
M-EY;TC'!&594CS*!LU_40+RKJC@N^YCN)DFM^_?.?EA\IE  ?+S )PH%^ ,/
M>8^$;![>Z!JN$ZURM+YOR@1?9"/E9DN[%IU)_]73J#E]+4/H; SXPG])I5Z@
M8J,O?'WV@Q8%R (4>P,A2A] *U_F#N2N:?C,A1T@*[IDJ &;01YUOD82&T0:
M.X8IUL!Y[=A;U_[%N..Q3GB"U^3&T;X?_EWFM5R\$'MB#9R/7M.4D-&!=/:^
MZCKFQ-"9??'H89Q3G(H/ 5*C6?R+6;R'<H[*E>BMK=C,<W[X7>;^?"IM]SX=
M,#[2M2,U;"AZ/*NBY)RZ9IH(&9S^/?BSC\(+6'R7'_/%]SD"*C;0C#9&%8E/
M[!(PD$M:MS:)C[[[_N*Y3:,=!G04_)[;F,Z,\TUS:3OXYO3T_=^>G[[_OA+4
M8,%[%]7R-VJ42X;VK9;2;Q0I?[,82U70FVY6]^_]Z>M[7_]_7_S',)E\?T+J
M&XS4GA27\Z8?4F_TR<M'3]7H7IRG9^$;Z1E/#/YD$EF2PN\MO_NV9-H?U^MX
M_N3%#XO'%P]?_O3\Q:2S<2O)(-\AF?QA0>E/:G &H+S7;9M^5R D+04H$HAG
MN(98=:\TD]@-F3T64@&*K7S<CMH=V9TG,UUU(XCEATX@?.!)72\<8 !\E$<_
M:9JE7W-ZC7-<?G*;%5EF"0XM4LI<81ZAN#:QM('_#/%(2 \ 7;DKN,ZLW@SS
M!"!JT^9C,$CEH,4PS)L$_ @F8]UWSVV,%$.]U8N;2[>_8^GVB[ET.Y=N/^E6
M0S%)=!;@W\(2%PX>Q!0@4V B@Z:UZ%<A,?$H23!?,)F=(FHU=WH,6"_EF.GK
M_(J;?]:+I@U_B?U*14FA1;4W*^G17RN@M*H](D^4P<PV"TA(^G>F.0[N]L'V
M\F2B87%SCL$2'ES-H)>"9O^&O84.164-^:4+Y++979:G7K $UKF@N^WXT]55
MT8MI_:&GG$"\MM#T51U<E;PK;2QG$V/A/(Q<GV-Q2\_+0L@&J1T9+/U1$J/]
MV$7BEHE=5UY1&*P=FS25:8KF=UA)GTPR\3G/X'/MHSTV_)I#WN3C8#O>9YIA
M]'P.2IPM7N0[S2\]#:B_CX)D>;=%\&&-SR]E"O5,X*_9X@ 7EW9@+]V=S!-:
M-0[A'H&[5]M&REKYP1P !PD%?I@I4_/5UDX4L3"<)!TC3.,MIH&.=P*3!&!+
M6B$4@"H2F*@FU5VYN_;@9[1Q+7_%20F6J_Q0%0M-G7+)FGPC+ESR22Q'JAA/
M9E[1XIEAL)7>$:4<IG726T<(+%YA51<@)+L6*B88^_H]EV8^,NF;7_S67D1!
M7=4++J;;"U^6K7*T&CM2L5"01/]&P\UWKNIGUV.$>+R(/^B^R^L<D__0ZA%(
M?3_#/?TGG.>_&=#^APQ Z7;?+!ZCX-8N7G#?('-E/:E7Y]D0[<XP,7JI-&J0
MACUUR&,/4&;X \:?\6.=K81KG?NUX[2$;H!IY/L W.YPV%D 4O. /)8Z8.0#
MY!T73TA3.Z3#-W2G.M^7O@$PXR;STF->R#4XZAMBMN.Z7%><06B9UXO=&ALX
M7:AN]KH%.K)\)9.P,I>U=<UGL4V3[1UMR Y-=0)$SS<;%,JD!Z^)_-KN 9-9
MZ,)AI1QK8;/&@K-- ^WOI'MB@(['+/WYK4#A7_[FS,*7<\[]K070=61?_.>W
M-Z@HQ2^];1J>HX$O;[C6J93^.V@Y?2))]/=]/J3GJ1F'H:WY=IA(^E"Y\GD3
MSYMXWL1O6JCLO+2"1N,N--?]6("6HUKV[&35Y1$B =V\G^?]/._G6[N?'9A:
MZ&M\;ZO17#L:BR5MO5WI>E+1N(N<YI9&#D6%JF/F%*9-$><;8C^U^MP-8]J5
M;,=:D+FG_TAK;+85LZV8;<6MM14AGH_M\\(]P^DO@ 1.)!]&"0O4V(3@CI&,
M2>S>+(WRJRTW_0Y<\=>2[+S4G"E7-X4VDFEZ' .),SM* U*M @ <#.IYVR+!
MQQ440>3/)F<V.;/)N>4FYT;6#VX_FTP)QCQ@2E6AK)<[T6N98->[E0B]C]PT
MC&JTU9;S/5A'V="R];XFHRQUJD'"FUN2N!*2T(>P[MZNN>+<+&LZP&[7"QK3
MOM.<KWF%:&J!G8\B(9RY-:Q$7HL'>N[KE3PDK8US,Q2 8VT9F$OX/]%'PXIV
M,J6=,OQWRBG,H^ZV>8LLN:2'E?"5*VW*&AF@&31>]'\9=ZHV3=R,CY/NN0F
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
M&LZ++G3;VK2Z]SCAWEH$H*CV55UU6QAOU138<,@I[X'/281YVD8>5,'NI%C
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
M1859,8XNAZ"='M@)&H7CRNZ8C RGD?\JC^( ]@YC$&.&D"Q$6D%9R-%1Q#Q
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
M!_%$M>_$YE@H8F/_@=&&"MS$<'?=4:NF,6FAP]/OML=4?C(P 2>KTXC)')3
MP?9LC*?,K9I:IC8TBC0,]XA<D-9>^*Q,1C)<^2PA5)K>D#NPXP-U@,*,+!5_
M!<*=2(^V;M]&\FJ8*EOP S32I^"*?_B*751Q&H@=1U17(I'*';]WT>_Y:<1,
M[02ND'57.@D'H-)D]#;_9]X6.(.LU&?"8>4>A('RKZISB50WTP&OET[S&Q1H
MS?.I&EK@T!@YE+K)U[PSM)B9>AG1>QG[L0Z2I*=S5[[YR81#CJ8L<*6^N()<
MGIQ#/:+H%\?\L+W>-2ND^^GG= +W1G7V&D0;LKW%>$Q_&:>E4M6SD%GREE0<
M$[B<&VX%S(C<KCK:';N!8C+GA1KY6L8$.\HQ"EX#LHV[G?'L;7L:@V#E5"B.
MD3@AV)/3X]W>9YO(/(BMCZ\O"_U@5<UG^U']:3JAF1400BP8A.;+FT!'?_,P
MFG:TJH[Z4%//A#R'&'*QP87T*,%_N4E\[7>2#[PC9OBOHCF]$HP+(U<#F/2&
M28T$7'?.%K\4:A<A*UP['T17L&]=.^3735"MD&;&UN-[P_[<NFD^291Z@MPI
M HOH0@,Z6&XL3CAC V.K!RC2*X.)4E97+8S63KRZYDRCBKSR/E5E>@;I)LZ,
M47 (DASJ>?Z\]D"L@=2G8+AAQ@,T3B&,<6Z4K83&AII"0N 1%Y_SVMA72\+J
M P-!\R4P5@D&G*[YE*G4']R[KXG99S1.&*QG4; =8[[ VR\XD?H0@^)T<P0C
M6+59MPY_A?/4- ")S9[#_\6Q)/\,A&_W[RT^.S:;4I0='/+\XN%%1)JCJ_8
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
M$DI2<\_I!,;?Z5;M#SWZQ@7P**N/ N<N%JZMK23C0D:^Q&OCR*H-24R18N!
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
M2I&R]GP,[R4!P,>E <#U@O6GEKN:/\\7M/*@4,FQI(INH8R_W6P-J?I1/,Y
MF(J1[+W@,N25%UCE@3P"8D/$V4</\R'])PMNCV:S:<64&&*-A:"Z3\<EQ%5J
M(:A*=++42;H]YA,H=]5PHV:94I9IURSS#,L,EK/,LC#./..T>D7&8;QJRB*F
M4F%9\\LO,R#4"3Y*O5=@CH0@6(U2MTROYJJ]<E6GYJIE7/6/%%@!R+1IFU R
M%FG-"K?-L3YY49Q8%U,1C+@E1\A%Y\0JSETDN#A3,8WA^]>,8DM64J#*? <A
M5P;F#=7OV\/.,,^5,$UE_1M3O1:('?+\I!Z<F#J+(,"7.W&".S4#0E,)7/X5
MW92$;%",S;=;.++4K"WY4<W4>V7J;LW4RYBZA%L48S,G6 H3(S:N-/$(UKRN
MH\%^38@,93JV#6;FHFO&2<?Q\E?KO$Z*+1\R+B?F-Z];Q8L$?40<6+/9_MFL
M5[/9XI*T *ZY)],;+2TZQY4P-A^LFUQ+#;SH@/B?8/<4NNF3Y6,9!6,%+7"4
MUFT0GXL,L$\21=@3+!UT%Y1(I?&")IT0 \ 1T%!"8$=!HG&O""+(]Y6DHR8O
M8^OU>>.<!YHBCOA\N]L%Y8!UC?4^:JS/JU9CW:EKK+<1DK_\Y>)7Z[=O7S]<
M7GZ\^O)+76J]+KQ=#E1P#L7.P V6H,Q+,>O^$!)S,E'R!5%['O SV<F683^-
M-X!LEB]0 .0*")Y:82% .&(<PQ9YHY2PZ@C:FE$J[^X0LCG)PW:7][G,\"M+
M@"JY24 )K&5])QSPG3"HVIW0K>^$;62E7GVYM*XO/EW>_,OZ>'7]X=>OU[]_
MJT$X5LPZ3-#.]X'H"/"RQHO<&UYDO\:+/,FN9KLFW#V#)%U\N[&NKDJ%<SDQ
M]=<6-_U:M7JI:M5J5DVWZM6ZU39TJXMO_WMY8WWZ^LWZ=OG+U?7-MXLO-Q(R
M_II@'+]^L2[_G]^O;OYEPR]^O;@AC,>O'_[W?[[^^O'RF_7YXN;F\MNU=?'E
MHW5U??T[?/3;[]\^_,_%-6AH7S_)9ZWKRP^_?[LZ6NRT/1\B-Q*Z"JA'D>Y)
M^8'[-U]3_^95Y'%%=-JOQ=[47FPED4/9)>PW^.+$(^=/ZQ<_O'5\ZUKXZ">0
MNT0-B3B:_32% [-D[_9OOUQ^:<CN[95H5+'I;24ZF<"[L5\+]2E%EPQU"#PB
MXKD@!] G<1L92;=#3A!0_=\?\#^=IHP>Q.:^4/LW%R[DLB;IY!^3'>\2T- ]
M!M0>Z7V,/>I)28W[L.F7;E?*O36]@#H>R%8*^4>EERM/][(K7HC%V((T%^[
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
MN)8([KTH#)0[H_ NS&)39BZ+1" FZ<FX$R'II# (K!B+R/ Z(]>1/%2EU5(
M#*G-H7913'X-ZV=UP7"\1FTK^Z)E2R6*(V+7&)";\80\K&229^-P>H2J83-=
MGA]RM W:$3J/GB@G*'$(I -].O>X(YBXH>*)ZOSE7F9.+S-DJ;V#*H3H6 'A
M6DM:5,$7&>6;B^L9P3R,1U,.@O]D+XY=TORQ^Q6%N+A",?-.Z,Y9>ENL44IN
M08>C2@\1:N+A>"SG("-+=+1S/K&&=2T$Z*' E7V[Q'3<J;R27F)YF+_2899Z
MYE<-31<\H.16HVS&<4F&R(;4XR.Y.ZX"N,M1YNWGKF /IR<G\807/J9C@52@
MQG- ^:@3! *Y$O/CZ.*@AVPKC94TVKB!.O:B&)&0[3(TT,V] .2(? ''"4BR
M*[%)K0"-??$%*LY_IDZ4H'4@0X#4<)"J,^^]6+7WQ KA6':SN\6N>HFYQ[>F
MD!:F)UY'-S B&5OWB(\O;#-A3&7)J1B\62+)L(C.@R[YCNT*.#<>P@C+$\[D
M'9&C>W+:>P%<4X:I1H=$PM<:,?"4VE@2PQ/*> %+7>B]M\M^XS"ADYHB V]2
M[T$'A#Z)<M)GRT6-F7M:/YEK;(B10^*K<5&+;UB?\\F3Q3BTWH"[,!R1@V.$
MYAC*9BP!X4N601>0]E3VI"Y!Y[N.2U6QUGS" >GJ>RDN+!DJ]8J. /A_SD,U
MXI$C,94QH'R.J$NA2)E>A-&!$:N)G*/*3!V;7)V=.VPU)B?*[!^8RXA;<9K.
MHS0P0U<\8:(W.1\8-PTTS:C#&X,AC0FO<G:,"YD;5^4J2<Q5$N-(NYG$(O$D
M,W:DTD-P&S))YR.3&ZKJ[)J+50Y-%LA$/9JL4'9^/9N@QCU::;:WZ.0+0BV+
M<IJ58<T[)&]1(*KCRR]#JKUU:DVI]O"SRC:3V;[,Z[O6(W8!-$7&*_7M):O'
MR.4EY3_G.B2/"#":AQ);.IGT/V-J&4H#1#*7S?<<2LVGD"T:&I@YHMKNFCX[
M#_O2PG^(W6*-FZ#N7F-6RO#-  [(V<>S9*<GFT3REHA-O 65V&CRNY'DB"%O
MPQPB%RV,@"*$X_)SBZ5(OLQA4<ZCG-N,6JOJE1$'RAQ3Z<XK#ND9SLPZ;KHO
MON@VZ[CI?N*FQQ8]W3JICM!]YLO$+7E/D2Z>QOEP05&\Z< *^6<R*<FJ5J9W
M%T0M.Z'FQ!K[SI*5KX=B5 IU<$RF B.$R@ >!"V ,K]!1"\1TQPG23E^HS*+
M5KN,U$5CW"\2$P>DOP %#LV9X$FZ<>_P"BDD['%FMS.;@1;!^=1YVW-17KS$
M^*(\?4Y4!,5/;7^6EF^;T#DR%Y)N,M8L55!!PO<P9I&.TNHTW.+R)*0.6]@E
M?KD5-R]#E0XCO"9#5=4PQK*PW)G^/F/\-==/8^DI+E\1JNVH OOS&7):'=<^
M='.2&)(NTS9H@S"M#S4Y=,"B?\)FL*+T-@8E@;REQBYP@CQN#E/FG*/.<,\Q
MT!&H]Q,!9''/P&P8RYF_]Q?14)84FB=QG0C/J5PY%C5JP:07^-:1-9#$^C*=
MT7BE3 .+.6'Q5M"@MIFQBBZ.\,GQ:?L8R@J(2*+E9=* ]#(BUI&%"6K3=)H]
M9ULB<<GN5A--9R,5\LS5 "@'MC)85MPK6!L%XMC^HJ"IS'XH#UR;.T-ZY,03
M]SKE%99'92V8,JGJYU2&B\/X5VCC4FX[[:OKS!*R'FGJ7OS=K&/1[*"-SI+]
M+^8)YZ5%WNS62:GF65,6KC<)P]'<@F*AE_(@2":H:A[)ZZ4FHZ1P$*%1FI]S
M;NNU7;N ;V6Y:&:&SU\1BT^UP'&9W+C.6%0*IS(A2"4LBK#U0!HX_H6LNY-(
M]Q]\O243]5X.TB-MPT+UU5RVB_("><Z.T 5+.GC'61RP'1-OIFP7JC;&7=?%
MU]+ TM,Q\B^,B=SJ? 9*\-RT[Y(R3<\2YU$>@^O$$VOLAP]H&R:1=YLR=(RN
M%I.K5LJ)%RG##4\6=GJ<8MGZ?29Y LW?&??L<AD(KL%N&ND<XHTE'RP*,V9*
M0\W!<*WITE8R7@]I9X('J]31=N5J,/UQ$B'\*S&G/FXILM5;%5RA%GRR\@9G
M&D6XF9RY8,Y9YFPIB[U@L"NA3'%+3<53T%+8E:;IF>MPGLYT>)0$K(RM\@QU
MR5M.QFMDP')*M\O(G"ZK)'+061A]_PO]%3@4$W 2]KG))A.9/R&&"P,S;C+&
MX4BK]*'$H:E2PPTE]ZC PH9OH[A3-#(WK,$+5U:A2D^KPRGP9Y@"#]*.W)=P
MJ^B">^: .@:8CP&6>6S4];)_=]Z^=^.(/)GSBR-]S&%E%6-:5 M(+LTIZHY8
M"F=<%[D[(@O @D1RD+[/\#6J*DHIKW(@1^?2!+$NMB,5!*?@!8L"5/82F8+6
M(:<%VK*^TF?]=(1*-\Z*;C;]TD#E\;Y,UREG$'6!LFJ>OSTC%<=EZYECMPXA
M+8%]F]-=V-&+6!XB8B@1E9]("<RL4K,@D]UK6+2[<-.0#FXZ%[([GA1;AL'&
MC<:L*"HM^DR  )%4%S&,XT5365\LBZ!BB3D2X#&@BIBI4\79F4CJ3D$QIP:[
M&)^"G?1APV*P"P3;E"KK$K;!E1$NV!.XHN)4$%)*:%8^&Y W=*2"[R6'\H X
ME\MT56>YA&$Q33P_02/]R5Q'03N7N;/:]U^6Q&VF\18>1V[5AGP&G+-L%,JN
M-4Y&'CM!,D=":17YM%E#_S0SR8Q4XJ+RJUA04H9.Q\M4!JD[P1A2U4'E02M2
M.@=8CX;D-D8@-(WQK$=7U848-T=,!8J<*P3S[(5SOC(>.V>V@JZGOI43+)V>
MH<^%*KRJ73UIS)XWE(]A[)F^$WJC7IL9%*2DP_P>ZJ,SL).5'!B3D&-J8.O+
M^)5FWBQ S$;._!EE<ACH0RGK.LUM(G0 LW0.^2SQ'$A3#AJ!N@#*.^ ,A5BI
M6S+*'2I*MN4E"'509@]!F58=E*F+V0Z<2+'9T K"QL@K,C65HD)%0HXR/V*=
M^&'\7B9!S[]"7<1S"2C[RO78K:7SRV(+K[(&SA],-)GU6J =6?#/F*><?$>
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
M01W.+NKQ3"TT;^VZ$N1"<36<S^(:E9A"H3EY.3)V.4,?@^\U3!46BDL7H)E
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
M5Q*ZK_Y^0_H5<,,'^"U01OS37YSB+B\GI%>EQM^@T?,".-,Y#4/.-N)),<9
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
MXMP+&AE[CWFHL4Z\&(0@.@.U!2>M%1[FW\"*.[H:Y/EFBS3NP:+UP-=@8[#
M/"EO@IM=B[+U&#8T:[3R5X4I%0NBNCC!N5Z>N?9D(0GSHGITDQU&:2--O7A2
M<R/AAG<!;.4H$[3F.AT0H4 =K;8:0>Y&R=K+]#Y@LVRQ:G4Q-K22#6K%(["P
M-,>1$F*6\R)*'.,)R6TYIO7APHFPTYVGUH)DA[,%8DT#5WD"X!BG4@TB-5^>
MS-;,\\9BQV>EM,@"+6I/ VM J-S$"1X$WKHCVE+X)<DW[B:8"+R1U5T*-,'-
MD56K6OR5>9S.720$_46*P1?GWKL+K=_4.+],;_]'RVG^4HEI)D4E)7EBS-'E
M#6Y)9 %;-DN^)25/MK:*ID@S\#6,!QH.$/@3KQ>6RC/8D=C:^E%GK:#Q5$JD
M).Y;"]<]#>'P$_\IXWSX$&\W4'VM0#SH\S:.]EAVZ:-RKN5,A[G=DF+U666A
MZ)*<5Q1*]K+6%E;0%NHHWQ:C?.=UE*^.\ATXD2[3\SL%=U>F]J+7K-T8KM36
MNE377\GAD?^1FFGF[LAZ=Z+T5OX1I M06>8#''-+-6Z>'^MP7/5KNNC58I>^
ML\A @5TM])LN,UF4$HS61)GJJ_3!<DUTH:YI4MGK]GSC:TEZ^^GJNUM/U H(
M84?IE%IEW<KNN?Z%R/%BWD&E?$XH,\H%3\SOX;;TX70J(M=CLYN[WF>1_4A(
MX6"H]O@4[,]WP36.W.[>U&%]<>> _NJX),5H03,'KS&;%<P)W'D"+G(1W7LN
M"J-Y;WGB!'<>A:5CX$[35U;8#F7=Q\<BLK*L#W7"F?(K[RV05:_;W8(<X3NK
MUVB5YWLL\]&,,NO!#?' 4GB.#/A8'@@12@K:.)#*V9A6 L<+!^!1>W1X>!3A
M:7!+<OG (F-'W6?9NVY3SQ^%::*>+)RQ%XPC!_Z54G-UVPPX20="MC?Z\K1-
MDM5.?AD#N(O"AV32L*X3U,XX%H [!@S$1*@='9KN%J:@J#<OC[!R\ 0W@EO(
MYZ_^[,K'%\KPBC3&(N01M,F\$.9R+R+Y=\.Z"K1.8%NONXWVG$90C,852&HL
M:8VN1$-9* G=RZ+F,%A!=\@_B@*J=?Y^X;N5N)+>10S/X-2EP6GNY+P+4Z>$
M_*$R#APSCP*&N?Q\8UM?/E_GDBVRHPK,J!/<NO-;6)@V6?0Z T/ZAX"2"?:
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
M)8[RG]1(V?C,LL;[*/CL6&,P9C)MM-2/%*#.,Z^YOFYW.XWS @>96C9RILO
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
ME$R*?0IM^L[UPQA_-XL\AD\MZSF9@U,5CPA/*496J]-\HY[@%/-8MH#)1BJ
MFD[#" % '03+M)+((<CHD?,4J]_[3IQ8G28A?0LW3;Q[4?H[N9:&=9&!I]G%
M-V+/33/WW6&P,XFA*4>:A#XUI)R?L-'I<>Q%,*_\!K9L<R:6-YV*D><DPG\R
M0)+,7SQ,1* VBZ%D>8I3D5 3T#AQ)  M-?40T;1D5@WKDKJ:TN!A!DD_%<)
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
M-9I[6=,HM''."+5O:_HGL'')!0>3Z^7_.K5A9MX!Y,)KD^*(3M?@^2#9"BH
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
M?I$^:;NV&M@)C;+RJ='X^1"(]=G_O"&K-T?J.:(9<N7Z ?*>[\!1=&,*R!0
M#>6WM2-J 6OB#,)V.)KML'CXPG80ML-[D?3 ^=?FA72=2-HR>JX62L"R1>,/
M2W7G,Z:MHBYZ#SI1)0O%"JK>$C5B>=2(B4$8QQR$T:K<((PK,0BCB(#@Y%MO
M)/4'7X:C[]U)?S@XR1$8QQOT(RR&0BP&35@,YV4Q+(BO]H=CH?)QV?4=J.=2
MO]_/W6[8X*B]"ST_U!WJA?S*.S#U'3_P0N[>_(K?%%]ASM*:DR8IL5V ,>8[
M( $\&)D.9O5AAT!YH/^J&OQ?8P/%ZS+K,[5Y-&O2CVMYK('[\IHXRN-D;^H^
MZCI." ?SG9 HJSI=U26Z1QU%3-2$F#@O,7'&0N%?>]3M9[C]&ZUN35C=^UK=
MFE(UJUMM"*N[ (KM_>^W_E5_,EZ8MSN>="=T3J\TOO[6N_EQ>QH3*6E'6R L
M]YDU"#5"WGG6PP0$FV67X/#%N+5;<<KD+^MU@#QU9IR"^5&].')4@M%P$G88
MQUD*:7Q:/QVJ*ID>DS69+)G0 >L92/OQL<P*W@$6<X,DGZ4QT2Z%U+BX)[ /
MFA4/?R"?9V?9[,0XRES<M-24(;>_K0]#]64O6R23O4P5*Y$T3CTO]?7BA(<.
MG2FQ?@)$;85 9D#)WK;E=\:=E]>W_@RH ;?S@(PU2Y0X$!-38![\NL?PBET>
ML_PP@!- QOGO#]J';0_F@&1_?DI90F"OXW\7BY=$:)1"$/X-YZ6T C:C<L2&
MQN$TICN VYZ*TNX0VQ^7&#V]&9G8Q),-25S41,Y/9\O8<_391QIBDK)R7R)7
MHZ)\^'M2H+E7*[7$*,YH;KN@Q7IBV^V^W>](4PZULM%QTMD#@5?I9@*!2X3
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
MRF:2I;JZH3>GHM4;M1@EU]1,OK^L5LVIKO:$V;!E B]T#18W^E-3/ZPR>=[
M7_>.6^Y5']2?]+[S:%7S<K]"KFK(AKRJH]XF29"72>,?W[]W1W](F^JBRB(]
MFFLYP^\$/G\%+FJ'(",\>*+$<W&  _KA#&ZB3##M:T#.;'ELT$WAP@). CA^
M/R S"7!9@O5.=1!M5(S#$E"\ :.-UNR'QC1>=FK-6WAI:3H4G%2#@N9*VEC<
M9D[="=[?G*#JO0F.TIJ /G-!2";^WT.C\''%PKC_=="=_!CUQJL0OR#MO_!=
MI5-B(KT<N#]:^+SD,Y,<@TX M?'1O(A37Y(Y<+T7@Y6Q\?P7M5.KR_RAL8(^
MU7W)#$$.T:0'4*.GE@_?4^L$E@ J-B:(LE11U,COR12K1D$6X8.HN& 7T"=[
M!.2:RQX(*#MU/3@*<\':6T/XVOL5;.W<%>S-[3ZB/AZ-G[.AI 5&OK[-QX:[
MUCQS_P?5"EA<O1X_] @!L;W.9<]4NW<\. X@UCYL><G!#*E1[^ZV_[4WX ;\
M<'0W''4G_>$@MSX(C$6\HQ%"^1]P% R_T0.X(=L\4*-S##6U(.S?M>=03J1V
M]?I+<61\"#MD=4N=EY4M=8[D,_[\FP]OLJ-W+'S_:_)\5;V$I8,.^-MG>L??
M/Z?S!=(_)_L^<CCX(WHH+4?>]_X?@\FZM:S[&;UO5RY74".L@Q/5Z;[L:#V/
M*M-)+%WNO]E\._OV4)A61M,:>&L2BSPL-S YI%\4'1!86IBKR-+J57$\W U_
M[XVDX1>I.YD,1X/>2J=T0?Z'?PZ&OTO=VUOIKC<:#P=CZ>H/:?*M-^Y)=R/X
M.9B,919F([HQC6-M4]<GJ4)/5@6!MKSM/M.8+)CS,_TOXLL8O/0#*P@#XE-T
M@VM="WT/F?X<?':)],]+*9Y80E/H'D*0E7-:<1JX$J8N1($^=!>XZ"*0)70Q
M!%[(6NW8^C/<E+]3._<'ZKQ\%H0J0-/(<"UV5(^TM\/B.;@/DA_>LT.-.C?
M>:4^DFDOJZDUX]T-Z $Y^HS(F.C!6Q+Y =%-&;_%""E]'[S"T''YU-V#L5T
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
ME<4#[21/F;Y,CEOZ'*Z>PR.GJE_LU\HU"]\"MR48#4AP4(139:W1JJQ^7%8
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
M0Z2P'%W+%"=T#ERD*DQ N,K+HK_W%A.?06O?C,.8/=5W0*\/$8_[@).HY8\
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
MKUZ<P2Y/R9\AEIO5U7+)87\C\UH]@OD O"E*X-KIXE.9F+D;A6Q-X2J(390
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
M=  .C9--*,:78KYH&3332QJ@X:)($C$"NX"6!!Y)0A=O6X4BB$W'UF6K]^H
MWW+>E]BY=80B=PGK&7 8,="L":3B>O=LPWP.Q+2>%JR:Q0SRJ,30M-EKROSG
M[[($E7X(P/8]ML=AJT:2> Z:]<3+S=#N@MP!;7+U#J<UZE,A-10BHK)(*L!P
M5$UOC" L6A( :T(@82L;/?Q:8>PF>$FM8B,!YPB;U07#Z5:N]X$U>T#+*W4/
MW2%)3#=$X6V[&Q*7H%3N$:Y-SYS7S1F\R,\C4[B#E#J/9[6<?WF@;:!#<A[A
M>$3O&,@/RDHY?[PB_ZEBB<A5EQ%9JD!54:?F/HP8:@6;92F)/YBM-(09IX-J
MS<%::>\UR1+U5B0O-?I 7I5-7 =>BUGO1U?QF VBF!0,8J<Z!Z,DK1 3DOCF
M@$!<UDZKSU5E_-16JA*2+!K*Y32HYTX]5.Y),O.OKK7-!\QD?Q+:R(7"]ADI
M_E/W<T?60+G0PJB!0AC-$,4KM20#19=3MRWF0MP?Q;Q7$H)5A;KE7%&,=Z"R
M&-46-&-*^E%XHV('J)-ZD_G)-[L>XWW:W;C.FZAO$_6M">0N$?4]62;J^UBG
M^19I!7DGBU>LI<;N%BZ7(Q=&,?4EI% 'JLLD84$G+UQB',150MSFUB:74048
MD0&7/L4^):,P5A@RE:F;0K%9#+ZDXNDV7"6+A&/:?0'054JH* E@)_.^PU[&
ME+0I+>^4/I7*DT)]4 =YZ.\LS,M&C%(/BW144%G$'78)41T>S=>-KJ=6T(IC
M24'$WI"IT%:=\0?!<;THFU#=>5\8M19US/)2: 3H#U72U+Q()L45A>R0+4,.
M;R;/&/EUD%@,!MC(,F'7G_+ IVQ"#TE]F<A678' WJHM,RS]5&A_1YTRP[HC
MJ JD.V+/I@ S_BB<3';N8,K0965V2G6=_YU",:'6!(#)TS90R(D3V,_4(J]9
M#HS5^8.*Y(-:S] @_#'E!'&5D1V@&Q<TX #$9D!^XQA=?;H&V*MXBLQG52,>
MH!R)]0^XCG;K2*L)8-EEW'(^J604<S3,*B'BT3JFY8M2+H.4LB5505=*NL&L
M<-*T:ZN4OCG;"\44.\=+-2MU0ZNO]55.%9QCP\JGS)VB242-*3WR@KJL\_L#
MW.F-B'_IL=OK8X%<3>G(JDI'E$?1@NV3*QFQ95>1\&Q\J=;)@76H*"OQ6Z-M
M ,/#PL."04VEOHNA%PU<O;QV<'+'$ZHZH96LA>PHI=6N5#L"*<G-2&?J/(:Z
ME5Z' ]54(EP.?K*+^3T%9SS@/!6'$W=*Y:,KYW(R8-T%4XJ0I$'5R",ZP4"(
MPO&EXI?>'7#?=(3%+3E6VE [U2+7P9R3F5^J_"<J !NFP0'&JR;Z*Y[5R4&I
M8E/U*W GJE<9E8)+!=P$ [E37T/WFTY[RF.XUPC3V8W2F#'(.',+UPDT*S3/
MF/,B?TP]_WN1M6/^U)_4?)KDM!)- #D[.O]4@D(V(6'JNLIKXI0[>-07I0L@
ME,:F\^,TI,#(B#7&+%'.,PYD3M.AJX2):?$0H82Y3:);LR@P,Y+'0%"@\<9
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
MT:F7I@A*X!F5':/&HKD8*C)E3P#1N^U$<&#CHL#F$:@)$RZ:U7@=!X"PZ>0
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
M&>PAM:+.BJ$I#L4#L!6921"Z?XA7D\FUT4RN;I/)]5PRN=:5"[7L!"]*S'I
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
M)Q9BW<[U/CD?YE(B!X1D!QV.UY^G:E-Z8GI,.Z-]]%!'+X$$OTHPDE[* )4
M;IUX(<>=[?Z2F87LI'V1*Q4.L'TN11&*MMBX(<<DC@T@#V0-Q3#E5#U$(3T
M4:J\E&86RI$TDM#WR;O@/>A(2[&G9*[Z]%#N2<WG%AZ=@#B]!_X)U_=)< B_
M;KI<VF-_DG=83, <0*1-]Q/H@#,5:YZ.G&7H(N@/UW(&[_4>30.T!9!=1.BL
M&>A$AX>X#9YBDL=6!VX2S*^B@:14'>V?Y2I@"\1(>V(2L^S< Q&$N/M/I44^
M@RZ7.&4QZN&9@1VFSZZSQ^,;)_,@N1\L&:'=UK>'GJ5;,5I8.A2)N\_,/C[W
M3)W\"01NP3]@?SN>X$]\Q@/#_0E?/UF.BXK8W/)6YE% !\8!>T*D08QO'I;L
M,!-!5:'2EI9#<1XYCR6ST."GT+]T+MX(X4D*#V4T^VXSF%FO;RR!9 L):I@;
MYGZ[B0.X^YBVF4?+YW2.W-?GR/6>(R=[:.].VCB>/=VI\N"84^7AGF*8!.%R
MV\& QQ_BV\'J'@EW^6);JD2\RQ.R^7T6T)).?&(W):L623EE-049VCQ4WR;
MF99 C3+>J%_(Z%*@41K*LEXH2V,WEJ61ARHY'>0/1R)*YMXS*0:B//A1-5Y'
MB:XY:U-Y381Q0%'$M@IH4N5G->!C%E^(@W[\!:.-8/^F2T"E(;)%X\-3Q@^\
M[\^'7WS: @M<,OCB?;)6)XD<'%ZCW1L7=' Z:+'W%UJ4S]2:70O859X'<H1_
M9[#]-AJEUL*HQ]YQ8FX5>E]<^2U>M6;S[+"W'?5N-L=J-?PJOOZH:BPT-^\Y
MS)+KU&CV'0P*&APWEGTU8Q8PYM> 4=)3?)*!MK*H!%*YGB(:K1GW<#4L%_6]
M6%.XGLZD3Y@=<+ MW39#6JOE5W(_MH *1>H..L<K/'G1K+Z3U=6B?74M8'CA
M*-.Z-9JU)VUC;<VT!4R[V;6<. ##Y1&7N5EGQ, 5MRTG<-HO\U^YN+71'-R[
M;IO5K;5SQ8TS6L[<#4P'+;/1P:D%QM@<3 H0B!HK,K0P>&&3!"T*RA8%96/9
MGUH<],QIKVWB0%L05>/@:[G1D(J2WV)B<1A5<R#0BT ,&RLSSD$:U(B"K@5
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
M:00KC,)40- CR*(16M\136_E\P1S][QQ01,N4X"@>4+H,#3& ]J]I[/83@S
M>+P,;)!H34 =!88A40XV<JB0CF/(2 5Y'^-CYJ'?'P#<*_&RG2"%0QYQ-H]<
ML.2?&/^Q=7"1EP< .>K]Y=TNL,?>L!CM,7/?(;]7].SCHZG35P535:A ;I#$
MU*<]>G3GWUV/V7X8; (@NR=Z8^Y^L-PEXL_TR6#B<6<O471)[3[YC=1 % ;/
M!/MB1Z*^&-"O)&+$RKC.G+TPE*6I=Q+JH<TLUH4LY\J(=R*A4&:L\/#-<MI&
MX8>/\\1[[\V-0+D64W \\3/!NW[99M3%#?L. 'L:=.%HO9)WTK*C_B'?$3O
M_?H7483-;F @L 6%<OT%U.IA+EC3\!52P90KSNP?9U'P#+J0,P];4!EK9@5\
M$]6^U/**:K=1:R"K$UKO2>1MV@;2 !U:AYP%0$=;-$@3L3AV:I%>Z[5(6TNT
M]ZB2)NXDC>JB_9:+0G5IB]HI"<#E=9@M9^ZMG*F>:<36T7 _[548)</]T+YJ
M$^3/Y>B(4M%]=FF+@586YZHL-$+4R]/YF[R!3WMH5VV*OR[L:Z 7K5E!'[HT
MK#JM-S0'8ZU,SIV#&E$OUHY1[JUJR[1C/\\,]&_LB7D1,XW/+#0^BCQ\C()^
M#7SC PX!?J.:!U&<<&8U,J )5I:W-A967%]!>=:I<@I1!D&9W'X4&"C318FZ
MD-#TQ<VW>W;W[\^PB)_N:/4P?=OQ#"RR -U AH\H_8!E%%X%WH:N1L 6#*R0
M)Z:*($ 'V$SF>L.[L6P"OTV]TL!G<2H0B2<P\QF'+1/2Z\"F"? )G&5'*FHO
M,'D\<"P7_WS) &4J>D"E@+1R^-YX]5:P<4@+J94[527'<? &]7+=K1%; 5BE
ML\U5+>>M+Y[QR5H+\3KH@>7<[5V;QC>V C7 O!CBP<BN@XG5/SRRO!#W)K(A
MX@'13K2,N]"W?S>^1H&]0.2@V#\WWN"%__6G:;_??1=_2G_WWKTUC0?1N<]:
M^L#,:@3FQIOIDMO <AZ-_[&"P.$^7&(! WNP4E3X1E< GP"#XD 6L*N R; 2
M-/N@-SRR%VFV,XW4^#8N3EEZ:L"E<DO_=#L@-;4K2@=D,ZI8@Z4&J9&1&%1M
M%M?,"+DCA)C0.6%@>7S. MPP#U%(#Y!-6;&<AM87Q+7CSU"(HY5JJSH<]3YX
M%Q:(S+)"4WVZKSPRQS"_A4<G)5?OP7,(U_<X3O$ _'J77]"[+JML<=C9-NFS
M58N.7$$Y-;$H\"&.0JS']M=RS01]X%K.X%G>HVD [P!9!#=8LZ7C.517B.HA
M[I,K27*D7NF ]8'W>*(0.2F%2HV.>!+3T?$/&$7M= -_[AZ\M1 LHY]$%>67
M^?OERO773)TO\2"\=T(LR/L8"X\RZU2O]Q+\V4(89(=J+9D:G#&+ BI86V"Y
M&DQP9OP164$HA!C.#$2EA1SE>]+ZB*O$Y5-(VL9D44P$3$OQ<,.:A\+L(/M$
M5;[9KL_C/XK%7Y8QT:@(8L]\'YGQ+MA*)"QD8^'WWW'OPGP%O;&@&+SX.Q8\
M.3:[ ]E]V*'$J6D]Z&PW&\[26C*3FKYBPIR:0H>C#HR A+.(9;<&"0,T:V%3
M-&7I;],[Y;!SWJ;SY4MI%7L$._GG$LJE"3/LGPHS##U6634=@SF<D0V- M%R
M7=^.80%6ROA=!<!+6%:?EMC&/(.HMH&F1LR=PLS&[S&.B=:7E,Z;+F96(<!+
MF>N QK>"-;W%VI;;_@,B$Y +[:!8$>Q"SQ/:![?SS"$3W%:>9.!'CPL%4@ N
MMHV^[4?Q3C#:PP67J@55"1DA8=XK4V9!^L76@P\FHW2&Y9)LK03XP0A(&N!S
MENC5BKNR[):=*KB_<J8L+LFFE4Q1 82L>)H-=B9\+W 2D*""G;/T[!A?/+C"
M 3N)IPO&BPED/(,7'AO+<"EB*?#H@;,_(M35UNP_(!-1;7>,?Z'C/X-GK,!!
MA_?A[<GW7#E<&ULLM?]2]L.263P*A/<E#&]36MUH>L0& :%;;"31:6"HDP)#
MC30PU F H9+E;0]*U/@8E*A)C2A19?-$GF#M'(JYLGU\"*NU__"0=LN1 "S'
M&L0;>"L[J"GI..X+FR.%7D)>?L8$R=$1I']X@G62@*,(&Y8;;]0O%!E0%< _
M;A^QM S"9#]7I9;V @%/IKW\X>P"09D4XY0<_*@:KVMT$DJS,W.K*4&W^(+$
MEHV_@!WL@"F>I.C6F*C;FDP67#+XXGVR5GNJB(]61"7ESYN3:]VO[TSX]!OX
MS*#SZ50(]E_C2ZT.9]'26WXD2X6<VDS>[(_-ZT$%G?A:D^]Y@2P<M]P,F,U
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
MY<<SAF-!:Q9K;K%(*0'3P&H9%_%%J"37DF/',3YCZ4*X7E%U@_C8"8D^E)C
M5@+^(?TB)NMH"=,$=A$(+[QY168M\#<57LP<JLE8X9!"O%J0.:Z!$#47CY&3
M5.-(3!.//<N!(+[.S IF"LW"@J5]-'SLKFG@Y8]8R(KE(UC<(ZJ#I:(@# U1
MHR5*5Q6:CR2 J'251;,+^ XV!8Y<O-=&="2"H]F>/%C]?G8%\J9-0Z'"Z=12
ME]ZP%=CVBAXO&1<K<V$'>K).#08A2\T,\KZ02!%G,40-7))%^B5\)3_(['<+
M"Z6=D+8IT!*?T>N+/<X-NE9A#N!B/%@ND9,O& M+ @TY88'2'=;B24DAZ1@W
M7,W Y%#&+9;B")PI6G/UG;^*(:B80WN7@*:PCG#V5]R;%A:Q"=[%&K?X9:8L
MP.>BZE[R@ !TB2&=\@2'7X#D+!%C8JRK,(5%I$9I48F1Q7T/%,HZ)5A!QE$E
M_G?$UP+NZ1B_9,0BL"VB;JG'(%MFEHAV(\T[64W:42!\D'W@94J*]FAOCH3P
MI -Z\5C3X)(@")D@=RD57"VQL&N%E;2IQ::W=8Q_+>"12CA2L?V<:N_3 T:!
M=]"LL^A(M@0BX@9G8-V@#%"(9JC!_  $E" 6/N0A"JFZS'5 )%+1O'@:C\&O
M[$0*+\#<0%B P']B<?U_C)@@! _2&>&YGQ=,RD3)W#B=F8.Z$-9%E*7"QK9A
M1Y$4=M<$; ;<$8A*-<-_ !-+H6G!GN0K9N.0$'4*KP$]!?+3YA@6^2.2Z >P
M=586FG21:P6*HDDEW-+ZG71)SKK25>F%%'>H5<[LR'.I@;TA)L[#$>EW:;\+
M2)A-WLV3W%36N@>S)>M_?<.G?)G_R@7\X$[$P;+@5OJC3G\/W@I.NZ)Y]*Y+
MG,<VK&QF'B8692*^G_/$$"<$9K5+!!]/OACCK!;"#7K[)GP\X0Z907DD&W0[
MV_T<=Y!LP\13("KO/]V;QN=/=S3=FV_W[.[?GT5IOF194ONDA]'>-& 4#XQJ
M=;$"=>G#C!.3/[%=T1'AI(*PDM?<K"G>8OB=&VJM;"X> UP2%IP%L@C+-(K1
MG:C_P4=Y#\@E^OG1RZ?;=G>_HLA-213L;/>3SVY!10>A#9U 8'_"0I"_@TX3
MK/,7S_A'Y,IRZHF9 W"X0<(/3L!#XP:>,5.0#F2$B?C0IA&(]/'!*4-M3F:0
M'P4(I>@^^.!9/RY,^(-S<%.!EB%6J MG=FT*^V25((]*]V0%[J5##LK:V(,Q
M"^3Z,O\%GI##4=W);_ ?@0ND1I,92_H0Y*NT).ZBA_\ 2]S[7X*;)\MQ,:3P
MP0^R.R+O>(3_,0_39.X>>"HR'IO7.;4,!D=P!V;,F=S\0&NE.%,DO$-C:W8X
ML9[!]45;B\W2RGY+49O*FT+\287=N;6YE%M 5"306/$Z<H5N5H'CIFKX^ST<
MVW9M?[]7LRC(AI&RH>@6H"R=$Z321$,J:4BEG&.,]D(IK< C_>Y@5!.,X(J,
MCEBQ91!T:E%R+S5ECEJ(#0?G'.;?[^3EN^RR[4 I2FR;%"2R#("GPO$L$T7O
M''\J&3LEGRP\;0C7)#JJ/:H<](;B*&0IWBDA=8\-XUD[HPD!F@L26JD *>CM
MC]OZOV4008>*55KR.@"%QM-& 0I-^_G#V04R-"U& CKX435>=RI@F-SCFWPD
MBV/T^<&F=A8*A%Z5VZI-L9%!6_\*MWKMY]XOLOYW14M?U8M,0[L<26FABC6X
MRX74Q6)0XKPRR7=:?E^M-9VN_1RQS_#@^V?F/K%/=+K]JEC[H:7G$[/;S6M:
MU^3*<\T[Q;S3;V6'Y'(8Z-_,"NZ?_5KX9F1.!MNGB\WF&ZV97LM=@TOGKD7
M=K<++(N_AN:X=Z+J7JV7*N"<X85SS@<_"FIBG-Y8*Z9+8Z_1I;.7\U2/7AJ8
MX]&)"BFU7JJ <<:J/12L&S;\NF ^NL'YU\I,O;YY/3P1E.B%E27#1',#](VJ
M?RUGD-I6:3!6B,#NEJUDL!YB&2WE\?)*BJ(+%L'UF#!3L]?3,=\SL6%P:_UH
MB R+I(12\A+6W8AFJE1W1*G&/+PT!OO5@U6C6DPV>_\=.VN),\5:N&UL#@<5
MX^UH$T>;.-K$:9B)LR-Y[KR.MZNH%#O8E.F9XXEV(%N$3=2.4>Y%4,H@)N7F
M_5)^]<T#IQ+G+_,"+OD0^,N?1-','4(69!. 7Y\.W.+>K/ND:()"X.>C$&3@
M2S+ $ <F*+<N(;F&%..&]2R=='7/TC:VEM0]2U5&<8,26\]A8UULFO1V8GJ)
M>TE3K&U=9G50H%EAVB]%-?,7$0RX%:9D39FY_9'NF%<Z@?:#XQR>0C,:Z>.G
M<Y=KIN'ZH*$0]>X,SYL*V.BS[]DUBKK^V!SV*^X;><F4*D_F :6N3]7A\\("
MU9=Z#*AITHA!:B^LP=;*)YEPMGFL<++4,WTRVUC3I&&D*='_ZH(#=J(2H0NS
M12[WT%Q3I2&C/*895'O!S4F,4@,,#S%0?<*BYS'X,:'KV_ZC!Z^@? '+P,0,
M7,(K? +VXX!K_"<)8I]T!S %KNZ3%3ATLIZU%])/E;T00+ [/E84^>GK9-<$
MPL_?"Q0';[CU>5@#&%Q_U/OA;Q_$:E&W X-YF%&Q%R5> +K*;B4P5EQA[/X1
M.-371.#)B?0*I-_%0+W1@C8E#V-:7QK&4*=AM/&T_&+3,$#FB64!.25^P<)'
M+GY]CS+POQ^"O_YM6Q VZ,!6(PFV DE0F":HT#5NH$Z(T11K34),*?*US%C%
MX6K[Q(1\<Q/G4PLUFB15OXR^.K>IR5'US1P VS]!C6F-X5K4Y:4T(SH\I6D\
M;/4Q?S.(T[M.B%->.'UH#J?;O:)T.E,K1=D_59QO\X3P)#*MNNP8JDY3DSVQ
M=.N;W4'%D%J71:9JY%SO='+NPDX-+S5;1M.D$8/4OE:##91?SM3#.HWI,3''
MDXK!><Z8)M78&2/S>JSMC!9EF+1CE)HJ31QE64 K=_:"S2+PD>9WT6KE4IMD
MR_W9X;;K\RB SV\MOOB :!_?1$O'>S_K3_&+!EM)9^L8CB?$,VJ$&$"0&SRU
MLG@<*Y=695ME\59X"#]$[I,_-VQ8?&-.6"NICIH;,1:-P]+>_)^^SO_1^3\M
M.FI6.8^4]6-<5,*/3F[0Z2B:8NU+1]%Q-9W#L#N:\^:8<W*%.E][(D,%T!]O
M6Q-P*Y-$5:4S=+L5P.>\W>?HGT49TB<LA9'5+]*GG?FP"*&Q"OPGD-:&LURY
MCNV$,1B_ 02'R^(N1$ :EH8S!1IB'1(\G]/'"LJ>[L.Z)5'0Y)#7; ?*/P>U
M&@AO'J_K&.CA%W\?^_";&*I)_50\C%GRTJ1,BL8O'%5[C>X[[ )[D:JERE1"
M+:T9#&FKP&9?:.=G.?5O,.(;;T8\<@\O_Q6&\]&[M5P[<K>+:AW&X>(;SEEX
M\3$>8>\ \2S@7K D#-@/EN,E:B^F99AW=7;O15R$<99P9Y3=M/'^V87?:U%H
MJ*#4[!E800=^<@(_XVFC 'BGU_G#V14-&A6'; Y^5(W7:5.]6:;ZOPX28F^P
MG#6;;]ZVG+W\^N"LC:@6XT:LQ3>U%+%R[.V!^TB9@E><V3_.H@!7[H>_33J]
MZTW+3&>UG@?'9!1YFUGD(#]J@T?29N17%MC'HO6MP-A)NU;#V+.ZZN]VK3K7
M%20V_.4(SVK[2+7(JCJX?K/0J'I1L61>Z?TFN\I5D1'!\OBU!D:\GFZ8M-D?
M!0?R)#HV!\R6&4GX0(XC2$+WV5ISLEW$,Q?!AO75ZW;!_E)":( C3ADAO='
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
M)&Q 9A$X4,BX:JJ0 A0$)Q3XAR/\!UB>",TO^M*"F!<8>@A,>'-W:PQ&W3U
M"'?V@LTBEWV9JXE6C7;0RT<[V"#Y!CZ@;04!X8#'U'Q4=%'P@*)))1@ZL%X%
M&!Y('RR.U/ $2(4+A">8CO.'LPNR8%0,67#PHVJ\3@<.&QHX+ 07PI[6S8T=
M'G]8JA3)KOKT:6FU)/VQ.1GH(] SZ=IX@T86C\&&;XU[9B\\A+%T6G#>^7)>
MN9'&Y<_4</LK'0 7V%^]Z\3^ZEW_=IM>H4\D7"*.S_Y)6JBI);WY[O"R&*\W
M[)O=*O)_]"E8<]GS-EI&KNBD0FC<KO1[9O^)>(BN22M9=,^IE^+1#WX "^Z)
M+ U[?9\LP-\MQT.TN(,XMC3--]2)S2TZW6_%("_8ZFFXCW!]>3Y":9)R.)Z:
MPU[;.KMK4^55/)5N0B,3*A,SQ;C2KL7>T.YO""..36H^>G:-CD7_NFV<JGGP
M,&_^_:=[S6<Y?'8R%[YOCJ9M"YUIM5@F2W[^=*=9,H<E/_O>)Q9:KNO8=[X;
M4:..&CES;$ZFPY8QIF:YPUCNYML]N_OW9\UV.6QW$X2,K[V?')^?@.MZ_:E9
M"?2?5HC-Y<[S#&E7'-&NN+JN9XXF%91WZ-BVCFU?I/73[-AVLVOG*HEMEUC]
MWYN:@^Z)G/@+$Y:Z%*ZP%*Z];02%DV(PRUZHSFIS/PK"A?%'9($[$I#<0I85
MYW JB7AJIML+8AKX"EZ-Z>'4MQ?SLC,IVW&SQ[C_)S4JG8D>;7$V,[89Q)1P
M<:O,-O?68F@^EVG.I?9PG!Z^^$TNBSBD,*7E]1&I*<KZ!<KTMPQ97(!.#-45
M4#_=N,.?#Y)&]K:-BP^>&)<MGZG3,;@^2-DK?)'L'6W&!17R25;<"]KC3'07
MQ8H#> &. O8I=1),VE=C9U[F14QVL7;AV8^F\<@\%EBBELB:+6'8^'(:>OSH
M SIWIEKS8O-HN#1@"[@;G^-X\#?V6]U:+CDC6(B N?2<S(+@LHEVPE@1LE5D
MD>GMZLR)+ZT9+"YGZ7[7[#M,2;#ULQ^YR,(SD/,A*ZAD@$]Y/,)4EVA<7GBX
MZ-GZ"5PU8XY=@%&:% F60 Q$]'J$$=J@8BRB3'9TZ2[8E@*:4:46L)8LE)L)
MZR*PO,.DR3I8X.D!\=#\X/0X[ T9!3S"MI#/AA_$M3K8[%B>:JQI?X4,CS?@
M0:)5.?::)&<0&Q5;<+GJ,&SB4S:^R@QP21W&@3.P'7DRCXV*$:H)XF"P.[.X
M1&1S1\5]UK&!9O9V9%.E#\0+]SX%-MP\31E)=E^U*1?E+5FU$>\GZC!-;7[Q
MZPB\@L"E;>)L;&+%>')GQ/VP4U5/HA\P/,/AA,V N$$67QASUW\6HR2N5D_#
M[3;'\)'LXIEZ.JPO7:*:+<_\9T\U;BXJLTJ>G>F[S:-EK%_% '.'EVDI"BL6
MN6'2M#3B0IB@8/23B&K\QGAN:FRBL?+6&L:D"]@2V .7>:,J2^R&F2E;5*NK
M8N:5_4_ER_-HE(A?V!_8BAX9"H2($L8D:'!]<L>0[9VMBJJXH)#KL"?95!Z-
M#559=H5";+8U&"76DBU3B&%R+JVA/WH'K<F!Q75$"[A\ :89-0?W_/3UL ?
M7LQYA9(7(ON$*P& 1859FV2SZ$QC2-2)(3'4&!(GP)!(EO>4@!('U4H.IKO*
M6F]68+3.XDM_ZQ5 501@^*:J;3^0>/H%I1.!5BB!19]L8EC4T85\</T";FL(
M$V\9^J+-/3H,#HGXV+%7-<>%*O#'UM7\7EX5[W"TN\GXN)PFX_K1&[\??VAR
M#EW7>\-+;;N^_["FI-6_Y.W5O]3=]7=PBS-Y]__]$&R8MM4.X%8Z\Z<<PS\Q
M:E(91^E]6P');FQ;I RQV2EWSDTJ**\W4)LVT&<6:K&GQ5[+=NV_Z,L3RSR,
M8#^R4P[A5XK1BPWRBS,_Z5C>.)Y(!WA[;C9YF3E!B2/7W<>[)V:Q-S=YJ'0O
MHVTE*[A7^+W\K3HYOHSDS=/BQ'[8>>3V8R%.;)4Y?^5D'#;I*7HE]$I<YDKH
MI/VZDO;OD]2M*V/&GICKK[*F?_O3]#\4G[=2:')G^OYO/ZM%29;J&[XV4Z^X
MXQ4_K3]9__&#6Q>48ZDUC+VAV>]-JJT':#35]Z"Y[:!)*K*7CJZU=",,S>&P
M@AKRMZW9""_>!Y]9V$Z:7U^;DTG%Z#FMJ7W-Q[LOIHJ([&!,Y[!:]?(W08JR
M5YS9/\ZB ,,[P,N3S21!79)^QM;75TNFRYU=X?GK;"ZY+B<6LOUA]](E;,TF
MUAG3O39KJJ1]=W G42JQZ+\[Z6 ;(0FK-D->RQR%1L>T73:'MB8* 6Y$79TH
M><2BO86STL;%II)1R_0MO4JG5CF]B3FYUN9&O>9&$W?"8&(.!E7C_3=_)U07
MTFDBT7O3KCD<M3J6VR)#JMP=4!S+&;?+KM*QG->=I 76C"& @+:X-D5NLC0G
MEK,C<UHUYGSS*5VSD=4<X@\KZ&&FS:K&D=D<C"J&%&T-G:NVI$H@>J'YU.^V
MRWS2AE&!8?2%P(Z2+%%M'VW*3EJAS?M.'9$R>\.+%Z,UFTI-W <]<]!O=W)1
ML^VF)M)\VJNX-4)K"%ZU 54N]0MMJ<%)3*D+ XV^5(1]39-&#%+3I'F#U.4]
M]93WG,'1Q2D[(]W[H>4:NW%4M=->35N/P;!K]J?:TZ[5TRXMUCPPIU703GO'
MY=*I/QV;P^[%IU?5X]2>44I$HRV&]L!%[$5IUX@1&AU KX1>">U2GLNA[UEG
MP^T!\7__778J.J@_9$$2Q9YW5'7T,VFSE:Q+WYK!)]0!8\\&?F%"F68+S1;Z
MO%&?HVB:G'J0FB;-&Z1V#C6<X&G=/CI)//WA8:6 8KF'A<<Y?66>'EZW^_2P
M&A# 0UR0RD\.L;,Q?';N1XBU,AOXC:=AM?YT8O9:[0:>A<Z^,"=O ';AS(]0
ME3;8>BUIE)HJ31REIDH31ZG5Q@ZU ?]BHUS\9;/E^L&]H*\W"'VTMY9I'9S>
M#J?HD_R"%LF]:]TB6;=(UH_.__WXF-(Y]+#5+9*S$O+<VK'IGHNGV5VZ1?([
MW2NTA?M6MTC6&TBW2-9B[\)VK6Z1K%LDUV:3EWE8H5LDE[:"ND5RPW-;=(OD
M=H?R]4KHE= KH7,:3Y[3J%LD[X)"Z5TWMDOJM&_VQM?MS=AJ58?D!N^#:W-<
MQ38XEQ3+%P.T-)CDD[XY:G.R9K,!7WK7">!+)9N@&$'FNET(,A?F<^L&R?58
M7&?<*+==$K9F"^N,Z:X;))\MD]1DAN@&R3J2HQLDO]ZX:&2'U''7G/9'VMRH
MU=QHXD[HC\QQ%9V)-.9N@XG>&XS,WO3B6W?69$C5U2!YU"Z[2L=R-"1D-197
M8YJG#LR);IY:LY'5'.(/*E"PVJQJ')G-8:_5A^(MLJ1T@V0=EM(-DE]M'S6Q
M26K/'%]/+EV,UFPJ-7$?7 \KV 7::FHPQ2>CBS_VKLE\TNV1FY,>WPR$XU8,
M4M.D>8/4-&G>('5IC^YEI=LCG]R*J\)E+R_5<&J.]<%OO7YV:9'FL3D=]+1W
M7)5W7!J3]7KF5)_[U>/4ZO;(S8OHZ_;(K3>:]4KHE= KH5W*=ASYGG4N7(GM
MD0M3*'0?6%WXUE8^>7U[9,T6FBWT>:,^1]%G6XT=I*9)\P:IG4,-):C;([]K
M>GOD,D\/K\U!NT\/V]0>^4C"'=(>^0R.$)O<'KG,,\2^.6KS&>)YZ.P+<_)T
MRU=-%4T5317MZAVC-OX[TQXYW0ZYL,GO]-4]?J<EM?C=,^:4!67(MC7E>9(U
MN(B][FBCZW+V1P%OD5>[.6*VS#CI#PSL-W32W6=KS7$R\IF+V(90[;>ZW;^\
M,Q2S#7#(J4/>WFA@&NJ?M^]^^&OAKND-.OTIWIT9:F<\R1FM_#CYW/7MWZ]X
M: 7A]CWT'?-FR6WI/!Z#$GE@?I:Q"-"R_5/HV^!]4V=H?V[<HCE,L+)67F_K
MG"VT(=7D,DT[(\<#:J:NQQA#/,Q C$8TELX$(>@C8=OO[D9^LUK!-%5/\NEO
MO1>GJ?&T$_?^.SR6,UH1?-]/N* %Z6O];I*^UN_^8##P!U:X3$'$7L 0#>&S
M]&H83"P'^C=[\KR-9XL;?][MDZ4?_66^288#5WFW5S:*O;+Q'MB\SK;S+(0J
M+*<+?YF5S&8SY;&DV0PZX]VS,2QO5LV$IJD)34N;4'?OA'!+A@LF>ML9( M@
M5^;UHNYW14=J6@$<HVD$C*]0BCPQ=]TQ;CB*OJ);\16W_G)E>6OB!ANV>NC#
M(VRPS>C;N>^Z_C/PEF'EL<X;*Z]?VX\;NJQ 3?1?;5V(1Y1@7J"=17K"9JXK
M>P+^GQ^ (?%O^6#Z.Z.$Z052T MK5GQB1T$ &H24YSM#JHT)MJ _2*A)PQAN
M=ZT5AX_5;_%7F:G^4!P1Z.9$!)06Z^8/YX>\V(V\YQIN.<H(S7E4C=<=?\)1
M3C?UO(A60:/);=[8,[AC/*O4JW*/T11C&+3UKW"KUYX[_2+_X(.4CO\FZ?@^
M7SJ^*GM:]\8]DN3O>0C*#9OC4@?83&MN^D3:G@UJTZIS7:NTM,' Z)W7">=Q
M3M9G>/S],W.?V"=8RL6NNLG]AO_!QS%=<S*N&)Y(YPW4R$+],TP4/XZ/4,??
M/_OUL4_%:/-:3S6.R0::R9#)%@';K&6MC,W&PVG+V$PS4#$##34# 0-]\*.@
M+O[I3BLNO=!JJG%<-M)<AEP&U];"9;UK<]JK.(E4:ZD:^6=,AR2(+<FL.=Q\
M\>QT@ZM0+T]-A^:@?Z( Q84E25YJA8^V7!J(HW<QD>#=%=PE^@#3L3FLNOY:
M2](+3Z'-2QS-X)0=FDC:>WTF::^T5-)=F71WT6KELB6(9,O]R7(MSV9W"\;"
MGQUNNSZ/ L9?E3EGR.5BLYMP(^E/I?M-?OC;L>DH>Y-/1&IG'=DG![LF<F3#
MG)P2U)5IJ4SIE76>9D\[1YY3%XRX,,%4)(R6I^U;@7AWZWMDZV&:@"&9RR#N
M,GYFH>6X1F'.QJ8@2@W5=L&#(2FZP+7Y'B\##2>QW7!=Q#P+LM*.(<3X<.EU
MW)K+G Y)PJ.7N.!Y#D@SQ\[#('P"4>$'#N.FX0$=M@EPD-"T%VP6N0SS*L4#
MU[=""ITZU?@(.I6/[[BQMC!W[O"0$C(SJ94Z7;+YZ9(3T)^[4B/'Q:F1F=L.
M^;V:1Y\J&W)_ZE:5"7GC2TW(VY,/>=+,NW/86!>;Z8DZNK*]I"E6"<6P\^MY
M<7^9T:/#E<6)"?GF1E3;B"DXGOB9U-V\C,CZX+_)!Y??K&<#$^L#QW+/#C)*
M.HLPQT]JBI]9^&7^C7$6/+%ZDJ:'4W,RW"[(:PV$39.I5"+2T+4YZ.NDP?JE
M6FXUVVOT7"D/_)<?X&)?K0+?9IP7!@[;GM$1<Q].^*/W54RW?B$Y-;O389ME
M9--)59ZDG)J#L<X.;:HXK<1(Q(0$OF S \3A+++/LC%AS%YJL@AT> ))"+NQ
M=UUQD=!ETZH\4=B;F+UAQ6I+)\E<=+JAIDDC!GG!?MS)DSL-9^.H^TS#5'7E
M=EZ/3*KV::^%T01ZE&=%C(;F=% QQK6V(BX\U593I2&C/"8!^G5)A)FDZ!9G
M$7X-V,H"^TV6E7&JL_N"A7:&3 ,T1''$"],+?V9S!H^9W?H\Y+?6BL;QOVPF
MWWOCS>AEXAU)HO9EIATJ8K T,7PBALRS4YBF,A]1IR.V,1VQK],1VY@UIM,1
M=3JB3F[3Z8B733&=CJC3$74Z8BM/FM__$3DK+(^%(3G83X.*^-#'P&,]QV9G
MDJ-(K1*E+W4G9P:.YM? GS/.X3K+_<#J2E TQ]T*FB&V/!S\>@J5>,YLCL<G
M"A"?YYG6*46<BJ XGNTOF1%:WT\@U*K/T9#3O,?IU0-98HZ'UVT68XVA28E9
MU>:D5S%-M 775/'&HP"MM_.5;1_5%.L!MS.O!ZTN(VD474K,AVY;,K06706B
MBX[YSE!<I8XOY8%I/7E&YO"Z8MZX*,J4Z4\.1Q6K$IUP=-$ILIHFC1BD]I0:
MG]R\.C2AYCP"WQNFNH(*S^18U6FD]*;F>-)JMZK!9"HQ1]J\[FE<]Q:EN;9C
ME)HJ31SEZU*DC^QF7)@^6A(>],X!IS%[989%>99.#29,KSO>R.;-_BC83&31
M;8Z8+3.FY@,#=8"FIOMLK?F[!%=W$8OG#/BTVET#''+*&NV-!J:A_@%K]*_%
M*<>#3G^*=V>&VAE/<D8K/TX^QT3P*QY:0;A]#WW'$")8W99.?C$H^P7F9QF+
M !7EGT+?!NN0,H[]N7&+VM5#^\_*RYG.V4(;;*PZLG=&C@?4W(*)EL,,Q&A$
MPG+&2*:/A*601F,WG%DQQ/CK2A>.V-+-KESP5R!IUZ;QU;70D ?3/LEP>5FU
M@GHF/1$,LOAYEUJ/H)9X%2\QBY=8UR"TMP9A/-U=@S"IK@:AI$=?9JJXKD'0
M-0B5;*P+SFC7-0AMHYBN03BK&@3#\0Q=>7#.R1^_ &7/ZX@%9U139EJW7W$G
MX_,E0YE9'9630>>BU26.?HH<%^V <RP-B.=VX\T^+E>!_T0=$?G? Y_74RL
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
MGDX\?TW92$/(JPE;=K6()FRK"'MXJ4B+]<316ZL,RZ,=12)'+]_1!"SI6/R
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
M;<"GN=8JY,YS7RP?OIB8<2B2?D_5=[+?E\9R_>Q9L=$\:ML,'&D.YS>1= R
MA&Z1-:PL(NEQ-HDK!09_ 0@!5 P^K&*6?2$9.9(2\J@I8$>CL(R07OGQV9:$
M]*KDO&IJ.#6U.RI_+ND9(*M$AJO(01C(_JQ5L%E%\RV[/=EAJ6(VJR:!9E!%
M4%S&Q)OI!*S2;%YT.^3]Y'7;=E]U\ [>B"<074Q]9E/F>50Y<N7[+/#_%8'D
M*H+(B9P$6>-Y=%505<AM5KCS+-!:&9M6G:?3*S_S]"P06@^?5I^Y4T%B<3OP
M>RI^K<8UJ8!-SP"+-3%I576W%0R<E%<2=7LC]RP(/0>^L;J.4'3SS] /YG#P
ML[F9V);QR$'PZ,:WN5>K\Y_&^QB7'RYMA]8[]@ZW=%268<.TL<*V1;Q8L8MQ
M*7FQ-EZLWI^0UX:5LF(U?>K+1UK;4585_U7E*K1KQ)6\WI"=Z8N$6^BH\4?.
M\TW YC4/P;V4/1,.#*P0\JIU#[:60<G,ZZI8K6*'H*?)_,&JN:YZ1Z#B*L36
M(K$,_JNXQD%R7]7<5W$Y0R53WPN4,PBS%LS6';9[]*H< _E@W._]6-)23[L
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
M[W;8HOC2CV#'FDA/H/KYU;WG8>D;&HT?EZNOW/%RO"M$\U<BX-LI9]2K:*_
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
M[CA"3HR$HC?!Y>B*7B<;HSC J*@/#-48$OU.MOS^,$.B1DA48CST#C,>XD"
M'.R]STG*'^P]R!OLG6?AE33:6SE^MO?&2<-M&>[=FH'>Q\[HS@OYD 23 [O)
M"<DS35 LT[AMD+Y&:-/53^A'EDENJ ]!KCM+:GEX^9.?"?U1Z! =&_@^>3$=
M)7]<^&H'\<AP%?-XC)EB.88=FACS3\X2]V($IW:/R@]L/'H%!BL3?U,5.8.\
MZAGDXT&C9I /M>TSR"^KF^;=_*7W+RN0@\);/.KR00X*;QW.Y*AC.>I8CCJ6
MLD2..I:CC@_D)5D\VJSBT3^BS$PYW[C [=#U?T)P^&\<\/5#&A!T"SZY]SC3
M'1&)_NH*>!:8>WQT'M Q[8XN^P-U,A[(:L_FK/(V(/&V>M&=<C(0R8X6C.1K
MDOP^8)[N2<5XKWNI7K:Y:UV[A)>$A+3CFRGL>0I$XV5]:>-7*], Z5R2%FB
MP4 =#2K0 +5->6V7X).0D);\VYWQ68YU?S+A'@.R/?*]WU.'5<1II'B7XEW.
M\)0S/&5'(BD2I--_GI=W<L1(19=W)[8)1Z.A.ARTN%5K70U**R&3_7N4^E6Y
M&1LG8/0[_9[L8%IRM=E.RMC0N31!,)4W!CEL1F/O4IUT*TX&D/Z$['$J[6@)
MB3<<0Y93(LYR2@0UN*OZ1C+3,3W726E@ 'LT[*K=0;:-1XO,T<J<E=-0SOX.
MS G\EZZ<X-<(,7/D8(83^C0#=3B2<^=;Y"VT8Y?2DI<^C9Q6(*<5R&D%54PK
M2#5/.71B07*1LJ<6I#;8_,D%C>C=_]9:]3>E4;WL2U\J=>WH2\_^ QA%\,I.
M]&5VHE=18B>EKND"!@/>LUUWUAK4%VSKGNCOM=[:/=O3_?@N[GSC36^O>NC]
M)H\<U!.)/+@[YWAW>\Y6P37=SO5D<-4N2^LDWQS0IOK#G@RTHTY/=J/?W(T^
M*5D;WY%^S\+C<GK55Z?>"W<H[TXZHTF-W>UK@G/YPO<X. \ S%FWJ])&^75!
MNG19?.1(@FZG?VS/?2ZS:N^X7T.Y+ UPJ5]('6:Y=,OIX-\4L#;$(!R?=+)0
M)8!MACDXV#W%:MM\@;8:A5=;PK44*?%8$0D8C\]DWHMEL'P"BPL "($^44?R
M[Y]</_CJ!O_- )V&^^Q@]^VM 9;2<#_J9!-HTER%(2;2.*'CQ9O#B%.\>_C%
M#X!&>"?UP$W$RQ$:%SSVS:.%';[XXPS;K^-C5CJ2_H0QM_@M+BAU1<_:[EZ4
M3@(_ 6/Z%ACQ/D< QG>  1,!\/PT_LKP)F:%N)[X"+]7=(+,EK25X3 3)26-
MSFT"T9]>@-+?%H<^V"6.'%]G[X*7*."]%TEG4\.Z19T#=3SLJ]U>CN&:F3V-
M.B-E/(G+'*(\N@6"[2I3#&D+<!\X744[?KR*5MI\E6V, 50QMP)"*Z#Z$YT-
MZ,:PF/_9\C'\''K'#910!," K8*U\1AB,,9P_.[G-W1%NS'K-7O+6E_S5DWK
M[-FLM9D7P_N=NG*S(\%>)'Q2#*9L3&&N./=C;R2,B@NO_> M\CX$^HZ:]IM8
MSP+%;1G9K_\&JM^A^S3$!5C@ $ICIEP]>XQQ'&4Q4C/XJ@B&1N:"3<<'NC.
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
MV*S=O(O-C 9"=1%Z+ G65:/]B]Z.00; ?!FH%N'&:(P)#92DOR4'F6#K?,"
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
M,,<=GW^=$X%O ;7I'G_ L9C ;9PQH8,*,G0QW9Z$*I8=)KRY*>,7<)30<&C
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
ME"?&G%6YC;K>_BGRB,U55PKJ 4#55J(M17P>7NLM&I:LVE/D7P>E6R[L[+A
MGEJAHY-?5IHG-O[6&T1:&9R(?B.Y?&N?]YUV4-T^0SY(6V*0'NXS#$8CM3MH
M@\?0:@0=T:XVVZ!KF\/@L3F8#.)Z/QG8TH7CL-GFR"DK704-[Z-U\PS9-HJ@
M47<79$_F%[01G/WQSM!026Z!Y3?*X&Z%*BYB<._,!Z>D>\]<I9T=:7D+YXFD
M$N%-6.*UN46E@W"X,V\R4;88I L:GW#PCFBKD$T$S*O8REY@\#*_5;G7FON:
M;.S $Q5$/A&WIL_% RI6+#)*%HL T<6>1**2LO8"DH:)C:W28F=4K9[JD?:
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
MN$7Y1+++D6]>$[Z"W2&W:_2C>T(6J#7I[:_[#V@8..DUJF'@4-O>,'!03L-
MN;3LH.C\\YTV>,,M%$G__#==ZE^G A%*7DWQB3LFG@.UO=E^G?];JXR2)+ZJ
MP%=/XJM5^.I+?+4*7X-STZQEMHO8PSH[,1[?7^7TI5=QU!=;!%C/Q:_@<&*N
M_N$PE,M.TTUNS"/JI,^K]XXXU!?/G5/*-'P)<Y\_A3ZLQ[R;J,+B"@<#^LQ\
MU+]OB8!T^ZL(2#FM=2Y':G>2+=TJM;?.VT;?((&^T;=^MU3TC2_5P:CB_G5O
M&WV7"?1-RD;?9*!V1Y+[JD.?ULT/'Y?4/;([5D>#[$SF6CJ3R7ZO91L@OW@X
MTG?AN5,KJ-T*J;[#*QWOCDY7JXDQ&*C *&T6<B?%3:7VP["K#B<3B9L#<5.I
M<3 <J(,J9D"\#=Q4J_E'775PJI:D,CYQHG;P<;:'R,5NY]R='6W@HT.*Z?#;
M\L;+-Q5&8"J,I<@[#D.5&@RC2W72JUCPG3V&*C4;+OMJ5YITQV&H6N-AHJF]
M7L48DE&#NLR"KRPXWZDP<+C5&)A:38&).M:DGCD<.95: =I0'8\TB9V#L5.I
M!: -U.&PU9="I\5.Q9<&$W4T:=N=@0P='#</0/<<ZD\?I['\6+.Q4,Y8FB:M
M(B$A(?$V(?&V?+O^26?%^99Q7@EID2JZ8]X#*B(ZXJ&>W3?09]]HF:0IU(LM
MH>Z.!A]:J^-4I\=342?O6#SU98[247@JZNX=BZ=>J],L3HZGPH[?T?Q4P9!P
MZ?\UUX[X;-G8*/Z\+0EQR)/9$E+V'8DI:4VT!5.UV1,5ZZFSQU1]%D7>#(/2
M+8I_;!J/7$VOJ./ZW1Q=KEA"KYPCMI/MMI/IO%-LH&%/F&5OK/=-3_:^.<72
M^[L>578C*8\!"\O2JC:R:3MGWW_GY+U[,$J9E<(G)XCD1B37G8KKSK3O1KT]
MC!J"[,9L1%)='9V8&H+LQFQ$4ET=_:0:@NS&;$1271U=L1J"[ ;8K*=@GH;X
M?RVFYR.Z@]6/JN.HO+:KV,Q+FYZ;>S2)U="R[(#;W>ID0Y5O_MN^K\N]8SD&
MNS4U7L.1A-'-M38IL8/ *+>[PYZ:.O_JYKQ4G"3C$AK0$1F+:_WRR/@2R'B2
M5VLDR5B2<16-^(B,)V63\6BB#@9YY::2C"495]&0,#WGN$PROFR)47&2*A;I
M\E35)/'-^#V'O;->.;6[U6,U3DV_KUZ.\VIZ&BA_)(TVED8K]5CZ$W62VV-,
MTJBDT;U;?U;CCO3'*DT,DS0J:?3X%JC5^!H@1_O#?CMH5%["G+%'LKTOJ_1+
M&B2KBG:7K<8[&4S4P:@E$DM2:L,IM5(?93A11_V\>E9)J9)2#^PV7-'%B:8.
MQGF=("6E2DH]L.MR17<C?74X;HE/+>]&6NF)Y+>"EAY(@V10D8;6U7@?8[7;
MEG"))-(&$VFEC@<0Z42FP4@B/99(*_4Y-'4TE)?,DDB/)-**KT?44;<EM\SR
M=N2,?9(=K>=;Y9P<VCJLVB<D/"0\)#QDV*IHA]G&J8A,E_M6*84S+C?8IU?_
MSJ!5)?UU&VC-2GIM-KT6C5\=3:]YO6LEO4IZ/6QVP\Y0UK'TVI67 Y)>RYMA
ML3.J=32]MD2^RNC6&;LN.8,UI//23&&U?3Q(]>Y+2\25I-BF4ZQT8"3%MHMB
MI0LC*;95%"N=F%PGYA^I\3O)Z2\_;QW(D\"P(OI^EN=(I+=;YWLK]RZTGJ:L
M.179_P"-_/W)-9?PG5DPMW_^_U!+ P04    " #.@EA2.MHR&O0#   /*P
M$0   &0Q,#4X,#AD97@R,3$N:'1M[9I=;Z,X%(;O*_4_6*QFM"M-OKI=J4H)
M$@0F88:2"&B[O73 #=:"C8PSG<RO7P,A'YW.)+N=&;AP+J+XX)C7YSSG8".K
MT^#&T=2II9O:^9D:V(%C:=;?G8M!=Z#VJJ:P]S8=@&K,S =@3,8S9^:-E/NI
M'5B*!L[/1*<Q(APQ337M.^ '#XXU4IYPQ./A5?<O3!0 $[PD(R5!CUPIQYK7
MW5+(EIAT.,V&_8Q?@TU[03FG:65ZI(1W<OP%#0>[]B-,<;(>!CA%.7#1$_!H
M"L6==,>>N".%X64L;J4:FO4YQ@O,03$MH/8,3>W-BWF]I&!P\0,EA*5/2@W^
MK>';IJU[MN6#V7L03"W@61/;#SS=#;:J]MRR=\-"TS,O?:50T=Z219Y=EZ,4
MP=0-QP)CRW'\N3ZVW<E(Z2ME>ZZ;9MV^M\U@.E(&_?X;!1@SS[2\TK[14%DZ
M(MZ./O>M8?WCN]-_[JNOW%'P4DKTM,T/LQ9R>?E&N*L7F+LK=YM_5U/=2:X[
M'@XP&+QR@,L_:[OX\JJ+7NV/#"Y19\$0_*>#28XC-(2?*([ R?ZX*@+U#5WN
M[-[3M^%?4!8A5@=XT.T+3X*<)N)NO_7+CZ*=G$2#0X*OC@%<$KM:B!EBR-;
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
MLYJ=EW31ITH'*W'3GL?\#U!+ P04    " #.@EA2EF?FF,X'  "4*0  $0
M &0Q,#4X,#AD97@S,3(N:'1M[5I=;RHY$GU'XC]8C.XHD2! [H=V"4$B@23,
M9).(H)F=1]/M!NMVMQF[&\+\^CUE=_,5DI#-C92=)0^$=MOELGV.ZY1Q\VKP
MK^M6\ZK;[K2*A>:@-[CNMKK_KGRN'QTWJ^X1Y=6L FN>W7;^8&>7Y[?7M_W3
MTN]7O4&WU&+% BJ=BS@1NM7L]'YC]X,_KKNGI9GTDW'C'T=?95QB/)2C^+04
MBB I65MW>;6(ZY&,*XF:-&J3Y(1EST.5)"IR18&*DXJ1?XE&??D<\$B&\\9
M1L*P&S%C?15Q]-2^[EW>G):T'(W15?.LU7T8RZ%,& V+-:MGK6;UCL:US8/Z
M\0]TP;-S8GTX[_8'O8O>>7O0N[U9.+%]%GZ(#ZU>F?VB8O;K$;N/E3_2PI2+
M!4_H1 9SEHQYTF ;+BS-?X/UC65YY$ZI]7,\-),3:X30TSZ[[N:FSF[[G6Z_
M J!<M^_NNXW\R[,^;PZPQ)R9TU*MQ,Z[U]=W[4ZG=W.Y>+Z_:Y_GS[_W.H.K
MTU*]5OM4<O[TF4GFH6"GK#3A(U$9:L&_5V1LI"\:?*JDGU7LY(V_?"JQW[*U
MP[@7Z^A 6S\")SIYD]57:XU69Y2M3R)[ZZJ>L V?>FS,IX)I,95B)GRLJS2L
M'<<I#UE?3)1.&#!PH73$FA>W-X,%-<<R$14SX9YHQ&JF.?RNURJ_-JM4J\54
M0,U!61$7"^=*PQ)/I((#M-QV'O#1IP]:]CV*=D;1\0=$T1DWP Z $LW9=\ A
M%/Y(E!V8M$.1KV A5@GS8)?+F/%XSM(XT:G !/%$1-CK"#8<SF'3DP!@P#T4
M::8B;+Z)<O48+Q;6:\3"$\9P/:<Z$?\NT/&*48,R']Z@SY"V=.J$*GA2>VF$
M:C&:PQ5?: 98>V-F4OI8MI\)+3(C-()(FE!P7\8C-I/)&",T$^%9#\GN!*XI
M'^.<HIG/AO/5>7@*_ZO19$^ 9PGP^7^) ((%,@;""*Q+1)6!?E3':[WR7L8!
M]EF[3>*[%Z8^; *U*_!!! ZXU.&<38 Z8@PQ*0R7G,G :#;Z!NM\29;+5",-
M40$T4,"J[<]8ASQNQBP(U<SD'-%B)$VB.3KB5.@<AYOE%:B;W)E'[N[1_F:T
M?_F :!^L(>/GG^I?OIV8#,Z90*3-406!Q..!.;2HZ3&NA<4G\":'F"/@B FP
M8AA*,Z865"U"<*  @>=BP9?&"Y5)T9#BAE:A0^I$*T_X*#;L ,#T!9#NT-=]
M\,8\'@G6QH[<3T/4>%FX?.:5^M<#<9BK%^KBY59??==JK9DDQ1X[QI&_C,+
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
M)0/BY*"&I%32 &$P#.K4?P$O!?QW>/*0(C0? S$'V5'(+"4;R6Z^ 51PU*6
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
M%1#CZMUQ,%7XO!WJ0KC=Q$PJN&24[X@G]-*PVLIEN>"('/43.8B#!&D4*C_
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
MO#6LPAV T_DN"$OM5)?>KO:?FTYP8/-!=F\Z%O'!X?37OI..!].#41@+8>X
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
M;>:VE4)#VR?)EVL*+KEG16<T2/X:K9QW7/?HD>I4C8QJ9RF!HB&CNQS^+GU
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
M-* /[)>MH&R\T6]=16ZP*QK$X0XC:93!+\^34(9/D0^ELG-<A@E*/PXTL'7
M77^U<R;RUE-U"<Q5I:IKU:J(%3MU!QZWFKE2[#'@(+T!A"FP-^:%*]!ZN+\O
M #-3<">]>4O3L&^/L6V6]F(.KKRCN,T#I )_119M/-SU.:X\0CWSMY,5(P_H
M9E%P?A[[(6SYK*/W&?L>$-.%]#H_O;R@T>T%CC!MP;WZG__+VP4>[8@_XE%!
MPA0(]X8#_UBKC$5-0A5!V_OOE!$3=/@\._#P8HE!=WT@S_R&K&\\-3F5]Z*H
MAX;6X,NG+P%_OL]_?^[%<,8(69M6?B;K1'3&<%H+:<&B+<VVQ:PHEJ3/ J!(
MTFLDAC'ZP"EH!.%^@_L+   (*=;?PP5?729?^;T!V,2$QB^[SN#\-E@&MR^?
MI];%.(:HG1$#,6)V(6='P=?_UJX8.A44>?##R&ST$3];K%G^MO-]8_^!!7/S
MZ/E%Q(77RV?#<,3K]A&/[2RP8/GPMY/O&V!_RBS@#?#J\NGHP%]T\T-.197G
M@:8A'=;GQ#*=Y1H-9@FJ, *VHFFW-36F4$W#C@KVJ"?&Y%"UDD_XC=4WJ<;5
M;::#>=PF&K-53?[$&<)->E2&\E)U+E*]<2KD!? Q7V@)/#KU:/C-98+UJB+^
M?G:#&=KS!G>,_C(\;0#!<7,G^-^%LC:@K;10TB[!@TO5CK5^RT=A?G_](3VF
M$13X P'K]G\3)O5_T"/Y/S,&B3C8'TK,;SB;)A]B-5*YV3>&$<:C)AVNKJWB
MO",]RQ1O^BH#1XJ2I[8O1NC,/#U;<ZQM0& ^BLV7O;LK>41 P7O2 IM3>$[6
M<-/>J_\KL<K.00*R;53)HR&QKD,M%\A IZ<N)1Q.3]&W-6;5Z[&KCA86W15G
M;@"BY+JOA2GAJH7BY-PX6V @ _K>F9Y2_37:/J0X)?R7V3H+D6V*Z[U 6ZF+
M30SOX9?/!<MJS][__^K_RRN*;R]1H2@ZT(_F2' *Z.I86%C'  #B*37-7P!Y
MH0!Y%T9*J$0?ZC=FUD3VZ,AHZ!P72S$*Y@ >IE8O$UW4U@7]]P!U] ^??(),
MU/("9YWC]"]_G4\)LON_)*W_,G9:)&<_Q*>+J]P)6R<QAY$K_=#^1DE)7*32
MN;!UXC("VK;?^6**S*2(I,S$S2A'MYRM^3R3@KL)W$WN=R.)SZY*$5R?KH'$
MB5:92D+*G*OZ557FCM*_9"LL(,E\)U]D5E@TMT#&XEF,<#A!5); (1M'L-(:
M@L<YC\R*BHHM9<@U&7A6;4NY 6^7K:8W/3>&BC*L A^A%[.GBOH!>C_\_OMG
M0?<%K@R'K<.J[6RV#]9P%Z);JO/.\05N^K.74^^W_ <**C?(1'>:RW9S$0>>
MHL2T>P3]1^U5QP4PHNZP ZK\/)Z2807I+A0XI[0OH/N#.SJH&.N??T]NEJT+
M?4NY4C+R#;!U4435 V\PT^;+ \J"17XWO3SBL]MO*QT_MWX>^/R*[3LWXG.7
M%!VGTWIO^(-?['^:Q/_M'-DZ"Y ,9/AB=]>)<A!S4KAHG/*<A3#9YMGH(G.$
MS:;J]0;T.O[#@UZD:C#Y6:1QZ_W':AS;NS< Y]=&!="Q;9JG4\'_DY__[\G-
M'*ZB;2F;N5M,/AOQ6/0>8?\=VCY]$.&&XEOJW))Y22Z\;M4R_,--M5!"4"]R
MAM3LH)A9KOO*\[ KL=-=UE.KZO^+SB7[*G@5^$VC*G4C9BBFX9D\@04C4/4@
MSV;/2K6OLM)7Z>L; $%NTL#O%R"G]S3U^W-=(V]6'KC@WQ&0^K_DK_Y/\XI0
MX??G%YZ31TR8I)B$K;[BDXP9I&ML5V..>(M]7M.+D_!0I#FYF3;,D;=H_QO,
M!2@045XNH]_KL.8QI9GX$<ZQCI!<IX1S28@*[G?NB0%NT*BTN@\]E]R[$!D#
MQF1D02Q,A$/V2ILD8[@TM=#WA.^3F_0+!,"SUS%$R[\H"9T$V/%H:F[9'L&N
M=DPOVMPC8#R-3A1NF$^A;]I5!-?R^@H!IY>[3XU]%LF'@1:\S965E+ (R6:N
MW8-9BFU?385))N6*8HU'T#%3NG8\=-;<'MT(.':JJ^!7.DU+;1 ]!YMDOY2R
MX%'H%JFRR_4O&]0_)"!ZK#E=\#4J4*@[&5D1BK)%\C@&I3DX;55S=3R^ =2]
M3".]J?,U88U*9EZV0V3B_?3_!H7;2)L6<G.7,"Z\!I:--QN4 '@YJZ?Z0):#
M6HZ8-70HH;M?58@YH^5"%>1K8JMS9'2<F%N<W*OKL=4H%=:<$QM6BLQJ%/8>
M%I;7QSMX8TI6#6]KNAI_E"@MH-UJ3SEM5F9).,9T)]=BM4#K?1;T##R+%HD-
M6$1\3ID-\RQM#_SS=Z.L6?G7QK+=8X[ YS++HHCE?GRCLZ/'D9LI\^HA/%-[
MBH;+:#=)%=4D%*G)5_A1!]'Q?9_W:4V9/M[7OJ^IB@CJ@HU-#0=*ZI6 C.AB
MCYF<2OD?- XU3GEK#JT.2XG^+6ZJZ@J)6ZUQ%G9)AWUTQFYFOOVQA''G(,,^
MK5I3RR;E.VPXB*J;H-[=,:HO::;V%*VJ][FF.":E.3K9_FS4,U-.CO&&>BT0
MM0TF.J^IDWV7W=!EO'+>C)"S%]&X[#J;.G(P0C*UOP!C"WZ\6(4<?.EF,'HQ
M_[1\EZZ!]>P;&QQ3+;[A?!>V\6O!J5SI,U)6.I=VQ]^.UIFTZ)DVZU(Q^PK4
M<?$%?'G_W68^EB7_V#S0+U#)IS"H?HMG^+016^XO5DT"(EUBYI8O8XYTH7[N
MV<HJG(*KVO[CK;_36W^-<H46,8W"@0L%=F=>>PRJ1?\MM'Q?X!=3>_GY],?J
M^,QA3OX1U('4I1#$]*FCU6'FIBM$>?QQI#TNW GMN71QWOTW^^9A@S;14I1T
MM?8;()0ST1Y$LZ>CWG<1CR;#E&:?"SIT21=9DTNO#*@J7>9H3-?G]K))YV,$
M*L+:8Y,]BVP?#4:-K2$X\B1<-X@@,/E.O1ZHI;&X(TO#,519=V*;8J#_DWQH
MIU)9C;'3;N^Y0LGHF%5A5N2NQ4#J[4_>&KH)I=SFKZ+^E\VU\[)U-@>(4B0B
MMC:C3T*SBHV?2\"Z^''-BYCIB[R/MQW5JZ:>88SZ)4[7&R).)<]E*)/S_VW"
MQ9W9"3H6!H'OM/:LD18+=9_\6S5)?*"PLEPCV*VVO<KF*R>0$MFF6=**I^<K
MVMVMVN=P^/5Z_HBO?:P9-.S0/3B'%F MK2 ]O]*+GN*WL=]K^(NL2.]*]">-
MOGI<K;76TM0!68A->SK^DF*.H_X*1$7I\*33:/9X>]4A.V;?E* "[."(=7[8
M;1IC^4'9@%S[I)I>*TY+QEQIVV,FA4A'4,7WL-/O2[4CBE4*["9OUL[18]F5
MMV5DK9HU5]AO<F!LK.;O,;$"D#ZV>MN&_NC[N[!H0UPK5EM9?(@A;7$Q&69Q
M-N@8A^]?CQ<Q[4()HHHD[L$@I/.!DE,=UR@J-NG'MTEK%-HU!DEJP)K,O#(V
MVQ^N2LP@<X ;*$IS'P7WA+K/IWD$Z644L<_*9]_<>+>5O*A@7I,THGZNZE/T
MHD.S]!W+'3H];TD+N]WYWHW! C8^:KEN[@"5DPHQ$=3.H5'Q_JQ:YO&I.6^Z
MJOV(WW:58?OWV:0_=B5(@)C+EP'RVX%W26C *6?M7+ 1 B*C:87>1D9CGNB]
M./V3\=M]N;>K8K@9\T086HZP;QX_$;BM>3H[-?2T%=S6-^Q[]KR,L*K[7R&X
MB)].10SO?65:]6VY)QY$N5.?<.>-+,SN]<:9,G^F!26[XU&='D2N">_QZ44T
M-X,7=[9SVTU>>M-/<L)6F)/+^/'9E$!,P!>0_[R.@^?==C>SQI=F5&4W_#<
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
M,_OE%MJ&5ET1]GQZ^6!VJBYCN<N@= (>CF<\?2H&]2W"K&Z.3FJ3D(;&NDV
M5(OX*_C/#M&.#D=\2<F6QB&68S&'$]O!_.AKNB:VMW(-"EWW=FES+5:-6)]?
M*M(?930P% X')3<:;O->4"[LT_/ ^E"-LJ_T$EO-)VG\]0XY0A"9$T52UL0N
ME_BYZM:5%?S4TU7L7V1ZYNP0W@45SI#R1<)@>Z3MS\:XQ1H=AKBQ=5X<'_^K
M'K\M_2]02P,$%     @ SH)84NZV;U.9&P  PS0! !$   !R9V5N+3(P,C Q
M,C,Q+GAS9.U=;7/C-I+^?E7W'WC^LMFJ:&QY,LG,5&:W9%M*O.NQ'<N39._J
M:@LF(0D)16@!TK9R=?_]NL$7@2+!-W$HSU$?9DR10'>C'[PV&HWO__J\=*U'
M*B3CWH>CX:N3(XMZ-G>8-_]P%/BSP=NCO_[EW__M^_\8#'Z@'A7$IX[UL+8N
M)I?7UJ]G=U?6I2=]XMG4NN!VL*2>;PVLA>^OWA\?/ST]O7)FS)/<#7Q@(%_9
M?'D,WW\.&5IWKU^=P$]X.GTSF- '$1"Q'IR>G ZM_QJ>OG_][OWIF_^V_F?T
M\7\' Y1"V@NZ))9/Q)SZUV1)Y8K8],.1QD_0E<OF6 :Q4NR VLGP]/40"N92
ME&_"Q?*"SDC@^A^._A40E\T8=8XLT(0GWP-EKRI!E2.5^.GU*R[FD.1D>/SK
MQZNIDC<F[3+O]U3JYP?AQNE?'^/G!R)IG/PYDSZB/GSW[MVQ^IHD!4*L@#2+
M,-+3.WZ204_\YCC\N)&B@.ZO5YH0@1S,"5DER6=$/JBDT0>EN,')<)"H[KW-
M \\7Z[0@DMJOYOSQ./J8ERT0 @ QY8N^YF1T*,O/ Q]RDM-G>Y&?'K_D9/ (
MLV5^#O4)L@R_2V>1S,[/ !]R.( N_?6*REPMJR\YF:2_$@8F\ 6%>KNMIY6@
M-K9U(_COCHFP!7<I2&#[ _J\<HE'?"[6$_B=*(1[7K#,)^+XXA@E/H9$ TA%
M!;.3?.69TAFD\+,J@9=YVA"^28?))ST;=CS$\[A/L ]3OU8KYLTX/F(K?(]J
MN(=L%CY\NKLL[C^4TLXY=+JW9 Y-DH&2-S\3H@Z%GI,IED/H3J";U#I8E=["
M#-\?;Z>."022.C?>7]0SP"DAIRH!MMDH5Y0D+\>&8+7T-G'MP#4S.$YI:C?5
MX8#"'*R>9\3%?FVZH-27L2I-GPVJ/05]3D$U--;MS?7TYNKR8G0_OK#.1E>C
MZ_.Q-?UQ/+Z?'I2=:/.60"?K+ZC/0)@2S:?3&F!X71T&ZZL4Q3_W&Y9$:?)F
M=LZ74,P%]21[I)>0:4FSV)1E, #T31% TWOX\W%\#>#<3.#3Q]N[\8_CZ^GE
MSV/K\AI^CP\@Q3J?^MS^?<%=!V;!XW\%S%\78Y23W@#1F^H03>]OSO_^X\W5
MQ?AN^B=K_-.GR_M_'" RJ[RDOZN3V0#>M[N!=^@4C7T<D8N)RY]R)@CYR0P
M?5>C QQ-?[0F5S>_]'S*D*O?&DW)D,< T-LF !W:S8V8$X_]H5B-/.>:^(&@
M-[.S0#*/RJC5E"4R0/(.URU,VBZ7D!Y^Z'0LXCE62,GB,RNFU3\$IL%R2<0:
MA@XV]]@,ZJ'GCVQE &'>_!9:ALUH!$3%M/EX#$^V\8C(H?XU@M:&HA63[!\L
M(QM&;ZE$BY2?>F-0\7!;Q7JF_BGQBA(9U]WHV:"XTVW%A<G[I[([^DB]@-Y1
MF\]#"4/UY;PWJ/+UMBJCK):6MW]Z/1?48?X5ETF%3+TQZ/*;;5V&F:PP5_^T
M^ /GSA-S79@%7$*1O#E[<.D(=!%;X(H2&'3\9EO',0TU1=A0L4(R_5.ZR;9V
M07W"2NQO41J#ZK_-5&^-C!71L10A*Z34/^V'AK%[\ASW&_H+@UZ_V]9KF,=2
MF?JG0I/1J[)Q:_@V,W75LO[)"C/W3['G?+EDOEHO0X<+C1<G[9 H63 4)3"H
M.K-JTVBH'CE%I8\Z]QZI\'%$FE*/<7'-_8VZ<[_E:_HTLQ[3LEMA?DL1Z)^2
M80D:+)$5D/875.1L5> 4+%Z854ML@"%GS9;0LQ1!*T4Q[LR_0J(]-!F-ERN7
MKRD]HQ[(Z-_")"$"(O>+0>N9!5^<V8IR6RI[_]1[1U7-NR7"7]\+4 &Q-2.$
M\:M!S3F+P;!B*PJ63J)_JIY2E]J@C)\"4 85[GK"/)CQ,N)>$)]\\D@ :SUT
M#U.3E8J)#4!D5I(Q/2LA:"44+21I?940[6$O4\W4V<0\6F(F/<VL1ZN;2:VO
MXJ<#8@;MWQ.8W=3"*\IA0"NSA*V#5DBZAUCI9FD=D9SW!KUGEKAZUAYK-K1;
MZSI-O3%H,[.^#3/U6(]9>[>N4^-7@WXSB]H<FWB/E:V;PG4UY[S/5_#K[%I6
M-Y3W6+4%!G%=T^7)#(K/K%Z+K><]1J+81)ZJ]E52&O#(K&M+3>H]AD0SI>OZ
MS[XV*#NSNM7M[#W6:]:PGIIVF[X:M)Q=NN88WWNL[7RK[U:'8DYAT'IF&6JR
M#O=8\Q4MO^D53ITL!FPRB\Y:)N,> U;1B);JK6IE,0"66:W6LK[U&;!*)IJ1
MXRCIB7OIS;A8*LET]X3=R1B S6X,1^:?FW+S#Z2V-BPMC:?U5<BUCX#;"^H$
M+@W]K_$?CN^/Q(WVD.^H] 7#IH/?4A@WR6F -;->CXFC60^S?ZW^MS0.:KVS
MX1%^[R^.8^FS)8Y'GR2=!>X5FP$PX1I0!ZT\63Y"WV06_ DE*R1E(2V$*UYX
M]A8*M#'!P.(RQ>QF=D8DLZ%!7# WP#,/"P*%'2VQ?TIATR"? :R,D2!-6CG@
M(W'5AB+R5DC?BACT&+]D\+H5W EL/[(=RK-U] +XT]S1KD(& V(9,X*VK1$1
MB6V8$F-RQ.^0<H^ANJ7"QK+,H1>+U'.V_H'RN2"K!30>08D.5/7D!I@R!H@-
M140JMC(#0!NJ%I+M,4;WW"=N."@485.>S(!)QERA*,7#T $*?;.*>_,K6)\Z
MY7!42VJ )&/+0&J6(G? I5HW-A%\J2UHS@/I\R45LJ0[*\EFP"MCW\COUF9
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
MBW6-)?7O-N(BW4.N'FS48AYP(^_-5(I+*'(;75D_[,$TO7B,DIR?-/V <?S
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
MX7B@&C6.^,ONF!?YT_\!4$L#!!0    ( ,Z"6%)&(ZGZO)D  "$="@ 5
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
M#T659\$(T%'=J%>6-QDM& +Y('@Q>&36MU_5=8258P&L(ZU*N_*S5 SZDN/
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
M2:/Y(LS_%&PTND,I9@]+B'!V'T-$_F0*'Q*\)E?X6>D.I5BQ,NT,Y:$K3"Y
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
M@KA2HWD"U.XD#>7,=R::P[;1#-Z.[%_@!0_3\:0FYC-1*)B\QX$W6&U/6HB
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
M$ ^35657UE]U7,)V];4JJ>KPDM7-<*@&^C"EJ_J9P&8%DB**=C)M9@Y&O>'
M4?G-CM>&+4X(5@V&&VM?/7W?RWJR34$RK"Y5]3'V AV8 F&NK8Y?WSD [_QS
MER?T)SM,(=]+DD[(9$W1#EN^??OVEYR\)C' C++\]2]1MOB5\>4YFI-)10-;
M=-_:W[O2R:[6\HF489S\[,5!M)&#\1'T+L'!R<4%1@,:=OJS&IZ"7M'\!QF]
M/3<?"+<IM"D?^1^#  0EQ5;/YP^K'5'&.JK'INF&:"5Z,Y2"$L78)JZV&5L#
MP8W M!*7 (Z@'A7.1[<'[<"LWOW!UI.*C['QO#6;4.]YM?](VZ,77.WL4IFY
M+LIX0>WJ+P695LE=/*7MK(N"E 6.YO*89Z\D+Y>T]4()7*1\>Z6GFX[RHAX<
MG(Z&%QCI0>]:HY!(I6:C.07#.'3CB9?J/ ;L%Z@]I@B/6R$2@M1*'=,87?,)
M,:>]N6"YZ\,$LC>:D1BQ3E:2QN@:,G9))!/9&$J7 ]4;_:HKZ?H2*^]2S,KZ
M10A%"JLXF8 5I@R3[S[( .'V/S/YNOB"$T 27$!!N&!-PH+,LV1RNWC-L[>Z
M=(-24))1-4147T)[J>G@$R2D(+2A6\-3-Y_;?;*&@NI':"\J$2:!U]O"Y9*;
M*@<^53FYB;_3/ZC_NK[>LD>+_.:)X30U,)04A?;":@68+TFCY#Y1AY9L\5J5
M)/^/,)]\"W/:O? YFY;TKSH2U!Q> T%-\FHI.5.@?(EU=+M2OP4,(_?X#3T^
M*('!WM'M1[-^)8QFS!O'A^P3L'B/8 &3.VJVUH3)V"91<VZK#)M>1SW5/H??
MXT6UD/)]YYF:?I1$,]&Z/>0WGV(!I]N[#/0X#8Q2<GK[F=I3BF(Q&G":2[&
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
M#7<,G1F!-6<7.-<D'>P?1HC]";\;F'];2QTV2%KN0L>SVFSBX+PW[.$VT>S
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
M4WX1I];B<PD4+9B?2EUA\?#A.CB"H$!O2%$6K]MYL*;7S;TG:74Z">OXGX:
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
MO:&?UIX>GS^VM3?PS=H3G[=2#-Y4@6=E$<;IY Y>84EI;CHE<,:WJ(E8NNU
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
M\94Y<TQS\;3O1=U&(3OJ1.$@*FCM9:!/W3@A.IEVRXPY;F26JB5&^.U?8(:
MWR!38^R(-M8<Z&\:MJJ[="O/;9K"9.__#L"X&]MW7DP40!#6^ULZ[5E'BPCL
M/0$"<ZTD"N(09K=%1<+P^AOT:+CE7D6ZD&SL9]_?W&1%]H_H=[PNUUJZ=YZ!
MM8_%GZT<J$V:%;(B!/<WF]@1#!09"=Y^!H1F,3'8$MR4%2&8(Q#TK69?O;O(
MJU^:2"NPH528]CU@@K&"9[^-LP5 1(L,,99[,AJK6BF?!U!$%@_K^F(6I".V
M#AQ0.+WDG6F)>_NF4Y=QDV<(K=M*(C(6P6H\"^L]:\Z\9F*H58,@<-'0W8TZ
M*D/E/?R*88?:>0X0TP2P>MR1%(!<=%OWY-_*,2_)!ZQD<;.*DJMH+8Q+(\7/
M :5<M:TU*N[HD^J,/YP^[I]D2(6R6;./+=/>WJ[I.^(EJGVN]^E-F<V7()_-
MYFWW(NR#O!4(R*:\PJMDR48X'=W?G9U2Q%IZ<\52[!T QY)8Z%O5ED2XZ-;N
M1LNW(B^R>%Z(127J3]!,?GOWTZAI[7NSDPE+<A.7MBW("*<[^QLLPV%_^['9
MT>C@X'#PQWTE)!==T-TJQGBNVAN8%1*N HI:;O5JV!,_G';C_101RNFTKT:,
MATL7==2V]D=8<2\2F7 ?OP@ID/YP:7RQ1L%:+0\9Z(K#H3T:%_V]NSN2[N-B
M):X?+Y)%_!(O2FTW,N6SL#PSUN'M'P"@ >6B ;=#S?P9%\M;L:I./ODR?KY/
M#;$Q';X"AUFN+HH&95AHS@::B];< ]0I]Q;F0[G&LL(N;"<_$_C6KRPN!-[M
M0_W@;'+ XN7H/%44NQH"RM $V^-!;U/NQW 3VGH*H-(X=#W>@AIP$'TP&",V
MHAG/W3O/ 0CNRT^#4BWSVV(CW#.8!3ISS[U9]%6"<2,(I\)799S*HF2^%/>_
M4J.-KL578&5FJ9*EF1JM7"DX)D2IX=2KVA+].L%C3CM\!0A@-;H[5.H>)D2I
M7%6B;K)X;DP0K1Z:G4Q9CG6.<S>WL""J<%$\:<M%)@L0U[]Z([)*!.PDK7UI
M=C(9*/VVV!!U,,2O; E;5^ZH1-;52T;> & #+WVB!89HC"$\A"R]U<9C[/HW
M8:,8>(%%8FJ0.IX<%7/>%[3%]S*#$T.=#EU/E2W3^'N9"FW1]=8?@VDX]/(?
M'3$C0X#!$K.U0GZ+GF,8Q+7PMR*'T2]D:OQY60 ?;YT([+81NV]5SI71P*L5
M=4>-C(*W/==?9Y/&XG;V6_Y1\+1]M5I^3U>5!+%L6KM?SD$NO?FE1?M7Q[\T
MFX13)ZKU11:$9VUN1:*+-K?>FH!PNJK Y7M12G> &V:,_7XI?@\XI0D$T'8
M]CF4Z%AS6.*$P:-0=TI_SZJZW, V>'PT;P$IC.50?.A;.<",C 33AP61U.C7
MT+X'&(GL1M8^)J,&6BEN&U8P?4W(5!>*BXI*AR87%H>S0ZS@FT]_B$1DT>HT
M69PNUD!Z7F21C&S;G.QSL[NCS7> "]:$$HO)ANS?[5$&TR=#7C"!IR5(_5V\
MB%7Z7.4OUR+;Y!&8W@:\K+[)SEJUQA9,YUIY&+A^O(M6%C.S\2Q@874W=M83
M@L11MP5/9?HF(QHC9ICG4I0!1[T'R O/38C2:;H5]JNH:S+<E-A5F7T?_'*?
M^GH0;2SL-_)IG#W+BW@-J^I^I>73/"_7M6.!QT3;N8ZTC56V_\=!DPQ[>&>Y
MW^ME;^E5'E9D7N._4AG]NX)!>@L#85-_BX*\UD+,)D>LY6!<#9,V-F(Z'L.Q
M.[L$?AOG_W.>"=GT660B+QC&L$8$8)XU36U (]C(8C"&YX^3</=D='M?2<_?
M /W1.-VT_A'B<>>6'(=ND-9&<5\WR$.:C;3C#=*-VLRWQD-W)G /MQHB2UBW
M6^-APZ2BEMB15=H'O4%>&NUX-ET:^]N&'1>#GQP&9;(B6' 4>*ELO01ES2=4
MY1-:EHRO>$.(W1:5JCTN#;7<*TT7CDU+C*?$^/8%XR='+,'@RF':9%DA*UD_
M4Z*"\9-#%L^K+<%-63]!ATV=C>>[3-T7R4+>D'W;Z;9_&T9SV(7_PC%NX/0%
MUG3SP0SXH0W@>Y&M=6T*Z7X4Z&5I2>AQ=!+R%DY'37HC8[U#LUJ+:Q& >M8
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
M@\R6+@L]ELID^2: /:*9+<JDI;YJ:(?*88:2)W,83/M%.2^NLSN1O<1S7?Z
MZM'9X60\(6IE8&40::F?AHE+"XJJJG4;S>2GR6(C6ZXU2:+/UW"X3!I&DE&=
M:)"PYMFX5@RW>8) 0R9;1+"5FD>'C.F7?=8R',UPRBZ/PTJT/+3)_ANCJU&(
M99?'[(M-+ZI#++M\)8J/SHB:N\G.<_49GL5NYNI>HL833@K-690E<&O*;T1V
MMXPR<?J05R8)C8JP5VIT+%5;76G+""V<=)I]4;]&>3QOH;7J^1H7T7YBV8[=
M1+F=IG;AA),WLR_G]WA5%D+G.T#>J+&Q6#X=JVH?D"&91N%%^ _Y.P]1+O[S
M_P!02P,$%     @ SH)84A!ZX'5$M@  (#0+ !4   !R9V5N+3(P,C Q,C,Q
M7VQA8BYX;6S<O7MSY#B2)_C_F=UWP/7N[6:915959D_W3/?L[)JDE&IDJY2T
MDK)K9\O6QB@2(;&+04:3#&6J[^Z['QXD@R3>?,"A,IN>4DJ TQWXN0-P.-S_
MRW_[MLO0"RZKM,C_Y7<?OO_Q=PCG<9&D^=.__.Y0;]__T^_^VW_]/_^/__)_
MO7__$\YQ&=4X08^OZ-/%Y37ZGZ=W5^@RK^HHCS'Z5,2''<YK]!X]U_7^SS_\
M\/7KU^^3;9I717:HR0>J[^-B]P/Y^U_X!]'=[[__D?R3_/3Q#^\O\&-YB,K7
M]Q]__/@!_?+AXY]__Z<_?_S#_T;_S\GG_^_]>\I%EN:_/D851H3KO/J7W_6^
M\^VQS+XORJ<?/O[XX^]_:!O^CK?\\[<J';3^^ONV[8<?_N?GJ_OX&>^B]VDC
M2M>+DI'U^_"G/_WI!_97TK1*_URQ_E=%'-5L'(U\(64+^J_W;;/W]%?O/WQ\
M__L/WW^KDM_1,2B+#-_A+6*?_W/]NL?_\KLJW>TSRC;[W7.)MW(>LK+\@?;_
M(<=/="8I_3]1^A_^2.G_A^;75]$CSGZ':,LO=Y=*<?XTH-5T^L$3C[>X3(OD
M/)_&[+BW7Z[OZZBL9_#=[^^+\X>BCK))//=[^N+V&D\;WV,_;^-*3"&>-JZ]
MGDMR6XN<.@_F8!0S^O,5^?Z ,_RMQGF"DY8WVE-C.1EA9G$9R2(>$,NHZ2U*
M4<Z*$&.$*AQ__U2\_)#@E!#\^"/]@:XT/[[_\4-C7O\#^=6_GQ5D-3QYK.HR
MBNN6'I. ?>7?)6V.0@YX*G%5',H8.PG(AVWXU>A1]E6R1)$6=)G&^?LO][_[
MK^SOZ)>VQ?_^+YQ:Q]Q).1RSJ(S;+Y$?#=PU+7Z("[(^[NOW T:W9;%3CD[S
MR4(IR _K3N@)V9,D=%]RD45/B@D=M?$TH6/.QA/:_1W1!E#3*1V__G1*!V^U
MZ6QWF1=I%4?9O^&HO""_J103JVSM:8K5W(XGN]L]\Z:(MD6L,=3$&T:Z#P'#
M,'L" ]\<V<-AT!X$$$..39#@K4,"A63$U;"0#/=JP#C/Z[1^/2/?+J/LDFPS
MOOUW_*H A:*M)T"H.!V#@;=#34/$6B+2% H(VA'N@T [O.MMXPYE.3!(Y*SW
MB>R:53LZ97-?FSLUO\(^CS<=+!2D-:+-P?9\AN$>;/\,8[WZ:M$=_C6 4+3U
MO$J,.56N$,W2  T#[0C+5@;I\*X.@ ="US#OO(GGZ6[X4LXR_3OTU/;'3C:C
M_8%;>WGGAN0.[XNR3O.G^SJJE5L_?1>_B[V*;]6:WQC\K@/B/8"7?NWH2W8
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
ME[2%*<RLW%R>]:HQK[=C=ZW ;,5N("66]9MB)0+\ ?8DC@^[0T;#KU5968Q
M=J#A$> NDHV1=')S=JG,H :J![.D.O9%QM1.D KD#,JQ8CDCTJ/")0ESHT79
M;90FE_E9M$_K*#,KF;Z?3\4R2"# KFN/:(?W:8Z:+M"ZM)@@H,IB RA!06S0
MY#-'44VV:SAI[SC-5P>*#EXS#2EX%K/J\(:HNRZ'=GY:L]Y?,=K&/[S[A+=I
M+*D-X#=/D XQ8BH@'5Q\&O\V:5WU4"ATD%WN/T853NBJ198LYBJ^P^2 4Z4U
M;B[W;G&9%LD=CHLG?BWSER@[Z%X7K_]IKTO0ZN,H&O_NDW0S.%H+T'$MV/!(
MF/?LTZC_[0WJOM[=,?/OHQX#4$8!8$S9R:<9J+A',(0T,KY455R9_>BI1Z^W
MP_,QV =B-F^*>)M-_ZW%\G>$;.;.<^.+:!N&3Z.,WC&B=VG[P'+YU R<X?LZ
M*FM/+'MUN=L^L@K@&14SJ9=5=<#)IT-)6.!6@*E^&PH[-!O:>R=W8EXOHR;(
M*EV#$*>".)EF4=X@1DFWGC=)K"^*<HO3^E"N43/:[F)K@9$X_X;+.*TPE:AB
MHU+L>9E#&J=#TTW1L>G^>""+"FCAC.E0%Z_'IN(\*$>M*GWVA"SYJWPM+.?O
MA-&:Y5!5Y<KWFQM_*2?S J/W$%P6_!5U;(*'>JJ"@;@S[C"3Y:$@C- LRS3B
MAAA2PK_SKF,651@GQ 3II>>*9I-Q&[VR"*V3DLSW$^9&X1..2TS^C+9%R6IU
M]CZ$;AZS]"E:UGW@EIQIV=&@\GWMR4=,1&\#0O.VEFE,S6X@>Y$%-$'C")BJ
M!F$Y-D<A&C?;LR)_P66=/F;8D")N&?*!.2@MQF.&$U((Z2%ZT_O .BGI+*_=
M5AF;1N"X+_"/W__^'__P?Z,*YVE!:X,=Q<^+NDGY2-O5XDXK-%^CK?9,\2?:
MJDX8;@S.'*T\?+/]0@W_1 ^&A$X@S@N9A!/\%D<R%.-?9&NDK\N%N=+2KLPE
M2 1ID\6Q :";(9K)L5%NZ'K4DW#KXHY0@A9<-[GS\QI_97^:H)0" 7AM%&5R
M4</VJH#TYRW"\@Z:A;LMBQCCI.)UD%*%#G:K:-<@+BJR00G%>^\$5TM=5& 5
M7 F9C9BA@^/^\"HH2#1A(0Q4 8VBS=*_ '5.CDZ7Y2\\C>.68*FK-3TU>&TT
M2#ME=7RSMVN.8S'E>NU-K*&+W+79 #\075_@_*DD%(J&SSV!MLH=_A'47EZ7
M,^B;4-RY!U(#BFW4M7PB@TN5\,/'1@7I;ZR<5G>8)A0@OR?KPP37\DK?\:#
M:XV0SMG\(#J;+X_/.+H/T;5:]#S?0'N>?8W8<1R(B<!C?S3;Q(_L!+0'>E5M
M:\U(^*J6%/%AUV9E^8VJW/=]?/F._J7L$T;G!P=,(^<]AMA97N=P@";E.R./
ML\1;5(#3P6F9L9@2#!#,!FP&_.7AQ=.P#WYV8NZ;DY@_4:#'WHG.R2$)^/.2
M3*X)+LH^A:"\'#;RB2>CJM'%_:&D?ZIIM$+]C%%T)!3@L4B)41<7I0R@X-K'
M3<<\]9/1@-<_J6137!7!:J"5A)-4<!/,*NF*6B</!:Q&GAZJ-,=5GPM#NC=E
M#X_:IN9:>*S5M.PK$&B6MU58]ZD-!L2,L6^ "RS2Z8\EQL84;Q9]@=$_EL0&
M3,VJ0KH!)X+S*!"TID@19Z,S4KB%%4+=6^;:!?^,WO5K%&L>V<!"IC7RS\G7
MT-L=;E"WDSJ315','@;'_,\+CXIE1$DXD21+:,6D% L&E?!G%ZCO]C*OZI)Y
MJ"]S8N]Q5=]%-69971.RTXTIH)YTV5]<B'C4>2?9A!(^]"KEV)MH;M,?40)4
MK=G#S",-J)OG65+>*]XNP.PC9HERS=]<I.TTE:0'I&UQUZRQ)7%7*RB[83AR
MRAJ#V0'%:6VD[Z!GS 49AD.\[E"I!@04@J^CG?D8J>X"AN8!W\8UC+8&/BNN
MQCX<TD7LZ/$N F=&,-/_PF5Q6Y!5[X$TP_>TTM%%^H*/:T/OIIZO]FRA_'3
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
MT]E-VPLB:[+5COZ8/MGN# :2G-A^[VXQ": XLK'?^FZP2-)9+064P/?7D\4
MKWUF1(\%_ 'M* ^CMS"=XX8>,2[P.(9#\SXF#(LH']$Q"N3#Z3GUYG.1)40[
M.2_718W=C* ##=]).RTEDV;T;/K^Y_;9%>T>EK5<6D3PI)\N0)1F!'5!H<>[
MNV*W2VN>1SM/Z$USFC_AG$8%.VU;'>GXO,ESE% \177]F6=L0"&\W>ZD"14N
MR*;,9F"@M;IX=B04&FSUIW];W((O%NO*&KPVFN^K)\'4;V8,I]5"U<%SI@LK
M^\\R6@1GYO5#+DO@$(+AOBKRIP=<[B@_5K')\O8^0Y(5' NQNZ3=>V+L=HCA
M!=ZFVC)^UDOZ?8_SM"C9:0(V#%D'$R'Z6(<1KWN2?8F?<5ZE+Y@[4.@X6NY"
M#%W][CM,<DA6WV,7U#B^WM'PJN_XR11>&R9(=1+'A]V!ISSF,2H:.8'W&%;(
MD^PJK&#G3X=NBZK&NWU6O-*]SBG.\3:U*E]FZNA1?XPR"#FW!QU0VR.0?8;=
ME(RA93<??HTSP3DOFIHGYXPUC!O&:,9TJRMQ-S*>C;:#?#(#WG9GYZ>60(M&
M5M\@A#?^,P65RP5MO%V1*3/DKK#T^1J+K:&W45F_LCR.M!QAD=N8=7-7KZ^O
MC'*(3Y+X]H'U0?U.@5AWV[D1'R?930P\RMS\@4Y4 L">G7=, \.@W(!K21FB
MACEX_R: TI_>_8\#80N7V6OO)4U7G][))^A,R:/^N4LY1F='8? FK*,1GH-Q
MXL2.P3MQ5@,!L,V:84L@%+CJ;*@)I?!KQ&31[G&&8[H^R&3\%-41>O<ECPX)
MK50!ZLYQ Z23OD&Z1Z/JF=Y=T0K!?SND+U%&;[/N,%'[E$Z+_.\L0=FK[D0^
MBZS/$_H\^843.ZV9S&XZ6<GN8X\-.M)$FE:<,OJE^2^X7J\P/AO+P?D<E;_B
M.N(7(/&A3&OH2^,%=$7P$2R@*#[]=:RT(,_\>9=6O_(7V_0GK7M.T\NK-T['
MO>0"[M@:T48$N/R=/?]'<*HZ73R6&[TG'-._?L[--KT)L$_.B#[1!6>$GL=$
MBE&55C?;6X* M@084>W9V6SGD?69='&>_$(J1DJ. K=/4$!NF#EQUQJ*?8\@
M: ['!: N9'9< .=SJF7&<7G R54:/:89VXMPPZ]34=N.WBIB6L@@N6^G?5"O
M$_R:MZ0T<,4L;1$U+%_I%4YV!2N7F8CCEDJ!*X]OFZ(RI[4R;W')RH"85=VZ
MI\_73T8IA(O8I@<B77@UH/#VN4M(!?K*RPY;PK,O.V!Y? >&GW@9^WU1=HON
MJ[VF6/;W^?[+4B+1A\GZH:YC>$JSF&B@#[Y<$"<\]G*!VXQ](CU;TN< 7XA(
M91VE><U*V9Z3_]*?VOSDEIO'J=1\[2@G2RM<$U-"[/0V((72'+7$NE(Y\&KE
M17:PC>D\" ]VJP'@UVH+&R2.O:?F[N5HME_'+?KZ3\:ME<0B175X*_A"@@60
M>]N,,D72;3/$/,;$E\6>J/<K#>.L:73GWP[IGIH9>\6Q)^$S3MY>+B%BONFZ
M8>&[-8]8;KN'IU +2OJ?HMW^GX^R@CX,<,2E\$3 $93^-.XB2LN_1-D!?\81
MC4TZ,F6O<@XT/.J<BV1C*-*^B'5&O=[A:=OR,D)JF3,6QVKF#$2/>E:4.'W*
MSPYEB?-X&$>>)^R?&;\U=M"[Z31]ZN$,R07,<EJH)3:,[Z9+8Y]>>.JZXE"
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
M*!;*4D^#,$S\*:N?]'><7"8T]^@V;2/_&?/$S-"LB,>"O.1OQ+1->8BXT)>
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
M-ALL1SH^H^4=)12>R#=P[0AL.)I1CP;;S@20AS<,6;W&^4_!KQ"_/P6\,YT
MYO,_Q-%??Y"&<2'9,0=ZK#><Z*$V;@*NS0$@ZBZ0)EL=]B%8K$ "/DQ#;S1!
M$\(\5-:&;3RNB_SL4)8TF>NW.#O01[6?TNT6EW3K\8VW45HC!PK>K)6+5(+!
MX-M1TAO%O#OJ^J.6 "(4FHTKA,&;(]]50>2@67H3A0#^K*,S^(;6$P9Y=J[2
M.3/T\(Q1M*-5Q^GQB&490'F1OV_A&'&$X@Z5"28T*2IK@DK^5^?LB^L]V&VB
M($]?/T=_+<K>Z\;.H#4&;M+S7&?JP(]QW4=#F9>+@*,-MWU\18S>\07NAO[N
MN/*U1$,INAO\@$ _2)ZH-3;/CR>J#$0H?L/J@%$;EX,U!9 P>Y-4BJ#ZS0C2
M 3@5_,H$\T+ "H/J]P!6 )RQA?^<9EE*]!;?IT\[=5"4IJVO;;F"4S$7?-,,
ML7:0G@57CEDSL/VT#@F#G?/J,+#:(T^# ]3&-LIH_CBFRM?87$E5T=[GYE/!
ML>K%UBG.X^==5*KO2#WM$2WY9NW:_1[H[DT'#6$_IL.%SXKB%5F"JNJLV#VF
M.5-3FR=@^FY>JXUK^1=KC_/FJ-\^$&^@S52(A<G-\P!QZ&_Y.HG_=D@KEH:-
M'"MZ_[(_X=N2 CG.6\NI.ZIVH.Q38:?4WB]".:_#2PQS('=#M/KT[09G_PM!
MCQ.;\[6^&\!"H.!?N1 ,  =^C%Y;"HCU3(<HU7JF@Q/HYJC'V!W.:$S.65%)
M+\6F$('=.*EEL]E&;08@; @@1@%6ER D!-XW&E!JL8LT0!14!VE$7)I@'O/Z
M4$9YQ6^]/KAIH88,K![JY+/#Z8 "ZI$(1A,GR1CW98P',M9KRFB3WGVFC!=1
M6J*7*#NP_7&.N\O=B"JB1"I@"V/400L;8U3 (*T,K7=<OU[F!/F86,3+JCK@
MY"1/Z ^&0^VB7PG31EF,SDP3MD'\&ZC[".)?87E]VN] /7Q:=ZC^TAJ(MMX#
MJ]>2LI[!F_8)\C8S/3#U;\00VIJ)&7;2UD: FE$:(?V4IW_'R65"BY5L4\H:
M#WDZ:=8VPO,5^76:\8I8A/T=:9[7! IIUYB])GUXCO*?BB+YFF8"*O7SM"8?
ML*9XU1&V,]9'%E"?A_9%3\L%L] ]/E##R 8=66GZ;)H'V35A![7\+&[B]@4]
MXKQ,L7)>1WVX.VRWA(A5.,$H8S&<Z7$(HW7B4:<O@3 0'1P7C,,#O(ZL;R<M
M5IKUC23H6G1;%A<T):>8F?-FVXB'[U,R@SWOQZ>H)O^L#Y'C>C/W6[!KRNR1
MLELWR&<0^P[J?6C3Q6[2-Z'-QU!%OS9PP-'O49<<_6(PF]_U!BXZ=MB@$C[:
M837]LK!3RRB7/UO4VLX+MF"S-Q<CBWF'R1:?\,9.>!I+XTS)HQUQEU)X<M/N
M;#B)]WQG,]X<LL*KC YBA* V.O/E'4MF$,RG>D^$[%AY)^(5]-Z[:LW+-:XO
M<[*+Q%=%Y7@)KJ(!>R.NE,SF8KF_7)/^B!- [RB)[Z /&[.$["VM%:U"P!85
MYH3/2,]@(@&L!:.SD[(&(6P0K#7+(AA KU8S@N>7/ P]#(Y"$KNQ^A=]!?*O
M.FJ>7$\/0\<3P.,"KZ,X="6-?"*@MXV>]'#P .*-**'5,XK?N#*";@EI\$MW
MM$SXFRYV$Q/%[9\=-XAV%&&WBY92VVT>>QU#B J;+V9?H#B4(+")F+78>KD
M-LC C9[!(5M'FD(A62960THXS/ ,^1C,CLCHV_*6+O2)</G1Z-TGT9 $^CZ>
M9N'01B<$%X5A)_.9I7B!!E]H5'U&O(5&SY<]>=[C?42^CK/7XX:J9VJK>US7
M&2LC<[.]+3'^EE9TMB[SEX)6AG<X<<[^$N!)<_XHV=@]=/Q,?WO;_Q Z?@G=
M;%'O6ZC]6!BG2D\C5AV'@QPQ][WA2-<:#IM" %X&Y%XI>W:T'B&=KA>R-:93
M=4B&9NII>D7UB9W4QSGU@?W24YU%U?,GS *CZ%7->470]?4DCFD6,H>%Q4 '
M<-DP26CW9)P201T58N<1IX,:0F$8_,FRQGU98RIKTLF:Y@AS62.YK)#FS J_
M)F/E#[Q339&?B05*L2+?DC?GD<'F_*0DYO>)V<KJ[)G^>)F?L(2)-UM%EW83
M_^K^6FP%#L"]!&N,JK4[H3UB#CT+_<^39HP!BLV3+A.FJNO1$?&ZN/U-,(NV
M)5_YZ9 F41X+43I!C/6G?@;03#4:\,?VU;39[GR_FBK[+'&UVV.R]Z1\G'^C
M/^(NN2SWU=+8VY,\N<?E"]DUWA>9SM\YC9S7LEB3Y!4]6T<RJ*&SZ25VIJ2H
MC:'$V#U50PY1>K"EJ*;/MUBD:OID@][#W>*2ECN*GO#-]B\%/UTUSY_:FPFW
M:S@K@K"W<'8R6T9P=;0HQCFUWD/*$\7U/]C5W$S9!S'3+T5SB.8$@GI9/0WB
M%K=V#OA>UI$P6"<O\P3O\G2;QMSDL%.&@S?!AAB@2\%*5BO7Z7 G/"+5N!C"
M<"W,DWF@F&,QL51,2*^"/9A-K@7/2)[J7X!#M+_MQ6WTRG.;%XTE;/G'U4^E
M/N#;W-7CEL%"#F$33!T_ =Q;K\*ZS_7;%D/CE=H60/ZT0?U HVKK V01V5I\
M2W6*X43%HXZX22?$S/+72%?2UTA5K\0$I8%^H52 \@?"R^E3^R9@=JR($P ;
MA$X>6;N.=OA3L8M287VW&RDYI3!T4R&E&VXW ]120N@73BH\)?4M<"#:JD.S
M@\;JH.Q/:_F[I'NRYV:^Y*N"[W4-*Z>VET=MU',O/F!E;P"[YJAM#[H*KBN#
M3YVQP-)8/RR !*X+QO7*T ]>'Y2F68,FT$5G?3D"T O]RF$%*I^%=S-"\^DG
MG).#;':2)R?)CJQMM'@#S4G5W,M4Y@HS;G2\ENAUDU ,IF3]-ZBAP.[CAC3:
M*[P*NEC-4J(^]42-!C1@0QH !/1;BGF",HKUF2=HHL^( 6D0P^GK _FR87MJ
MT==K+(!9$LV3EJ%/^O$5T6Z@.U:/ OF-6;!$G!B@8 DW<.VA#!FWLQ9]X;5G
M((DUV#C20+>V_N0)0'=$O%GJC@@VCX[,*"U9?J?35^:IL;I*4/?QZ9S4<"YD
M+V,IO()QCIO&7'"LF08< "^-7P]'U:'$R0U-:'$H2X+NTZA*JR]Y\5CA\H7F
MF+C,]X>:OLO)XS1+F]7B*(?90[[:)R'0NORX:<$>@+E<&S)*;5D)+_Z4K4W1
M:W0TC!MZ!+; XQB.;8/UW "6Z0?F<^I3:^1S/\:Z?.+](?2ZR,M6JTZ2OQZJ
MFOKO#/L'72>/R-7R+B3NZS5&Q]8![";,4S &C7G\H0%DW!/HNX&#2+DV*V$4
MP#IM,Q5V4():+Q]*PL!%49[B'&_3^F9[OMMGQ2NV<-6;NWH$E84<8LHKT@5M
MBQ(UG>@K@JX;L M^@CQ="TB-L,736"MLP30CKI\&6PZ<"-TKH3M<U64:T[J0
MI(T$\H[]?47O.T@DC3P=.HN.S\:.O5EJ ( 8_;F2@<?43D+<(-X>!&Y6(?:+
M3@["'>S*(^SH8_YP'NQ/SCQ*Q25_H+7-7J*,QDAKUM.U/_Q&"WM)Q]!3!E<&
M5_K7WM>#28JW[HAVHK.\&E@M_ULM-:76S35K2ZD5,Y!\[W9[H36_^!;SO1L7
M/NESLIGV:?5]VL1$=.N-XMUPAQ#2J\J%%6ZUQ.[0FT>O>#EFV1GM+3?'NI-1
MC>IGW'_$BY*HQBNFI9LL[\V>;9KSIRL<5?@N?7HF!^4O%>_JPU0;&'B+EMLT
MIEX,><<$8EP@Q@9-OTH8X43>O&UW'>?CD&1L2$HV)$23#U53X.,W8?VM5'JU
MQ<"?/GM?&]Z(7H>_S'1IP:Z+_(SF"7=*G;HF$V]_N9&/+0@T.U;0-4UTP9GY
MC:TZ=L,]7GFZQ(,;E!7YT_L:E[O?X-JCT7-/Z\_:2@Z\!H6N[+\%?SN7A+>\
M+?$^2I/FH0IIS^JXGZCJ& +S\U:]\PXC[LMISUGJ\@<T7+6/ZUA'QAA(D<30
M)J$='=P^/:3#4[#AB9N!C*3#]&;]_JXV8M7K %<#\1NPRX0*3ED,,8@9'GS^
MMV!UA^,)9&1[3/S&[*E^>)LJ!14JNV:_24,I45IO=E&BL6_:#/;_T,#G-GJE
M-/S:0QT?;]LP:D?8LX7L_7&#.G/1L+.<K?P3'^P</T4U3@"LI=.8=^.PEX_#
M&[>99@WW8#S-ZAV(OUG*;WD8U*CTX7*VX^,M>ITM1WA17]2)PA<EL8NHX:;_
M.]^6,90Q;X<BT J+7I1\-7^S=PWW[G)^XYK^-O?UMV6QQV7]>DO&M&ZB._<[
M^46IY^^_T7V\;D0][=];%LA/E(E-%P?.^'C[3@Z7(6[;LC' JC%XJYMVH_JN
MN5DWZFX@FW3%729\1,AO,1PDF.OAWW@<R(0@D-_$9MQ.F7V'??R68SY"T^@0
MXP[;<J\/T3>(]47[^;>XN.C'T\L1L*O@2WA8<UD!\O&XC7 W&"5^P?D!Q.D-
MH;2KK2.^--;[(C)1<^.>YI9'S4W[FLN#>7K/G_*!KY'^G6EN(JV]W<8$A;A\
MB*ZOZZ+&FJM5[QR\Q47$.*I@KD3&Q_(7J7/JB/H;92X\X.TID/IZO!I837<#
MN!2PU>$E5Y0VG+3_M[P/XQ 7E>:^XK3(#U[NH(??>XL+QFC$O"P/[:T2^^@;
M7PH,X]>*^B@3]4T:?IF*K6;F5],O[T9]33TSNY4&&O<;>#G$0NVO"?+[@:>>
MKF\5WWZC5[>JD10\[.R-2=XU_(T],]$":LT+12V:WJ9R2MPAY(]JUS  #V]4
M64TCJW1A]KU"=(78Y$OF*!FZ<Q]\AT:L.BIOU:!9*>&:ALU* ]^\@?.Z\Y!\
M]^T;,N6.8XTM\69XQ76RSHMBRW(=O@>T;_=^@V;.WYY-J8=OTYQ=YB^D?5&^
M>C)CO>^]4?/5'S%/\:W=)]]^**MN])1BOE4#)2C7FH9)T*S@#5);WDDJSK4T
M3>;J7PS?*%F,VJ)F:8/:+V[4%NIZA;27:]JF"8-("^^A%UIYCZ:V)*?%\6W:
M&[1:MAJXD-VR53^O!;KB8K?'-3YY*C&FMP+F:DJZ3GZ+<ZEYEY3F:AJC8VOP
MHH6N(KQO98BZYL UQ0SHD504,T#'9SVQ*,&[J/RU(OK(_G$=[:R*B6G[>:TD
MII= +"/6MF<K&?LG8EW -6&R*$R2FOXK)QU@ZXE9X$DL)F8!)G\Z<7:HZF*'
MRSN<L56M>D[W9HW0]O*H#WKNA;(Q36LT: Y<3&^B"&6_.:026 !HK (6Z/&G
M )_P"\Z*/;W)B9_S(BN>7EDF;+,2&'MZ5 2S%*)_M.F!CEUX#G#XM6&.-'77
M!4:?W7D_-OQ/_^&?/G[X^,])2P)2KRWU8JS;EDKA3[_;H]A%FJ<UODI?J..H
M)N.?=J>UGS'E$"<G!)[1$_Y2X>TANTJWNI1G\\AZM PSY1=#_!K?+:?W/J,$
MT9%BEW2Q)8H:JHB3190NE%U9>"QT(J)W:8Y><516WT%J\1+H'ZOX$M /WE6K
M\#BW8OJZ!!]\,7Q7K<6H>;I!:LS3U<@\_2:NO_4#RMRV?Z%NVS?HG[55NW7O
ME02=\^RC<G!+@7JB+#PV:WN;+ O63W4O*1GW[F>R=2V!>I-:-63ZQ0L65K=E
M<5&4N^B./RRW6#BUO0$60;TTR@6MUXUE[$*L([J3/[#W>WOH)M)#44<99&:
M"?A2K1 6X +5EY:G\ZC,T_RINL7E_7-4XM.H2F,WY3&0@M4DDYRN:M720800
M8I0VB-$*1M&<)99Q#ZQM5NBT4#TK: :IAY_2[$!.MLMH8D<L3%T\RKJ$-C;4
M@M='M=0*"0+5R1%29VCE"*;^]%*1L$RC?,H>'C5,S;4ZDQ]KNCFFH5I<2Y*T
MBK.B.I3XIT.:1'DL[,1G2C#,1;AHEO1&A#WIU+YB7E0(OK\M/(J2X"UU4"TM
MR&="='?8":+LHU?PV"&#+H_-DT&19Z3@N,SCDM+\A/E_+_-1!69E,@V;GK[2
M8EA)(0:<\\:H[84N<TGA9X@T%?/D2?.0BK#;(VR02\(SO*RR0DR:ECO<F.H*
MV2*.IT\9Y ,E=A<H><,)X?1F>Q7ENFU^OY'/^]P^;\+M+/DC50'Z9YA]MI:]
M\V_[**_HRT;"(_Z65FR)(EC9I15,*1'UC NWGL)T+[H$R9<[37$A)Q)PBY).
M+JO5294M>(U=V915:I* 9+ERV&T"KEM&6!H6,#^8G+B2N4R=:4DKU# %6L3:
MX@WWA\>_XKA^*&[*DY<HS>@M*#GE#X4_(<98L]9-H.5Q29PBJ;**2$,$U04J
M2M3105ORK[$M^H42 [T:G#S)X^5M\@P'"NA/Q2Y*!5LP=>1::J&"NI-V&5AS
M<F\'V,/)G@7MX4S/V.)]CLKLL2B+P]/S9W(:C>)G<BZM-6'E5KU\;>2,W N>
MIV,'-.@!%/KA2PIO>S,[/ VV8W9@\F? KS YZF.%8^^V<5%^.N!_PU'Y0#ZL
MBQ690,NC\9XBZ1B+G,9F;)U[=P0;U)+:($(,46J(D8.*<EQ";@*>WT.N/)-1
M.EYW)D,T/(V\QM_JAZ\X>\&?B[Q^UAT5II,,4#\E<D]14[+I>L1$6=-DPY7T
M)@]>12U$)Z#Z\!8T587>J0JK@FYX>LM,R]=BJ7644@I02X]2+K6&?BU"5T^U
MS 0R']^"5HZP.6OU/ (S3!V\('!92 DYJ4"UL)%S(36DU-Z"'BJD)KCYA[>B
MB'V SM'$/CH#5<7T9:ES)2<5JBIR.9=214+M3:BB7&J"FS^\&57L 726*O;0
M&9XJGFQK7"ZHCR-Z 2KE6.+YFAE1BF]'/TT#0!#U1_[Z[AF7F GW%G16BN2I
MBBN%<7C:NX#"!JFC2ZCE\O<<-#IY*2642,BCG[>'^E!BM&LBB,.)&W;%Y%35
M"TS;ON0T8K\XY#5.SK_%]*'&COYKJNJIZ86BAQJ)IRAEGQSB]! G&.1"Z2C]
MGU'$_DPC*0>ZBLHV4HD.2TK(D7^!%GJ9!7,G;39AW*=J$[[.BDJOKET;KRIX
MY$P$%E,B^E>H5<S(7"QASB^:1S,K(G0TK5#/Y0SPDS4&>R2GF'/!OJ\#39O
M=D=^N4V&!JL:$/KG5J[P5<1 _24J6=(=*UP:>_B*?=)R/9[QMK$01">;^G61
M.H/Y<3 Z%&XM43.(<O($&:L8<Z?1/^DV<"_M/!Q'?X/PMS@[)&3O2H=G]$B
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
MWK(CE!E8O*N"339>A$9#B[((A\!-S91T/_NFX T&1%)?@,9@56E\4R%KR-R
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
M9(PR*-+P?6EV*7A1JN8J=34PJHSD-V))/RDB!(98Z]'P(YS4"!-DJ0DBAE4
MCAW_([U*BGF>WT]QZL9MA.#0"32S<^;:!O@*+3 WSD _[L(E:5(FT;[*;F;Z
M'$3Z!.'$R?!H[,#)P!@4UQZI69C)M;J-L+C6:#:9:ZR%8+DFU8]SK<.QG):D
M80_T/[[??/?==Y1TH>8_Z3$Z@7]]@ ; OV9M1_ZMP-MCF;SCSC)O$A_U;8;
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
MCT5_^M'FM>JK>N2 @1ZCNT9X%<B@L2/I"_JZ6\\IA"2#*:2&I##%$]2$\.E
M?+ LOZ/?TZ>T&-0%FR+$FNBL;54+U=6"\S,4 Z0VP(K1"01LEHZ(I'8H@#.>
MX,>0"VZR5PZ4%>R@7(#J;(-RWUA1UB.H1)+*3FHL.ZL;GC<Q$?C39QQCT+B%
M% !#^$I''R+S_A&STRH/45Z>.E>0%!].O5^,D^NMV@/)G[?36)7I795'K$+W
M"B'B23Z?!C\'D@3O2/O[H?9!I:I/ +4\&WT"HGVZ.T+A1CNC0E]'5]6KHZ/5
M8^SE2-@70#J -W7\>FQF6!N[:V9 \\>:'Y,TRY/R5#]T<?\Y):/ZFAP>,$%#
M6D8O^,/I(^D5NF^0[<GW7W@1!9UFM.F19W,T'R*V7ZQYTV6#FD91VRJ=$ <5
M>#$8@CKN!]35*VO4KY^)06])FKP=WR#9.QOS0UK/!KS'\&R>[7!!PV+1_@8K
M'XH9%_49?AW+.?+ #GA+[SA&%]N_'9."7<V_067T!1WH,[0Y7^!':8PREJ:^
M$Z20>(K&^E'&:TQ6@J-1#%8"(G^(?XJ^X.(A.E&OE-^VH#K8+RSM$?=B:4>W
MF-)2J"JVJ2Z1 +J\QEAB=."%(&&K ,,0N0HD^ ,OO\JF$B6)%< =E?0(VK&4
MXP?"V85,-6Z3T4LW?K!J+"@SO (Q?6)5,O9#G$H&'GSA/8@*:'>WS!N!7XR+
M=5.O8V'3?Q96(X#%MP)OALMP!=A@V&2P23<N#,0.Q19<#S[ J4'.!(9"O&X_
M4 8(GTO,)-TFAVC/UKCZK!]A<:]+3:&\XY>$JF(\6@.=X#-):-@5HQP6XU6C
M'!,>MP:/ST42)U%^^A31[0_V0*C&CU'4\;G%IY!\%'F(^!8>?^45?GK7]OIH
M?TK7Y1X1TPKP,7HC?^QX%]K)W*2R3PR9Z*(!4P!SI_F0C'!E/!Z3 5;D90=<
MY&]#8)%_^N\FFBPQ/8(R'F BDFQT/4@3_H<S*](>K(=;VGV>1E5J%X2E?(^L
M_.J7=FP!6:[H2>'X.KLKY?\>B8N-\_WI)DFCE#ZI>)ONLOR-Q>EE.4+&-7T=
M53;28CCR3274U$*=:C#I/=[5\7;XV!QIO1/'GF%F=,S8U_@LQ>L[12Z15>T@
M^'VG2,'1=OH=5%X1G%YA,'Z$07/6+P/ ^<Q?8L#\K?E^R+.BH-O<B6I?N5?*
MXRJN+]VP=]FOZ,!^AHEC39?/YR)2,,;#U:)@@#U>'WK -$,D?;G^0F_W4:;U
M",KZO,13(.EH:5&70;@J!'1]IA-9O5Y<*</!Z.Y)"0BX[,2F_L;_1O[P'!7X
M__Q_4$L#!!0    ( ,Z"6%+O],CF@:   " &"P 5    <F=E;BTR,#(P,3(S
M,5]P<F4N>&UL[+U[<^,XMB?X_T;L=ZBI^;NZK(=EJV/N3LA..Z]GG+:O[>R:
M.QL;"J8$R:RB2#<?SE1O['?? T"2*0E/$M(!Z8SHKG0Z"1"_<P[ @_/\;__]
MQR+ZY8VD69C$__9KYV\GO_Y"XDDR#>/YO_U:Y+/?SG_][__7__E__+?_\MMO
MGTE,TB GTU^^+7_Y='US]\O_NGB\_>4FSO(@GI!?/B638D'B_)???GG)\]>_
M__[[]^_?_S:=A7&61$4.+\C^-DD6O\.__X._\)?'WM].X*_P4_?TMVOR+2V"
M=/E;]Z3;^>7_[G3_WAO^O=O_?W[Y?T=?_K_??J.KB,+XKV]!1GZ!5<?9O_U:
M>L^/;VGTMR2=_]X].>G]OG[P5_[DWW]DX=;3WWOK9SN__Z\OMT^3%[((?@M7
M4#:CZ#2B<9WA</@[^U=X- O_GK'QM\DDR!D=M>OZ1?H$_=MOZ\=^H[_ZK=/]
MK=?YVX]L^BNE09I$Y)',?F&O_WN^?"7_]FL6+EXCNFSVNY>4S/[MUW1.8DK*
MDTZ7C_ZOEPDP^B&8PX-TDJ^/-ULK3<EK%,XI]]-7QBCZT.^E0;_7?3T5A'!*
M1>@BB"BAGUX(R3.[Y4@G.=3R'H(4I/J%Y.$DB)RL=6=&APM_RN&_=!-F][/+
M9/&:DA<29^$;N8&U+2P9;S'M@2 \Y<GDKY<DFL)Y<?7/(LR7+A"(9CT: "?2
M9/6*0XE7D+U<1\GWRMM7,MFAE^N< ;*9:P*Y3^=!'/Z+?5%&\?0NR(N4W,\N
MBBR,269%=>U4-9?Z5"P6\.$&60SG<3@#^'$^FDR2(LY!CW@ HDU"8K5BTQEK
M+GPT@0V3A4PWL5G>]KB:B[@E\*6W>OUZ1,T7/Y(W$A<P>)( D2D8FT6(1M?=
MNRF9AOEMDEG28WM<S45\3I+I]S"*8*/<Q* .SL-O$1G!U':*BG*: ZDJGT@>
MA$Y4E/5,-1?*U8/GX(<=/[>&U3V;:JD0!U$5%HLP9]\.D U@ #W1X+V6)Z1R
MFOKR!4I_3B7VB<1ADMXEN>WJQ#/4/J_ABEE$5%KOX4.;"G11>@K8'>6&4]9<
M^A4\E"P)N8!;]"S,'V"O6:U3/+[V%X !!\4E7SZG,&,PL?X6RN>HNW-)1"8P
M\W\4,#5)H^5U&,,!%0;1IR /OL9! 8<^F5IM9],ICZ(0'4XQ<J8@F;WN.8!]
M?@ 8ZWD=:GGV2Q6-=J+QV2]E>YQS[<]^0?(Y'&J"]LL2C3Z<5FB_/H/)#JHA
M5J"HT7SNM$7[%0H&.]<<*YQSTCD.HJ)58JQBGN.H:U7.9*N)CZ.(5) .NXF/
M\BT?3:?L( ^BFWB6I MF-+*_6#IX65VXDQ<R+2+"#73T_W0#O@71ZLKT2+(\
M#2GYZ;]50%AI_KJWB"P/%U3LOV9D5D2WX0S>S[\<]@@,)JNM8TP2D.<H9(R]
MGUT$63@!VGP*HX):45^"%(1@0:6BPOJKS.YJ#SVDR;28Y"L%*+M8KGYQ&\:D
MQFXQF;8FA >23D!$@SDP>_6>B^5GDLS3X/4%Z)>2P!Z Q:0UE_^<Y$'$A;3^
ML@TFJZOJ)_'\%CY*4U=+-IS0O9!<I\FB=)A?%ED.G]FTPKZM,+G#&Z"C#YSQ
ME Z73K7P<$J#,.A-B]I:9B2%NTZ]U>MF=0C@.@C3?P11 8R_(SF78/;OM4&8
MS.P0B.#3"1^>S2+J83&<W"&<C:KY5+S"4&I5#B+X]%Q387:V36S?XL3*XFB[
M&TSF9+E?J&\6WD&R^QG[S6T8? ,5A_ZFZJI-YG2R>'=^*;/YG"]:$^?B H?A
M*PX+;1VQL++=/R?WK^S\!]6"#70.U/2%3F!OS^U@ VDG='6K^!1FP7R>DOGJ
M1K-S':!:$O7TI<$DS_X(\Y>-GG2Q_!+\F:1N+B$'6(4;6[4[%?0X:N>&HG!3
M)>$;,^/0^RGA"E9I$6)ZUN!AS3<Z--]OEC2*X 2@9SA\[\L/P%]7EJ&LM.H*
ML0SN7NH0OB/]PWC*NDM_">(YR6[BRR!-EW#DK93JM<NBPLH-9SR<@\9^S0:3
M'6ZYCB2FZAOJ7BL629JO8@VO?KR";D.WWNJWQ %O*K[ F37Y)H8S-$_22OJ$
M<IJZ-AMX91!.5S2AQS[WC10I#4NM2FZ;66L#2$#1RI<TMB6'%U%[^BO5(*NL
M6C/5@?RKKD[[*M,[DW#X,*8%F=92G$UF<^(NOB! "%+R_MJO53-175'A.V6M
M@JV$,5_66K+%I/4WY5M(D[7@D"W-?K'\'T4:9M-P4DW"K:9U%U?@:'^:SNCP
ME%FS&E[*#]U:V]-V9L=^P&M"[<T1-1$4\ U</L(ZGI.KV8P W]_>-R']?7V_
M8)6WN;KYT6E)7J1Q]D#2,)G"S>3;G_!>>/^/8!'&;(D7R](2F:T73B*XEE*.
M%/E+DE8]A ^X"L<2\35.>1#9OY@@KJ)<'3B%-1,[CQ%R%3]A-[$+&!=!1J;4
M) F*7EF[KKAXW72N(B'^ !E]@3]';R"[<ZKU%XM7YF^H$1&AG]35 7'/IAW1
MDPB87&./BR<ZS#*W,MV<K5DXJSL3W#H<ATGGUSC,'1#=8-8C '#%#MM7'"X3
MQMD]JMH;Z@+;MG2)8RPKH+&9]B#QI>ZNM[:3.S%KWL3K/Y4!I-3*RM];U=I9
M^44'2#)RQ#/KJ0^4FN0(3J7I#Y2:OG(OPK^6W@G*]U4P>:'>-_(6)D5V1362
M5:1PS1N?HY<S<H T9S20@PZ[!?1;="$_<A)/:4(5_RU=B57-$5;T)9EL31K1
M,BM)NDUM.F<&D[)B*AF9_&V>O/T^)>'OE /T!\:*WTXZJU(J_Q5^-6;O&7W+
MF"-L/5\4?",1>\MX[YEQY_SL;#A803_<PD; G"EET'44S"4+VWJ&+NR\,Q3P
M9)1N+S)()^L)X<<]AFP7HUD]\?LK^_K_-GD)HPTO9VFRT)%I]>)$M^HB@U4D
MKWSC_?I+DL*UY]]^[?SZ"R#AQHE;#EZZ4K9,1J&#,V==Y^@9YI7PIOS(N#_H
M]T[Z_K-&N&@Q9[I^<^8ZS$!+_4\2I-?PFTS#I)VGF5!VSYO#+]GZQ:SK-8%U
MW$IESKS2\QQ^ TY"/0(Q _M^,O *[E;Y\I+0J!+0G:;DQ_\D2PGSA,\RV/U3
M_QFG7KV8::=^,FWE1GH_0:[BZ2?0#66ZD.1Q!OZTZS_KM #$W!OXR;WU"<+/
M#C7KA,_RKWS/?[ZI5R]FVIF?3%N='EP0'\DK#5N)Y\PW)?O6J89P(C3GU%2#
M$'/RW&=.WL1P)0Z8(Y$F[:X *CDI'L*)T #%Q0B$F)-#GSEY'4;DKEA\(ZF2
M>^^/4;##7@-N=M*%2^[=)SZSZ9',0XHXSN^"A>QS)WJ4R^994]@E6;R$99[:
M2MXE+[V$3_8\2=5W@JTG&>;3QGS;Q&N7\,M3"\IS&M#2WT_+Q;<DDG!JZQF&
ML], %5*\:@EW/#62/)$)3>1;=KK?GL,\DAU^NX]QM VXGDD7+F&3IZ:0-8RK
M'Q/F!51\IT2/<M0-4"N4BY>PS%-#R%JGI7ZHA/O#F)/LDF8(I<O+9*K6-)0C
M.4T:\QTSPR+AKZ>F$H[L.?AQ,P5:L70_NG(#=5\RAM-AT!2>ZE!(N.FU#64T
MG0+9L]4?MV%,.DI."I[G^!MS)5 AD'#0:]O)"L@E_'B?/B??8Q/^O3_-L3?&
M8B)?OX1W7EM+5FC8]^$^9>D<O'..EH$[0Q@5NB<-XZ(,A,1?[K5%907I(<GR
M(/K?X:M6VQ$-X!1HP"7# (*$B9[:6.B!0DM_*=A6?H2C;,"-7;AH"6L\-:=P
M67MZ(5%$ S^#6&W]*C_($3?FTB!<NH19GEI75D 6012]=\91<:O\),?<F/N
M>.T2?EF;66B0*+D](M.N%B2=A_'\<YI\SU],MIIP!"=$8ZX#:@P29EH;8([(
MS-N$1D*])+':#[?[&(/<:\#>DRY<PBM/C2GK:(Q1'!=!Q'WYFK"3\J/CT\&@
MTP0%1+EX"<L\M9AL8GMIJ@-+<#!BV^[C7& ;%!LK!2!AG]?FDG\D40'D3KFG
M4:V<[#Q+Q?:D.:Y4V>HE7//:4/('*,;_,TZ^QT\DR.#HG]YD6:$Q.DO&,#J<
M->:.K4,A"5#WVE;R4'R+PLEUE 3J&*_2<QQO8_:>:.423GEJ$%F%&B:+!?5?
M)9._>"> ^R*G[;UI%( ZT%(QD)ML.TWAI1$4"7,]-:G<3&;IB):13M)1GI.,
M4U^1)R<?,#[O]$^:D"IB $'"Q%JFEM]W<SL/E^\I:^IN)4MK49H%V3<&J\A^
MFP?!*Y<G$N79^C>[@K7Z]7B3&'L_V[3B>4BX JG($[49/M[<?#!PL59")@C8
M@^,>DEO&FJ#;>T:!QE&FZ3&-(F0>1"NGQ8]0IO7O/#7&,D4J2"^PAP@6[2CA
M].@FR$_)(@C5#FS^R!@SQTU$<9GR4%JNHU32ZDQQ> 3"1XO<P(^BG21_>(RE
M)QAO*,W:'2638K)P5;Q8_QW>?G#<18JEU'!$S#[!VAVEE.*S;ETTV)2#.\^/
ML=RA"MZHF"A:OJ,$4TQ>TF8>M)K63L?#?*L\E8*W1N/'6%9F/0O%+#='Y2A=
M%5,$MGM;*GB]_>"X/S@]Z2'9+ZLR5@+!4:HJZJ&\UP#CCN3R!%:38>,^\HW1
MEKM:,(X263'YS K/E;J<?$Z3+-/S635LW$>R@5;ELQ:,JU183$9_C;^%443;
M_&QPZMDL'S3N=8=HCHNJC#: XRJ%]HVDWQ(T9J\;B"SAP%*PM_S8N-^P;^_>
MXEUETV+NTNV.*NN&*END4?#38/2XCQ1<4Y7-IIA<9>MZ<Q,VO0&/^\@F#&NU
M:F_UKE)X<]JR&VWG2KH*J8]@U;"Q']<A YN&%H6KC%_,W;G;/0RP7?V81 5U
MF*\;JBD_MOKAXYX7I[,!QXW1N,H%QN2\ 7??,7MQ&AMP<&O%KG)\,;FDZE4$
MXGF7Q!/ME]5X#I#M[O#4BXNN :_M8;E*&<:]!VTW9WZDA<KO9U\S?F:IS!NJ
M<>/^R?!\Z(4)VH#U9E!<91FCF[)67R.3O2Y\?HR5*V+/6.GR7>49XU^%M'>@
M<0\I(ZNBVX^MUU4*,>9UI_0! 7U?T)%,[\<UG6*,E757R4=OA<I5QC+F3BT!
M-O?ARP>-L<KK5V*@5@9$Z%RE/OO@'WP(EM2.;NX9W!XPQE:A-:Q2.P8%6/#3
MI%UKS6L*+0V\@LJ!5-D<8M58K<5O0URNLJIQ[TS[/;F--K=XS!BK\G_=_:V
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
MQ]/1@C;%^I<N/UDQ"EB!?% =CN$RWX2&&*YJ0J(>;"54][/K, Z JO&<>>0
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
M;Z*%GGV,?A.],Y_Z33"J:[70LY_])OA7_\RS?A."S:5=?PNT4.7GPD0!-9N
M$LR7:\<N%\5,M\+5?+73J%%MBQK6-LDKWCE#]HIK26FF/C(<'T9]['A37J),
M?@/UL2.WE+5*?>R<^>01[^R7XI8L^:?Z2 GABR5+OKFTZV^!^O@U(_>SJRP/
M02\B*B9N/T@)X,OE>I<K8B8*UW\HM>^(#+P(LC"[GSV4F1!/:_<AKC,M):XO
MET,SX7" 5BQ*@R:)TG62$H!\6<!JX\FVSSN>LK]&C#;\'K$TD:/*<U*R^I*P
M8B9$=:&*)>BL21*TW]S-7%*T8RF9? DK,),(4TABSI\?A_/IG,2,GYWNBIOT
M-^/',/N+RNW7>$+2')37' Z]FYBIL_#3NINGGK\U9J/D\=#H).!X?9!B&1@V
M:?=?!MD++3 #?]"LS+<@ KIECR3+TY"Z1,7_SLFABK:L,2TE+G(8F>69X0"M
MQ$)STB19N@["]!]!5) O)*#N3DI #M)"]S"=@]+-%UN/H:YA"4TB$D>TVCDX
M7E0=",VEPF::\7FW.SAIEM)1"9]$/HYH+JPO'S<Q:%LPM\4)(1L"!#[WQ3YE
MQG4-$@E_&V5SO$T"=I/BS;%!J2;P]?L6$?;WE:RO[N<J=<)FFG&O=]+M-LO0
M50F?1#ZL39E3,@OY3>=S$4YIQSL'5Y'19)(6L( P^!9&3)4VO'5H!]+=X4O9
M,X,+ABD>"3<;9=?<],FQ.<W%0RA5?*F_97J:*Y%(^-LH8^-#FKS"+7E)\\ER
MFF8&EYE7.TW.= I*M6:=X9;()/+0*-/A59#&\%W*'DCZ] (T-1<#S4A*HV9Y
M(\P 29A^)*NA(S<RF5.R/)+7)-TX5RST=Z/QE%[-\B38P)*(0;,,APDHBG&>
M,K90*RJ_P]*?5!=Y^2A*FX;=VK5@) $]C;+J*7K2FV]Z\TDHY9KA/ZB,32(5
M+OJ%'_,[0#]S%W _G9:+#]R_KASQ-VQOA&^$%1_0WO KS$:IV2P_0760$I%I
ME*UO-&6U_3/X.%XFF<WIH1G)+2+-TA=-(4D8;VT$K&?D<2, =^1[*28G36+X
M<<)HEMDJD;93T6W4+&]11802>:D?W^A95@2+ &U!3L2P2;WF.D-D!5U+2LEW
M5X3CX^1$#'WY-);)O\TI^<(_0D[$T*?"+HSJ^]P1++D%.1%[5_B+Y05\D%[@
M"_279(^9#J5$\L6"+=]XEFA:D#VQCW2-4[IE38=2(B$[K0SY:"H$0GRH&1@2
M?_-3$%''.8O=S:A%)KLC^1>R^$92 4-U0\:G@_XY]F?3D!L"G[,)LA;D/M1/
M:!OZXF/0']#2]:.F(,AVX^2%3(N(W,_$H:_PF^WH6(9?&QM2<]IQ[V1X[J49
M8+A7!L,I7D>Y"E7MS5HA6;O.RU[SKQF9%=%M^+:ZZUL(A]5TXU[W;-CU,7!0
M*Q35<+8@:>&=!+MN=YH4. %Z? JC O:$5G)JSCCN=$]\T?'5HN,&:!NR%$H4
M8%?:/\(I*5696:E-UT#HJQ^P3@!Z661YLH E7RQARTV+"3MYGTCZ%D[,,G,/
M]DZNSC56! ]$C#9D3M $Q'@21B'W$<ZX0YE2915I\IS !2%+HG!*RW6:96M6
MFY)N?A\C,^0B5A-I&S(K1+OLO1+E??R9)/,T>'V!,S\E04;;C5*M8<I)=1/?
MQ-/P+9P60;3.D::6]Y3F1"[YCV;17D=<!N6>CZ$C=D?A@:G3AJR2=[*M/A87
MRR_!GTE:^DYLXO!6&UY_B7 W.:6TCX$I)G)8$[.KG!0?I"N#:W?9! ?$8?94
M^M_K8 )OMQ$GB]DH+7TQ3-G)CSW(@Z6]'+&7-=R],Q9:@Q25L*&I03#"WK/
MA^ZP03$(W1ZR65Y&0;/0 [;\#Q-ZT.WYDL-5)K]!Z %;^ <(/>CV? H]8%37
MA1ZP);<@]&!=6J;T_=!$'$A&4)+XDA KWV9F(%H07R "2'],"=$&&&C'4C(A
M^RK4##1GN@B7CY$%HS0GV3*^"),LB0JFYJGC"J0#QN>=_LD0V4)AR@J!YTD/
M##6H0,*_NR3^0O(@BL+)DQD#Y2,HT,Z)AQO0D(,&R'P,)[B*YX"8P+N_)-$T
MC.?/9/(2)U$R7]Y&$S4S3<9R\,A>E!ILM<+H8^'"R\V"0Z+9G()'Q_U!'[VU
M20WVJ2 Y\M8CIPK6#=3J]GQQ<>H57.GZ<9WGVB"<M0!?)HMO8<P(3'UD(:R2
MMU^AQ7#Y,FT#<BI/3;?!T,<Z((RARN"<^IC;X,4N.Q980=U_D>G-%&@9SL*U
M&VMU3$YI_:OW*DGP;\6B4@2/DS<!B_N^7*K5<G=8 K3+%;[&?TUS80ESI>ZF
M[*\]7U&068;V5)V<?^L]=/@8"5MMU&UP2 N4OX<TN:8A39:=W2QGHKO4%Q.[
MF>14 W@PO_+1W(2\M"..@Y"_V\ [N/W@&"Z,G4Z#$I39>I&U10D)C;R#Z_4[
M\@]&R+<]=N#?SYYRZBQ5NS:D8SA-_$I@7K-)PU,I%$=^123VEF'I,R;W'N94
M\$7;D?)(S%L%'$<>222FCJ9_%EG.XKK@4ZRH/:+9QU;S .V&@U-?(HM-]G8U
M>(Z<FDBB\0PO #5_R@%(C;.JQSDED!U?U7@GE@,E2$=.3.RO=T5;+=M 3=K3
M"@R.W)E(G+R%6Q8A]Z_,X!C/F6*ZMOK C3PO4OC3V+Y6839&QZY_U],U>\7R
M4 >HC\[3]57D?B;!1--B+H*(UH1[>B$DW\9F9NMW^I)Q?W V]+ 6K%AN#H@?
MU57KT/1 *QQ:'#3"$7R/^9>GK3M,U&"0W;M:I^!3\?H:,<1!5$I,8O4(KJ/D
M>_9((I9!EVS+O77.OJ,7427,Q_K!BJ/C<#1PY7 ^F'11D%0%?P14Z^XWSR1=
M?,VH$^$RB"9%M'^64H]5O')HV8J9ZS?RC>R?H]!(W@Y&C(-YKH]FK=_O MN.
M@J.G@T%W<SPVP*(/Z^VA&P[TY#2R[J^Q8%KWCY3XPZ#ZD@*[3?UM5JD6CVFF
M/WCF#P/I4>[/FNC[[!$NN]G6]KHV-DJ%@2]7(=7V,L#0;.,XJ%#!?)Z",*_2
MG;G>8'S9-1K//S.^'*?[+!3SW Z:(Z/YP:XJDKH(MO</HVDX4?RK4RCF=RV$
MCBSLN.'METG,U,$_POQE#9C=CTIAEN:&]@JS,7(.??D@F!X0=8 Z,K0+Y.9H
M5\SWGM]886'O*S"X5.X_/#[O](:;2([C7XI+?9)'491\I[;U:SAR-@LUWG+5
M)N3XD=T4"K9(0ACJ83U4Z8JC;3M%MS:<7:A8T+L1V&"#6LTS[G5.3LYZS3$$
M];KG7>PPP&H4-K(-K>%] -L0@^K+96:;^GK;T'KQK;8-,9 >V8;61-?8AM;+
M_MBV(48%7\)K5=O+ $.S;4/O=^+UA\,NGVQO%/^D^,+;?79)^&L R'?K3RFY
MC7W\5]TTQ>ENMC:A&I,S I[[YWX62\0!<+?"?J1(G1PM:-'5?S&67OV@+8/-
M;<MUIN4$]B]T4WW4.$'<!M-2J;9Y.>CP$\F#,,*YYK[?D&S*E2I&489UN@V*
M9:"R.T"^PIK0T_C".O@X%]:!+]'(V]0WN[ .I':[%EU8!TA10BJB&UQ8!]*
MH(]T81WX<JE1;2\##&VYL-[$;X O29>719JNR6)W>U5/P3\V_KFXUXS4764-
MT2'?:QUI;JNETC2&[#)X#?,@HL6%'D#Y#$)Z=[O/7U:NVTR@8*C4NYI3,T)C
M%\2U%B-GJ%MQ^UUW,7R >TI>;F5H(D#ZP9Q8?II(Y")B@>MP]U643\]H,DD+
M4BY/5N'CHYN$$\]/\X;)Y\<8W^$ZOQ[-F'$#?U^0Y^ '5IC,9@%6[GC%J'&G
M>]IMCMT"5HNLGNMI:62SX$ ^3O.54U\*IY;)KS=9\(5_A.8K6+5OY%376"SX
MDEO0?*5^1>I3OVJ2B3:7=OTMZ+92OI+3C\0%F24I>?]@P!]9SOI:KSID5C)E
M5)B9DMB_/'3.=[UUHSI@U!8NKF7J,EF\)C%0,%L3!0BQ<A]>D)C,PBJF,>M9
M*6E]B9BSE:6J8%%;R;B6H[7%!Z"OW-%QS1NNU8R4I/[96LWDIPI0U#),KF7G
M:C8CDSQ\>S^):;V&[0[G%03(?EH@KC=)I[925!EM"THP/16+19 NMX[?8+'J
M26%6X]YL!DHR_PRM2@&Q N:H6),7LO"0K%H6@R[WQTLX>7D"A2Z<A9,@SB]?
M@G@..^5KG&XZ20!I5E_K["9[)$$&-/@6+6&:+#0]>P[];LHF_VRZ1O)W8)(<
MK/70T:S K.3R2Q+!PC/J#%EEAA[=&,S?;6#_W7X0^'#6H$+ZL%ID\X:0?(96
M7GG?M&;U3JIMHSKSS0!\9M<U[<P'.[!377[Q&B5+0IY(^A;2H%P@XT60T5"
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
M4J/,]2*WQOIDOB,YSP:Z5=OMC>< RIT/>@W7N<Q12N3#VI+OQUEC8*LI*9=
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
MRQ#IXR:E^3YK]A?L8ZU68S'4NLCM9P+*^=''K>H.K(7;OU(N]K4$=@'?D=Q
M05 -@R\99E!%56:*KZQZH"VH +,'DFHHJ]^M;+]59$(^"U .N1Z!GJ^&\J #
MV8)Z,@:8+Y,%_9-S,9ZN3<%/+\",BR CT_(#EXFR[>@A7@=;W#>!TPE.9?FK
M2!S4PCCZ@%J.]CU8B@ 2J2*C&S<^/3_I8P=$UY0(.Z"HU7%,N;MR#ETD<6'.
MVO(@UEX)._;V('P5HD2M?7.T;PN+GZKWO6!3P VNV3N^&N V%-\Q0%Q/0(!4
MR(D6QY,-CM59^9[=VN.88E$IDMQB%M"4?/NX5+VWZ$"VH<*/:#/LQV%;R89X
M!B 9<E42E_=9*< VE _: _PYA0U@(P)L ! $N9B0,XZ7\#@K,>331V$_R-J&
MV_NC@53(13"<L5X&KG9]HB&7@YC,J5O<%TD ,EG:M($<R.4MG/%Z@\99F2,_
M-GG)HF]GI!8,!()BQE@=S'4AA>JJJI$G7_02SL]),OT>1A&//0[B>?@M(JL/
MWNJ?K,7$8$X:S7:"U<W<AO,V,F.#NW;=I)J?#HVM<1.!4X)W'?X@4PY'9W74
M#.>6.>0:*O;<KP3155FD1AT=NW]W>83L_GT\&"*'JQWQ'!&#KUVAZ;"'R3:Z
M;=?+8SA_R>]G7S.YI%2>B^U![%C&FL=,);RNBC@=RHU50G29Q&_P%ECI/5OO
M?<Q_DU,9OTMR(^>EU7RP9?PQ3M87"5/ M8M >757%7U]#3XRHF% GL;KH7)<
MM<M';;/]V;O+K+5J 73QQR3I1%_@B&H7G=)P^FB9(H]DDL03P,9FO9^M.J;0
M=BD%B-:2YNH_)YOL_8WLT]^W)GMD>.[@D[M%FFVRFC76E8P;GYWXG"$RU%0'
M4Z+Z*#DA9R=>Y- K>;'-1"F*]F>!G&'EM$IIOL^:_07[F 6B$+Q;X]*(BK%
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
M:GY;J:XBP83D*4"/.#U!;_-5&PWW"M/8TA-E^@KI<X .<=)1)75&C&]+15J
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
MPJ%,Z1![( GIC1)D4___+$M?TC@I"F@&&+^R9!:_LI?UC>=PLP?,JSU@PO>
M4<F*OZ'!6_W?65IFR\JL*(]@Z^9MT[/SLV/RA)5R[@7'B8[!L'0_A<BLNPNG
MS(2D>(+C3YRHLMWW85^2 =P>V17P_="I-!')'N/[(>)\D'+:=*@6BN1>\J*6
M?/],@F4*R]J_6<2/DT:D"Y[E,!%GI6O//"[7( I4?UD-]3I.@B1D5?;F'TQ.
MN_ )#@IQO<YF9,ND&49!Y7?S-L='P\[/FW'YB3.6-&%3((*UM#]I$2R(TOZ(
M;+T.9?RQ9P ^'5-_ IL9@$?$MR6E@)H8@$=X0*>_VYHFEJM3)VW#(TU[_I80
MY"9BURQ7(Z>VI%M,&5NN1N@FE#;BA)M/[KCYY)&;3QZX^>0Z?F6K7'V(Z[)D
MCY75I/[O=5IJ&*RLO60ZFDQ&(Z>,$0=,(W8J^QBXF.+H\>]:T-L$1I]N"1D\
M,RTYX4&Y/ME[ _!U[M370T>5K(L_@"1-NRC>LX@M*WD F3A571%6/\S)<.K$
M;+K+D @U@!1,<ED-=R#BQSE83IVR)8PV48@=*0=@'7\HGW+V5PF27KWR^:(N
MS(4\,1V=C\=N;435DU\EB]\IE032J:MG8<_4F! O[BJ^M%G>D\FIU$GF/ ,/
MU?6<NI@ISTB>)DQ].TWZ7+5WGCCEY=*8SUH2N95@R9CN/=F44UK8O@:#NL"2
M%EUBJN52D65=LG07*5TNTZ0JLZN\5'C0M@:!>!,FIT=,*2Z)Y]F:;,:7C#Q;
MDN62V$J@Y,ZIZCH(F6%PR>81CHI3)KM]OG0X/A#'5@HC=TB^26 L+"_NX?M5
M?<2BC6E)FW99)QPYI\)1FRB"AH"V4A51JL9=EH:,1?DU0+AE5U2$)DB>XM@X
M%6"J1[Y:(EL)C]Q<"'B4AOXW_>#)Z=G1$5DFQ6XF_:Y<MK(JN</^]Z H,WY+
M!F35)G[[(<#US"F361/&!0+9RL_D#M5;"QKW3.;S=!'M5&KCIY:[+ [98Q8_
M/TM/;"U[YA@[Y61IHC1-I;:56,IMS7K,@BA.GK\$;_H?%$4_'#\'0KKL:\VA
MC+:22EEU]Z."P <SK:TEF!]?X]'I^/AT0IUYQH1?8\%L98YR>^+#[_)5_>$M
MO3YNM0@@??+)XI'"V))W"*FJ4 SJ'W.0[9YSV4AO]OO@N'E_*E'+1YOHJC>]
MJ+94+?6B[H/CYJ&5PE2^(63*0D-:N* -+)=H#QPSI^($F^B$2CI;&;,H->+=
M2G/UBQ<OKVQT5[_"11G5%T+YY<"*.(E*Z';!@R>=B@C3TPE#\6PEY*)4BFVQ
M;F?O%W"X(^<N8\NX7$JT0?DLQ\G#\Z>N7 C_7ADW=V6MKX^"ME<72+6IWWV,
MH^/A(4-#)(1PCTV<VY;[J]F,A<5.R'PCSX:@'XZ?]SYN/1D1'?'*6-GLIO6Y
MAR=&@0C(5;2>+(GV";P.XJQ*MZG)Y+H]Q\/#PYY,%H1;8X.BY<2WM]6('M/W
MQ+V;2_&U$)+H(J/GZ[MQ'DW39M(A+!N;^RRS_+Z)O!=[C@_:5/*<>72,PB5
M&#$VM#5EI&-3VR>6L%D<QL%B8U"Z9MQ%KK^#TNNN1M3#,U4K81'UH;W+NR5#
M=9'T,0N2/ CY(*LSP^WL6QP\5?45UB'1V+1OTE>-CD<'K?:2(GI GK=>*=->
M9'QS-=CKJ$;&HY-52S$1!;"1 K_'[\A5D"W>[ME+\,8!NYW5M]$5ARW\H0H=
MJBK=;;X)&B(AA'ME8MNW(H09X[O8,,Q*%KT;%0PL+<+G:\0\VMHWDP[1!V,+
M'.T"4 6ZW>0Y2/BES'C!M>J>^<,<4,XWVZ"]^A@AC[B,F?QV9YN.:Y0]].59
M$AM1+F/3G9/*59E!.M MO7XKC,=.76-KI5J&4B.YB+RR*7+T-A*OY.5+]#H'
M6&6%4<69Z'11X^9IO+.1@(AB]!3AJ!6VNC&PW3-^H1?F@%[0JN#!ZEX(525W
M2R&K,K$0.@<2:+B3//QV]CAGZG.MA5[KR3(DFY>!S(A&>68Y_0KS)/^6YCG+
M;Y.K7[PF7AGG\_K8ISCX*I^ML?+P_*LO&:(%^@90/(%W?_F?Y[RV_$WR_G\X
MXI7+<L''<UO,6<9U/V-SEN3Q*^.HU%F@:7)![PP&#J7IDOU@?*8&OS020VL\
M#8IQ<=K_1)2"7H^40Z]*'VW2#9>4NCRR-A](:)"YN.39IWLK/TAM=&I SB[+
MN%CD2:=[J$LX=JHNX<5!)2MDR .H2]A-"C? D#AHI_6$-!%T !4-[>1V SB(
MM\ Z="&.((E$ TC O#4A*E?GHF8F^K/,JTKARG1O>AWPE9'XE"PC4KFU4HMF
M*1TS[5E8<WE<'R';;\.W3Z,7Q!IB[>/04/8AI&_F+@E^Z1G&@"81P!MS((A]
M? VYDWAH1!):2N3\4OL2BR KB B78?1^CKWCEU> Q*+(XJ>RX-/G,;VKV)!H
M1\N>^;),[-.SJDIVX+"46-KO)69,G.*J^R5FC.>\,O;KUFO,54)CF;U:OBS2
M-[8*Q2WN%K /<Z@N'Z<.>*LU*(GN61%GU3G#J%B?02^<W N"21?.650N&+?]
MU[JS,^8LXW9S/N(_XF)^DT3Q:QR5P>(NA5&OI5EQJ+3@VG\9H#8A/H&:<XS,
M]Z[ ^3A68>HJ IU1J&,[Q@L.#,IV?'Q$])''45?9CJLA#\!V;$&I/[WQHBC(
M_% 5!>O\[7Q])K9C][2$] _J &SFU9Y>#,(&I,]I4GWK<QP5I;'=[HNX I#G
M_NU+S21G;-N DCH)T"C*&1PNHTH4;BF L8V.CO^7GZ[D)3R5#_+/&'%P;"<L
M[BJ,$1;N%6K,LV)K.8-_[2]E\*OI/9]VR,=VY^\<(>HZ;/U\#D5BNV>TUV<7
MG>M[+;BH1('1(L@14G;&:LG WC<MW^,D7I9+*3$[;?@:0TW-#O"'Y(C&.P [
M],:"PU?\]]*/DNV:^ $.&['?L^?#A!0'6U9KMS1#N97''N&H$ >H2NG297A'
M&EO%$$F++'%O39I4_HC51G U Y01,ZI'^1))O"(H"!2SKBF7K=J)[LSPAY<T
MR=/L&W^?VD"E?):#_+',2[J0V*K.N'!0:PP_$<*G.4S$$>^Z5#90A!T9;=5P
M)%*%ZS1C\7,B-;B@;?E"ZM2F0$:4F&A,)EOU%ZF3L;5>-+]IA%C:? VWBQ)'
MWOGGT]A'C[:>I+ZMET^[]\":JT7\'-=)S2Z%297-.^&PDV=JL4ZNG@58B<HP
MJDYN[^ZYR-L0Y)_>5@C(BPYJ]L&_#.3)63K6IJ:@=%;7LK?XOGM6Q4'>!5GQ
MMI5KSZ48/W2(ZL ^U:.<1M)H/FR G]YV_J(=L&?0'\A^3&[FT*)'/%?;"/UA
M8NU@L7-E4VG.TF' EEB^CQ!.=TQD5\!1/V1',&3WPNFTW("/<<%5=K.ID/CA
MA6VY^,0F GLS3R6E>S%CS4CF^\@*$0[./'YY3!7SM$$O'#*B2'@5C1JD:\DV
M@%O9>C-&Z6C0[80#1YSXSMYJT5A\]^*T6NF-AD-AOS$'@C@$U)@U-?D[LKD7
MKF7N>L[B)(Q?@L7MWPG+U.YF07,.!K&%#F4(<2[C4I"&>F%E%QY9.$_21?H<
MLUP>4BMHRHO,CT?$%]8T"5+*X%ZHE^WPU^,C9SPG-K;:^Y(Y&)+518CK\3&1
ME5F$.<+*SE@=#*/J+,;UF,B,)$;^D!W1>(<0Z/2IS..$Y?EE^%<9Y[%&>!/R
MQ/3T:')!=?+L[I"ADM;SB"61>/S'C*E#6I7/UB 1QRNI"-2G72R;6W%*6NMS
MM</FUA7)[F>GS?3TY&)"76'7[AY(+)^MZ"0*,J5&Q+U6M<"$GUPQ_!*:]L9M
M*Q#'F"CD./CPPD*>?OTF">6'P8.&/,WZZ3GASA2#6' *Q <_A*"7A_(ICZ,X
MR-X> K[,5(F75.EPL6>FH_,)>:H[^]LAM;RV(E:(-D1;8OT(EO#C%EK*'9'Z
MX0HFZK1U:A(1\O7%0[3 V"A$%L@OG"[?-&)V58_RZ>7,9>J.73'[0B-Q%%[=
M_?L>)VD6%V_OU2'7G\\[EH6<S&?VZ>U'FH0\KB]=P/N?ZR82G6G<)^!ZXJ8_
M9Y]ZL=ZT%1Q1*+\N&F;I#$Z:E0C73%H%<;]I?0@EORG20@%0B1!FO;*M/0:_
M6'X7O/'E\W.9*=+A"EK7+A;BKT4K?F5"(11[E0JM3N:ZDC*.)/3NM:Q1(([)
M:$4M)A!":_MHK?Z*A?'+;HLXXMBLZTKDM[/;%Y;5D4E;(>O7:785A//;V5W&
M7N.TS*_BYWGQ?R5@"@+0!+2OWKYXNXZ3( GCW1A[D\2UACWQS_*9!7.*]+58
ML+KFDS#&4^(#6#-4!089;6D_3CSZ"9%5TXR/72YQ23Y"Y/G(J<CS$YW(\Y&_
MD>>PXX[*L+C-'ECV&H>R"!A1T^G)>#2F2K7=9HXI!;(49-ZCZV<E3GZ91"N!
M<JD3"&U?8T T#97$H#Q*!+$4(F[+/23569E5T>!IOG81^1O:S$MS"0<1QOW*
MDI)= X+O>4KYS8?/95[ F2J#H]6BC'B-;EZ>.6<1G+*D)F?CWKB=Y?S4V:W2
M/N68U;FYW ,($_^:I7G.#6BQM(+YIE4E_(CH[&.+=)$\[N4"-29S95M(GJ]^
M\0P$4C/P0=L:""([H2UB<:G<"S WIO<'*S9UGR34[K2K 2"R$=JB52R1M=I5
M*0_.>V6/E"5T@RP!M<WO6/8P#[3,:M@C-3Y$21-L,:X4SE9<.VT.L'TQ/P5Y
M'!IP7K6O,2&.K%02IL?SKD!#"([?E_!+O"@+)O/R($_4J!!GRK!$\[Y(MB+@
M]?P]_\7'^!3D[+__ U!+ 0(4 Q0    ( ,Z"6%(GCG<$4P@# '2E)  /
M          "  0    !D,3 U.# X9#$P:RYH=&U02P$"% ,4    " #.@EA2
M.MHR&O0#   /*P  $0              @ & " , 9#$P-3@P.&1E>#(Q,2YH
M=&U02P$"% ,4    " #.@EA2/R(TIL\#  #Z$   $0              @ &C
M# , 9#$P-3@P.&1E>#(S,2YH=&U02P$"% ,4    " #.@EA2'MW-V]D'  "6
M*0  $0              @ &A$ , 9#$P-3@P.&1E>#,Q,2YH=&U02P$"% ,4
M    " #.@EA2EF?FF,X'  "4*0  $0              @ &I& , 9#$P-3@P
M.&1E>#,Q,BYH=&U02P$"% ,4    " #.@EA2ZWRLQ#D%  #J&0  $0
M        @ &F( , 9#$P-3@P.&1E>#,R,2YH=&U02P$"% ,4    " #.@EA2
M:BL-F7>!  "PKP  $0              @ $.)@, 9S$P-3@P.&<Q.6HV,BYJ
M<&=02P$"% ,4    " #.@EA2[K9O4YD;  ##- $ $0              @ &T
MIP, <F=E;BTR,#(P,3(S,2YX<V102P$"% ,4    " #.@EA21N<Q;[(3  #]
M+P$ %0              @ %\PP, <F=E;BTR,#(P,3(S,5]C86PN>&UL4$L!
M A0#%     @ SH)84D8CJ?J\F0  (1T* !4              ( !8=<# ')G
M96XM,C R,#$R,S%?9&5F+GAM;%!+ 0(4 Q0    ( ,Z"6%(0>N!U1+8  " T
M"P 5              "  5!Q! !R9V5N+3(P,C Q,C,Q7VQA8BYX;6Q02P$"
M% ,4    " #.@EA2[_3(YH&@   @!@L %0              @ '')P4 <F=E
H;BTR,#(P,3(S,5]P<F4N>&UL4$L%!@     ,  P  @,  'O(!0    $!

end
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
